Design Data Models for Couchbase
By Kishan Iyer
Course info



Course info



Description
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.
Section Introduction Transcripts
Course Overview
Hi, and welcome to this course, Design Data Models for Couchbase. My name is Kishan Iyer, and I will be your instructor for this course. A little about myself first, I have a Masters degree in Computer Science from Columbia University and have previously worked in companies such as Deutsche Bank and WebMD in New York. I presently work for Loonycorn, a studio for high‑quality video content. 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 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. We start off by looking at the fundamentals of documents in Couchbase and how these can be logically grouped together into collections called buckets. We'll then explore how this data is stored and distributed in a cluster, which includes the concepts of vBuckets, as well as replication. We'll then move on to modeling entity information in Couchbase. This includes the tradeoffs involved when normalizing and denormalizing data and the techniques which are required in order to define denormalized documents. We'll also look at how related documents can be combined using join and nest operations and how nested documents can be unpacked with UNNEST. Another important factor in data modeling we delve into is the representation of relationships between entities. We round off the post by exploring 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.