그라가승훈
[데이터베이스] NoSQL(비관계형) 이란? 본문
- NoSQL(비관계형) 데이터베이스란?
NoSQL(비관계형) 데이터베이스는 표 형식이 아니며, 기존 행(Row)과 열(Column)로 테이블(Table)을 만들어 관리하던SQL(관계형)데이터베이스와는 다른 방식으로 데이터를 저장합니다.
대량의 분산된 데이터를 저장하고 조회하는데 특화되었으며, 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말합니다.
그래서 흔히 "non SQL (비 SQL)" 또는 "not only SQL (SQL만 사용하는 것이 아닌)" 이라고 말합니다.
- NoSQL 데이터베이스의 유형
NoSQL 데이터베이스는
문서 데이터베이스, 키-값 데이터베이스, 와이드 컬럼 스토어, 그래프 데이터베이스 4가지 유형이 있습니다.
- 문서 데이터베이스 :
- JSON 객체와 비슷한 문서에 데이터를 저장합니다.
- 각 문서에는 필드와 값의 쌍이 포함되어 있습니다.
- 일반적으로 값은 문자열, 숫자, boolean, 어레이객체 등 다양할 수 있습니다.
- Mongo DB는 인기 있는 문서 데이터베이스입니다.
- 키-값 데이터베이스 :
- 각 항목에 키와 값이 포함되어 있는 보다 간한 유형의 데이터베이스입니다.
- 키-값 데이터베이스는 대량의 데이터를 저장해야 하지만 검색을 위해 복잡한 쿼리를 수행할 필요가 없는 사용 사례에 적합합니다.
- Redis와 DynanoDB는 인기 있는 키-값 데이터베이스입니다.
- 와이드 컬럼 스토어 :
- 테이블, 행 및 동적 열에 데이터를 저장합니다.
- 와이드 컬럼 스토어는 각 행이 동일한 열을 가질 필요가 없다는 점에서 관계형 데이터베이스에 대해 뛰어난 유연성을 제공합니다.
- 보통 사물인터넷, 데이터와 사용자 프로필 데이터를 저장하는 데 사용합니다.
- Cassandra와 HBase는 가장 인기 있는 와이드 컬럼 스토어입니다.
- 테이블, 행 및 동적 열에 데이터를 저장합니다.
- 그래프 데이터베이스 :
- 노드와 에지에 데이터를 저장합니다.
노드는 일반적으로 사람, 장소, 사물에 대한 정보
에지는 노드 간의 관계에 대한 정보 - 소셜 네트워크, 사기 탐지, 권장 엔진 같은 패턴을 찾아보기 위해 검토해야 하는 사용 사례에 적합합니다.
- Neo4j와 JanusGraph가 있습니다.
- 노드와 에지에 데이터를 저장합니다.
- NoSQL의 특징
1. SQL과 달리 데이터 간의 관계를 정의하지 않는다.
- RDBMS는 데이터 관계를 외래키로 정의하고 Join 연산을 할 수 있지만 NoSQL은 Join이 불가능 하다.
2. 페타바이트 급의 대용량 데이터를 저장할 수 있다.
3. 분산형 구조이다.
4. 고정되지 않은 테이블 스키마를 갖는다.
- NoSQL의 장점
1. RDBMS에 비해 저렴한 비용으로 분산처리와 병렬 처리 가능
2. 비정형 데이터 구조 설계로 설계 비용 감소
3. Big Data 처리에 효과적
4. 가변적인 구조로 데이터 저장이 가능
5. 데이터 모델의 유연한 변화가 가능
- NoSQL의 단점
1. 데이터 업데이트 중 장애가 발생하면 데이터 손실 발생 가능
2. 많은 인덱스를 사용하려면 충분한 메모리가 필요. 인덱스 구조가 메모리에 저장
3. 데이터 일관성이 항상 보장되지 않음
'DataBase' 카테고리의 다른 글
[데이터베이스 설계와 구축] - 논리설계 01. 데이터 모델링 주요 개념 (0) | 2022.08.17 |
---|
Comments