본문 바로가기
Computer Science/데이터베이스

NoSQL

by Libi 2021. 7. 10.
반응형

최근에 NoSQL이라는 데이터 저장기술이 많이 활용된다고 들었다. 내가 주로 사용하는 데이터 저장기술은 MySQL이지만 아무래도 최근 떠오르는 기술이기 때문에 면접에서도 자주 언급이 된다고 하길래 간단하게 한 번 정리해보려고 한다.

NoSQL은 Not Only SQL의 약자로써 기존 관계형 데이터베이스(RDBMS)보다 더 융통성 있는 데이터 모델을 사용하고 데이터의 저장 및 검색을 위한 특화된 메커니즘을 제공하는 데이터 저장기술을 의미한다.

이를 통해 NoSQL 데이터베이스는 단순 검색 및 추가 작업에 있어서 매우 최적화된 키값 저장 기법을 사용하여 응답속도나 처리 효율 등에 있어서 매우 뛰어난 성능을 나타낸다.

NoSQL의 특징은 다음과 같다.

1. 관계형 모델을 사용하지 않으며 테이블 간 연결해서 조회할 수 있는 조인 기능이 없음

  • RDBMS는 외래 키를 활용하여 서로 다른 테이블끼리 Join 등의 관계형 연산을 수행
  • NoSQL의 테이블은 그냥 하나의 테이블이며 다른 테이블끼리의 관계를 정하지 않음

 

2. 데이터 조회를 위해 직접 프로그래밍하는 등의 비 SQL 인터페이스를 통한 데이터 접근

 

3. 대부분 여러 데이터베이스 서버를 묶어서(클러스터링) 하나의 데이터베이스를 구성

  • RDBMS는 하나의 서버에 데이터를 저장한다면 NoSQL은 여러 개의 서버를 연결하여 데이터를 저장 및 처리
  • 분산형 구조를 가지기 때문에 한 서버에 장애가 발생하여도 다른 서버에서 처리 가능

 

4. 관계형 데이터베이스에서는 지원하는 데이터 처리 완결성(Transaction, ACID 지원)이 보장되지 않음

5. 데이터의 스키마와 속성들을 다양하게 수용하고 동적으로 정의

  • RDBMS와 달리 고정된 스키마를 가지지 않음
  • 즉, 데이터를 저장하는 컬럼이 다른 이름, 다른 데이터 타입을 가지는 것을 허용

6. 데이터베이스의 중단 없는 서비스와 자동 복구 기능 지원

  • 분산형 구조를 가지기 때문

7. 대부분 Open Source로 제공

8. 유연성, 확장성, 고성능, 고기능성 등의 특징을 가짐

 

NoSQL은 초고용량 데이터 처리 등 성능에 특화된 목적을 위해 비 관계형 데이터 저장소에 비 구조적인 데이터를 저장하기 위한 분산 저장 시스템

 

 

NoSQL의 종류는 다음과 같다.

Key-Value DB

  • Key와 Value의 쌍으로 데이터가 저장되는 유형으로써 Amazon의 Dynamo Paper에서 유래됨
  • Riak, Vodemort, Tokyo

 

Wide Columnar DB

  • Big Table DB라고도 하며, Google의 BigTable Paper에서 유래됨
  • Column Family 데이터 모델을 사용
  • Hbase, Cassandra, Hypertable

Document DB

  • Lotus Notes에서 유래되었으며, JSON, XML과 같은 Colletion 데이터 모델 구조를 채택
  • Mongo DB, Cough DB

Graph DB

  • Euler & Graph Theory에서 유래한 DB
  • Nodes, Relationship, Key-Value 데이터 모델을 채용
  • Neo4J

[ Reference ]

· https://jwprogramming.tistory.com/70

· https://aws.amazon.com/ko/nosql/

반응형

'Computer Science > 데이터베이스' 카테고리의 다른 글

트랜잭션 고립화 레벨(Transaction Isolation Level)  (0) 2021.07.11
개인키(대칭키) vs 공개키(비대칭키)  (0) 2021.07.10
인덱스(Index)  (0) 2021.07.10
DML - JOIN  (0) 2021.07.10
키(Key)의 종류  (0) 2021.07.09

댓글