Expanded Library

Design Data Models for Couchbase 6

by Kishan Iyer

This course guides you on how to best utilize the flexibility and performance gains offered by representing your data as documents in Couchbase, while mitigating some of the limitations of this format.

What you'll learn

Couchbase is among the most widely used document databases thanks to its rich set of features and its performance in a distributed environment. This course, Design Data Models for Couchbase, delves into how data is represented in this database, from the JSON format used for documents to the mapping of relationships between different types of entities.

First, you'll will explore the fundamentals of documents in Couchbase, and how these can be logically grouped together into collections called buckets. Then, you'll see how this data is stored and distributed in a cluster, which includes the concepts of vBuckets as well as replication.

Next, you'll move on to modeling entity information in Couchbase. This includes the trade-offs involved when normalizing and denormalizing data, and the techniques involved in defining denormalized documents.

Finally, you will discover some of the important properties of Couchbase documents. These include how they are accessed by concurrent processes, how they are updated by transactions, and how they can be set to expire after a specified amount of time.

Once you complete this course, you will have a broad understanding of how to model your data for the Couchbase database. You will know how to model entities and relationships using documents, how you can combine the content from related documents using join and nest operations, and how document properties can be configured for various use cases.

About the author

I have a Masters in Computer Science from Columbia University and have worked previously as a developer and DevOps engineer. I now work at Loonycorn which is a studio for high-quality video content. My interests lie in the broad categories of Big Data, ML and Cloud.

Ready to upskill? Get started