카우치베이스(Couchbase)란? 장점과 특성

회사에서 프로젝트를 시작하면서 

기존 REDIS 를 사용하다 이번에는 NoSQL DB 중 카우치베이스(Cocuchbase) 를 도입하게 되었다.

REDIS 또한 강력한 NoSQL DB 중 하나로써 매우 유연하고 일관성 있으며 쉬운배포가 가능하다.

하지만 이번에 카우치베이스를 도입하면서 카우치베이스란 무엇이고 그 장점과 특성이 무엇인지 보려고 한다.


1. 카우치베이스(Cocuchbase)란 ? 

분류  : NoSQL DB

공식 웹사이트 : couchbase.com

카우치베이스는 NoSQL DB 로 분류되며 DB 모델은 Key-value 이고 Schema-less 모델로 문서지향형이다.

저장 데이터 형태는 JSON 과 BLOB 으로 DISK 저장 또는 휘발성 RAM에 저장이 가능하다.


2. 카우치베이스 특성


1) NoSQL DB

Key - value 로 Pair 방식으로 데이터가 들어가 있고 Key는 문자열 Value 는 Json 으로 들어가 있다.


2) Memcached 기반 DB 

Cache DB로 검색속도가 매우 빠르다.


3) SQL 지원

매우 큰 특징 중 하나인 SQL 과 유사한 N1QL 로 SQL 을 지원하는 것.

N1QL 을 통해 value 로 들어가있는 데이터를 SELECT 로 조회가 가능하다.

또한 where , order by, group by 를 통해 데이터를 가공할 수 있다.

DML 을 통해서 JSON 문서의 delete, update 가 가능하다.

또한 다른 bucket 또는 자신의 bucket 을 join 하는 기능도 제공하고 있다.

bucket 은 RDBMS의 테이블과 비슷하다.


4) Schema-less 

카우치베이스 버킷은 RDBMS의 테이블과 비슷한 개념이지만 스키마가 없기 때문에 유연하게 다른 형식의

데이터도 입력할 수 있다.


5) Indexing

조회가 많은 조건에 대해서는 Indexing을 할 수 있으며 SQL 문으로 index가 가능하다. 


6) 쉬운 확장성

Auto Sharding 기능이 있어 쉽게 서버를 추가 할 수 있으며 APP 변경없이 가능하다.

또한 Master-Slave 구조가 아닌 Multi-master 구조 이다.


7) 다양한 SDK 지원

JAVA, C#, PHP, C, Python, Ruby 등 다양한 언어를 제공하고 있다.

관련 예제는 카우치베이스 사이트에 있다.


사용법과 Java 에서 사용한 예제는 추후 정리하여 포스팅 하겠습니다.


Online documentations : https://docs.couchbase.com/home/index.html

Some free online trainings : https://training.couchbase.com/online

CB 030 :Essentials of Couchbase NoSQL Technology

CB 105: CB105Introduction to Data Modeling in JSON

CB 110: Introduction to N1QL Query Language for SQL People

CB 130: Introduction to NoSQL Application Development  - choose the programming language you prefer.

CB116o: Introduction to Couchbase for Oracle Experts


  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기