I'm new to Couchbase and NoSql technologies in general, but I'm working on a web chat application running on node js using express and some other modules.
I've chosen to work with NoSql to store sessions and all needed data on server-side. But I don't really understand some important features of Couchbase : What is a Cluster, a Bucket? Where can I find some clear definitions of how the server works?
Couchbase uses the term cluster in the same way as many other products, a Couchbase cluster is simply a collection of machines running as a co-ordinated, distributed system of Couchbase nodes.
A Bucket is a Couchbase specific term that is roughly analogous to a 'database' in traditional RDBMS terms. A Bucket provides a container for grouping your data, both in terms of organisation and grouping of similar data and resource allocation. You can configure your buckets separately, providing different quotas, different IO priorities and different security settings on a per bucket basis. Buckets are also the primary method for namespacing documents in Couchbase.
For further information, the Architecture and Concepts overview in the Couchbase documentation, specifically data storage, is a good starting point. A somewhat outdated, but still useful video on Introduction to Couchbase might also be useful to you.
Even though it's answered, hope the following would be more helpful for someone.
A Couchbase cluster contains nodes. Nodes contain buckets. Buckets contain documents. Documents can be retrieved multiple ways: by their keys, queried with N1QL, and also by using Views.(Ref)
As specified in the Couchbase Documentation,
Node
A single Couchbase Server instance running on a physical server, virtual machine, or a container. All nodes are identical: they consist of the same components and services and provide the same interfaces.
Cluster
A cluster is a collection of nodes that are accessed and managed as a single group. Each node is an equal partner in orchestrating the cluster to provide facilities such as operational information (monitoring) or managing cluster membership of nodes and health of nodes.
Clusters are scalable. You can expand a cluster by adding new nodes and shrink a cluster by removing nodes.
The Cluster Manager is the main component that orchestrates the cluster level operations. For more information, see Cluster Manager.
Bucket
A bucket is a logical container for a related set of items such as key-value pairs or documents. Buckets are similar to databases in relational databases. They provide a resource management facility for the group of data that they contain. Applications can use one or more buckets to store their data. Through configuration, buckets provide segregation along the following boundaries:
- Cache and IO management
- Authentication
- Replication and Cross Datacenter Replication (XDCR)
- Indexing and Views
For further info : Couchbase Terminology
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With