Introduction to Couchbase
Couchbase Server is an open-source, distributed, multi-model NoSQL, JSON document database that is enhanced for interactive applications. It is also known as Membase. It was developed by Couchbase, Inc. and initially released in August 2010.
It is written using C++, Erlang, C, Go languages. Its server is designed to provide us with easy-to-scale key-value or JSON document access with high sustained throughput and low latency. These applications may help in serving many users by storing, creating, aggregating, retrieving, manipulating and presenting data. It is designed to be gathered from a single machine to very large-scale deployments spanning many machines.
History of Couchbase :
Several leaders of the Memcached project expanded Couchbase to develop a key-value store with the simplicity, speed, and scalability of Memcached. NorthScale contributed the original membase source code, and project co-sponsors Zynga and Naver Corporation contributed to a new project on membase.org in June 2010.
The Membase project founders and Membase, Inc. announced a merger with CouchOne on February 8, 2011, with an associated project merger. The merged company was called Couchbase, Inc. in January 2012. Couchbase released Couchbase Server 1.8. Orbitz changed some of its systems to use Couchbase in September 2012. Couchbase Server 2.0 (announced in July 2011) was released in December 2012. It included a new JSON document store, incremental MapReduce, indexing and querying, and replication across data centers.
Features of Couchbase :
- It is an open-source NoSQL database that provides us with a mechanism for storage and recovery of data which is modeled in means other than the tabular relations used in relational databases.
- It is useful as it is optimized for interactive applications.
- It has schema-free Data Schema.
- It has multiple data access paths to query and manage our JSON documents.
- It has flexible data access paths which makes it more useful for a wide variety of apps and use cases.
- It supports Declarative Query Language (N1QL) that extends ANSI SQL to JSON.
- It provides Eventual Consistency and Immediate Consistency methods to ensure consistency in a distributed system.
- It does not provide the concept of Referential Integrity. Hence, there are no Foreign Keys.
- It supports the Map-Reduce methods.
- It has predefined data types such as boolean, string, number, etc.
- The primary database model for Couchbase is Document Store.
- The secondary database model for Couchbase is Key-Value Store.
- It supports XML data format.
- In Couchbase, the partitioning can be done by Sharding.
- It supports Master-Slave Replication and Master-Master Replication replication methods.
- It has in-memory capabilities.
- It provides ACID transaction concepts.
- It also supports secondary indexes without any restrictions.
- It uses Linux, OS X and Windows as its Server operating systems.
- It is used by some companies like The Doyle Group, Lockwood Publishing, Code Weavers, MSLGROUP, etc.