기타 (Prepared Statement, NoSQL)

Dophi·2023년 2월 22일
0

소개글

면접 대비겸 여러 블로그들을 참고하면서 정리해본 CS 지식들을 포스팅하고 있습니다.
만약 틀린 내용이 있다면 피드백은 언제나 환영합니다.
제 나름대로 요약한 내용이기 때문에 자세한 내용은 제일 아래쪽 참고 사이트에서 확인하면 좋을 것 같습니다!
말투는 편한 말투로 작성하니 양해 부탁드립니다.

Prepared Statement

Statement

악성 유저가 변수 자리에 쿼리문을 입력할 수 있음

  • SQL injection에 대한 위험이 있음

PreparedStatement

쿼리를 수행하기 전에 이미 쿼리가 컴파일되어있음

  • SQL injection 방어
  • 동일한 쿼리문을 여러번 실행할 때 좋음

NoSQL

관계형 데이터베이스 - SQL

  • 관계형 데이터베이스 관리 시스템
  • 고정된 행과 열로 구분된 테이블에 형식을 맞춰서 데이터를 저장
  • 테이블의 구조, 데이터 타입 등을 사전에 정의
  • 주로 수직적 확장 - 좋은 부품을 추가하여 서버 한개의 성능을 높임
  • 구조의 완전성을 보장할 수 있지만, 사전에 형태를 정의해야하고 엄격한 스키마때문에 번거로움
  • 데이터가 자주 변경되고 명확한 스키마가 필요한 경우 사용 → 금융

비관계형(분산형) 데이터베이스 - NoSQL

  • 데이터 모델에 따라 유형이 다양함
  • 미리 형태를 저장할 필요도 없고, 서로 다른 형태의 데이터를 같은 컬렉션에 저장 가능
  • 주로 수평적 확장 - 여러 서버를 만들어서 데이터베이스를 분산시킴
  • 유연하지만, JOIN 이 없기 때문에 중복성이 있을 수 있고 일일이 다 업데이트 필요
  • 변경보다는 조회를 많이 하고 구조가 변할 수 있는 경우 사용 → 채팅 기록

참고 사이트

https://velog.io/@rkdfowns/Prepared-statement란
https://jaehoney.tistory.com/179
https://hanamon.kr/데이터베이스-sql-vs-nosql/
https://velog.io/@rlcjf0014/Database-SQL-vs-NoSQL

profile
개발을 하며 경험한 것들을 이것저것 작성해보고 있습니다!

0개의 댓글