본문 바로가기
CS

문서 지향 데이터베이스(Document oriented database) 란 무엇인가? feat. CouchDB

by Warehaus 2022. 7. 7.

정의



문서 정보를 기반으로 원하는 데이터를 저장하고 조회하도록 설계 된 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/