NoSQL
비 관계형 데이터베이스는 구조화 되지 않고 분산되어 있다. 기본적으로 SQL(관계형 데이터베이스)와 반대되는 접근방식을 따르기 때문에 지어진 이름이다.
스키마가 없고 관게도 없다.
NoSQL DB 종류
NoSQL 데이터베이스의 종류는 키-값 데이터베이스, 도큐먼트 데이터베이스, 칼럼 패밀리 데이터베이스, 그래프 데이터베이스로 나뉘며 아래 그림은 관계형 데이터베이스와 4가지 종류의 NoSQL 데이터베이스를 각각의 대표 제품과 함께 나타낸 그림입니다.
- 키-값 데이터베이스 : 키와 값으로 구성된 배열구조의 데이터베이스로 NoSQL 데이터베이스 중 가장 단순한 구조입니다.(※ redis는 "개발자를 위한 레디스 튜토리얼 01 - https://meetup.toast.com/posts/224" 참조)
- 도큐먼트 데이터베이스 : 필드와 값의 형태로 구성된 데이터를 JSON 포맷으로 관리하는 데이터베이스로 NoSQL 데이터베이스 중 가장 인기가 높습니다.
- 칼럼 패밀리 데이터베이스 : 칼럼과 로우로 구성된 데이터베이스로 칼럼은 KEY - VLAUE형식으로 구성되고 로우는 각기 다른 칼럼으로 구성이 가능합니다. 하나의 행에 많은 열을 포함 할 수 있다는 유연성이 있다. 데이터 처리에 필요한 열을 유연하게 선택할 수 있다는 점에서 큰 규모의 데이터 분석에 주로 사용되는 데이터베이스 형식이다.
- 그래프 데이터베이스 : 노드와 관계로 구성된 데이터베이스로 근접한 객체를 모델링할 목적으로 설계되었습니다.
NoSQL DB 특징
NoSQL 데이터베이스는 각 DBMS별로 차이가 있으나 일반적으로 다음과 같은 특징을 가지고 있습니다.
- 유연성 : 스키마 선언 없이 필드의 추가 및 삭제가 자유로운 Schema-less 구조입니다.
- 확장성 : 스케일 아웃에 의한 서버 확장이 용이합니다.
- 고성능 : 대용량 데이터를 처리하는 성능이 뛰어납니다.
- 가용성 : 여러 대의 백업 서버 구성이 가능하여 장애 발생 시에도 무중단 서비스가 가능합니다.
NoSQL DB vs 관계형 DB 비교
1-6. NoSQL DB vs 관계형 DB 기술요소
NoSQL 기반의 비관계형 데이터베이스를 사용하는 케이스
- 데이터 구조가 거의 또는 전혀 없는 대용량의 데이터를 저장하는 경우
대부분의 NoSQL 데이터베이스는 저장할 수 있는 데이터 유형에 제한을 설정하지 않는다. 필요에 따라서 데이터의 새 유형을 추가할 수 있다. 그렇기 때문에 소프트웨어 개발에 정형화 되지 않은 많은 양의 데이터가 필요한 경우, NoSQL을 적용하는 것이 효율적일 수 있다. - 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우
클라우드 기반으로 데이터베이스 저장소를 구축하면 저렴한 비용의 솔루션을 제공 받을 수 있다. 소프트웨어에 데이터베이스의 확장성이 중요하다면 여러 데이터 센터에 걸쳐서 많은 번거로움 없이 확장할 수 있는 NoSQL 데이터베이스를 사용하는 것이 좋다. - 빠르게 서비스를 구축하고 데이터 구조를 자주 업데이트 하는 경우
NoSQL데이터베이스이 경우 스키마를 미리 준비할 필요가 없기 때문에 빠르게 개발하는 과정에 매우 유용하다.
출처:
https://meetup.toast.com/posts/274
https://hankyeolk.github.io/2021/02/10/sqlvsnosql.html#SQL과-NoSQL-중에서-어떤-것을-사용해야-하나요?
'DB' 카테고리의 다른 글
인덱스란 ? (0) | 2021.08.03 |
---|---|
Redis란? 왜 사용할까? (0) | 2021.07.24 |
트랜잭션과 트랜잭션의 특징 (0) | 2021.06.29 |
댓글