Actions
NoSQL (Not Only SQL)¶
- NoSQL은 Not Only SQL의 약자로 기본 RDBMS의 한계를 극복하기 위해 만들어진 새로운 형태의 데이터베이스입니다.
1) RDBMS의 한계¶
- 스키마 문제 : 빅데이터를 RDB의 스키마에 맞춰 변경해서 넣으려면 매우 긴 시간의 down time이 발생
- 스케일업의 한계 : RDBMS는 애초부터 Scale-out(분산 환경)을 염두 해 두고 설계되지 않아 관계 모델과 트랜젝션의 연산, 일관성, 속성을 유지하면서 분산 환경에서 RDBMS를 조작하는 것이 어렵다.
2) 특징¶
- 반정형화, 비정형화된 데이터에 적합하다
- 'ACID'대신 Eventual Consistency'를 허용한다.
- 대용량의 데이터 저장에 더 유리하다.
- 특정 도메인의 문제해결에 뛰어나다
- 데이터를 질의하는 API가 다양하다.
- 데이터 모델이 매우 다양하다.
- 분산형 컴퓨팅에 최적화되어 있고 확장성이 뛰어나다
3) 장점¶
- 스키마가 없기 때문에 언제든지 저장된 데이터를 조정하고, 새로운 필드 추가 가능
- 데이터의 저장은 앱이 필요한 부분에 유동적으로 저장
- 수직, 수평 확장이 가능
4) 단점¶
- 중복된 데이터가 변경된 경우 여러개의 콜렉션에서 데이터를 바꿔야한다.
- 스키마가 존재하지 않기에 명확한 데이터 구조를 보장하지 않으며 데이터 구조를 결정하기 어려울 수 있다.
5) NoSQL 종류¶
- Document 방식
- MongoDB
- CouchDB
- Key-Value 방식
- Redis
- memchached
- Big Table DB
- HBase
- Cassandra
- Hypertable
- ScyllaDB
이태훈이(가) 3년 이상 전에 변경 · 1 revisions