Can someone help me summarize what couchbase is and what it does?
my summary:
Couchbase is a document oriented database that allows you to logically store documents / key - value pairs in
what are called buckets. Buckets are isolated virtual data containers that are found within couchbase clusters. Clusters are numerous instances of couchbase servers or Nodes that exist in the database.
(also How many buckets to one node?)
By using the couchbase cluster instances and corresponding connection strings, you can access buckets specific to that cluster instance and perform operations via couchbase query language n1ql.
That’s actually a pretty good summary already haha.
I would add that what makes Couchbase fast (to me) is that you can do sub-document operations.
So if you have a big document, of say 5k keys. Then you can easily update just a few of them, instead of having to “fetch” the entire document just to update a few keys, and then have to send then entire document back into the database, which of course would be really slow.
But with sub-document ops, it not a problem + super fast.
Lots of people also love the relatively-new N1QL query language. Where you can actually use something like, SELECT * from countries. And get your data that way. Or you can create custom Views that return a portion of your entire data-bucket, based on the keys that you are interested in. Both are equally good, and accomplish the same task. Just a matter of preference
From what I remember about reading the documents, a developer is recommended to have no more than 10 buckets per node. Due to how the memory mapping works. (Having 10 running processes in memory does seem kinda high haha) Their best recommendation is to have less than five per-node.
I usually only have 2-5 max. Less is definitely better here.