NoSQL

초콜렛빵·2023년 8월 24일
0

TIL

목록 보기
18/27

NoSQL

NoSQL이란

유래

  • NoSQL이란, 여러 의견 중 Not Only SQL이 가장 적합한 설명
  • 기존 RDBMS가 가진 특성 뿐 아니라 다른 특성을 부가적으로 지원하기 때문
  • 1998년, 카를로 스트로찌가 공개한 표준 SQL 인터페이스를 채용하지 않은 RDBMS를 NoSQL이라고 명명한데서 시작
  • 이후, 2009년 요한 오스칼손이 분산 데이터 베이스 관련 행사를 준비하며 해당 용어를 사용
  • 인터넷 활성화와 SNS의 등장으로 비정형 데이터를 쉽게 담아 저장하고 처리할 수 있는 구조의 DB가 관심을 받게 되며 각광을 받음

특징

  • 기존 RDBMS의 주요 특성인 ACID(Atomic, Consistency, Integrity, Durability) 특성을 제공하지 않음
  • 하지만, 뛰어난 확장성과 성능 등의 특성을 가짐
  • 또한, 저장 및 검색에 특화된 메커니즘을 제공

RDBMS와 주요 차이점

  • 관계형 모델을 사용하지 않고 테이블간 조인 기능 없음
  • 직접 프로그래밍 가능하며, 비 SQL 인터페이스를 통한 데이터 액세스 가능
  • RDBMS에서 지원하는 ACID 미보장(지원 하기도 함)
  • 스키마와 속성들을 다양하게 수용 및 동적 정의(Schema-less)
  • DB 중단 없는 서비스와 자동 복구 지원

NoSQL 종류

Key Value Store

  • Key와 Value의 쌍으로 데이터가 저장되는 단순한 형태의 솔루션
  • associative array(다른 용어로 map 혹은 dictionary)를 활용하는 모델
  • 대표적으로 Riak, Vodemort, Tokyo

Wide-Column Store

  • column-oriented DBMS로 테이블의 행과 열을 사용하는 형태
  • key-value store의 2차원 형태로 볼 수 있음
  • 대표적으로 Bigtable, HBase, Cassandra, ScyllaDB

Document Store

  • 문서를 저장하는 컨셉의 저장 형태
  • Json, XML 과 같은 Collection 데이터 모델 구조 채택
  • 대표적으로 MongoDB, CoughDB

Graph DB

  • Graph 구조를 채택한 Database 형태
  • Euler & Graph Theory에서 유래
  • 대표적으로 Neo4J, RedisGraph

성능

참조

profile
차근차근 기록하고 배우는 개발자

0개의 댓글