공부하는 블로그

NoSQL | NoSQL Introduction 본문

NoSQL

NoSQL | NoSQL Introduction

치킨닮은닭 2020. 9. 8. 22:46

" NoSQL ? "

 Not Only SQL의 약자로 기존 RDBMS(Relational DataBase Management System) 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술이다. 관계형 데이터베이스 시스템의 주요 특성을 보장하는 ACID(Atomic, Consistency, Integrity, Duarabity) 특성을 제공하지는 않지만 뛰어난 확장성과 성능을 지니고 있다. 

* RDBMS : 데이터의 관계를 Foreign Key 등으로 정의하고 이를 이용해 Join 등의 연산이 가능한 데이터 저장 기술

SQL vs NoSQL        출처 https://velog.io/@rlcjf0014/Database-SQL-vs-NoSQL

 NoSQL은 SNS(Social Network Service)가 활성화 되면서 기존의 기업 시스템에서는 볼 수 없었던 비정형화된 대규모 데이터를 처리하기 위하여 만들어졌다. 기존의 정형화된 데이터 저장 시스템인 RDBMS의 복잡도와 용량 한계를 극복하기 위해 등장한 만큼, 페타바이트급의 대용량 데이터를 저장할 수 있다. 주로 빅데이터와 실시간 웹 어플리케이션의 상업적 이용에 널리 쓰인다.

 

" NoSQL 특징 "

1. 분산형 구조를 통해 데이터를 여러 대의 서버에 분산해 저장한다. - 분산 시 데이터를 상호 복제하여 특정 서버에 장애가 발생하더라도 데이터 유실이나 서비스 중지가 없다.

 

2. 테이블의 스키마가 유동적이다.

 

3. ID로 사용하는 키 부분만 타입이 동일하고 값은 데이터 타입이 정해지지 않아 어떤 타입이든 값으로 허용이 된다.

 

4. 테이블간의 Join 기능이 없다.

 

5. 범용적인 서비스 보다는 특별한 목적에 특화되어있다.

 

" NoSQL 종류 "

1. Key/Value Store : Redis

 Unique Key에 하나의 Value를 가지고 있는 구조로 대부분의 NoSQL은 Key/Value 개념을 지원한다. 읽고 쓰는게 굉장히 빠르다.

 

2. Colum Family Store : Hbase, Cassandra

 Key 안에 (column:value) 조합으로 된 여러개의 필드를 가지는 구조이다.

 

3. Document Store : MongoDB

 Key/Value Store의 확장된 형태로 저장되는 Value의 데이터 타입으로 Document라는 구조화된 데이터 타입(JSON, XML, ...)을 사용한다. 제품에 따라 Sorting, Join, Grouping 등의 추가 기능을 지원한다.

 

4. Graph Store : neo4j

 소셜네트워크서비스(SNS)에서 주로 사용한다.


References

 

- NOSQL의 특징에 대해 알아보기 : www.youtube.com/watch?v=Dvi_TsBMFJo&list=PL9mhQYIlKEheyXIEL8RQts4zV_uMwdWFj&index=2

- NoSQL이란 무엇인가? : www.samsungsds.com/global/ko/support/insights/1195843_2284.html

Comments