정의
문서 정보를 기반으로 원하는 데이터를 저장하고 조회하도록 설계 된 NoSQL 데이터베이스
유형
MongoDB, CouchDB, Elasticsearch, CouchBase 등
특징
- Key-Value 형태로 저장
- No schema, 유연한 스키마
- JSON / XML 등의 문서로 저장
- 분산 하드웨어 클러스터 기반 확장
CouchDB
Scalable architecture 를 쉽게 접할 수 있도록 만들어진 오픈소스 데이터베이스. Document-oriented NoSQL Database이며, erlang 으로 구현되어 있다. ( 왜 erlang 일까.. )
데이터 저장은 JSON을 사용하며, Javascript를 쿼리로 사용하는 게 특징이다. HTTP를 이용한 API도 제공해 준다.
Couch Replication Protocol 을 사용한다는 것을 강점으로 두는데, 이를 통해서 분산된 서버 간의 확장성을 보장한다고 한다.
The CouchDB Replication Protocol is a protocol for synchronising JSON documents between 2 peers over HTTP/1.1 by using the public CouchDB REST API and is based on the Apache CouchDB MVCC Data model.
개발자 친화적인 쿼리언어이며 경우에 따라 MapReduce도 사용한다고 하는데 솔직히 친화적이라는 공감대 형성은 잘 안된다.
근래 사용할 일이 생겨서 조금 보고 있는데.. MongoDB 를 안 써야 하는 이유가 생길 만큼의 매력이 있는 DB인지는 아직까지 와닿지 않는다.
참고문헌
https://ko.wikipedia.org/wiki/%EC%B9%B4%EC%9A%B0%EC%B9%98DB
https://docs.couchdb.org/en/stable/replication/protocol.html#
https://aws.amazon.com/ko/nosql/document/
'CS' 카테고리의 다른 글
[디자인패턴] 상태 패턴 (State pattern) 의 개념 및 구조 요약정리 (0) | 2022.08.17 |
---|---|
[디자인패턴] GoF Pattern 요약정리와 패턴 별 활용 알아보기 (0) | 2022.08.11 |
제조회사 개발자의 신세한탄 그리고 살아남기위한 발버둥 1 - 부서배치 (0) | 2022.04.24 |
[쉬운 쉘 스크립트] bash shell 에서 원하는 문자 변경하는 방법 (0) | 2022.04.17 |
리눅스 권한 유형 - setuid, setgid 그리고 sticky bit 의 개념 그리고 파일권한 대/소문자 s 의 의미 (0) | 2022.04.10 |