NoSQL이란?

양시준·2022년 3월 3일
0

TIL

목록 보기
8/21

NoSQL이란?

NoSQL은 "Not only SQL"로, SQL만을 사용하지 않는(RDB가 아닌) 데이터베이스 관리 시스템(DBMS)을 지칭하는 단어이다.

NoSQL의 정의

  • 관계형 모델을 사용하지 않는다.
  • 대부분 오픈 소스다.
  • 보통 21세기 초반에 개발되었다.
  • SQL을 사용하지 않는 Schema-less(스키마가 없는) 데이터베이스이다.

NoSQL의 특징

  • 반정형화, 비정형화된 데이터에 적합하다.
    • 빅데이터는 다양하고 정형화되어있지 않은 데이터를 저장하는데 유용하다.
  • “ACID” 대신 “Eventual Consistency”(최종적인 일관성)를 허용한다.
    • 확장성과 다수가 읽고 쓰는 상황에서의 성능 향상을 위해서 어느정도 일관성(Consistency)이 지켜지지 않는 것을 선택하였다.
  • 특정 도메인의 문제해결에 뛰어나다.
    • Key-value, Document, Column-family, Graph 등 특정 도메인에 최적화 된 DB가 있다.
  • 데이터 일치
    • 메모리 내의 데이터가 어떤 구조이든지 상관하지 않고 하나의 Aggregation(집합)으로 취급하여 저장한다.
  • Schema-less
    • 데이터 구조를 미리 정의할 필요가 없으며, 시간이 지나더라도 언제든지 바꿀 수 있기 때문에 비형식적인 데이터를 저장하는 데 용이하다.
    • 사실 암묵적인 스키마가 존재하지만, NoSQL은 이를 강제하지 않는다. 그렇기 때문에 NoSQL을 사용할 때에는 주의를 기울일 필요가 있다.

❗ 참고

profile
야크 털 깎기와 러버덕 디버깅을 좋아하는 개발자

0개의 댓글