Book Image

Learning Couchbase

By : Henry Potsangbam
Book Image

Learning Couchbase

By: Henry Potsangbam

Overview of this book

This book achieves its goal by taking up an end-to-end development structure, right from understanding NOSQL document design to implementing full fledged eCommerce application design using Couchbase as a backend. Starting with the architecture of Couchbase to get you up and running, this book quickly takes you through designing a NoSQL document and implementing highly scalable applications using Java API. You will then be introduced to document design and get to know the various ways to administer Couchbase. Followed by this, learn to store documents using bucket. Moving on, you will then learn to store, retrieve and delete documents using smart client base on Java API. You will then retrieve documents using SQL like syntax call N1QL. Next, you will learn how to write map reduce base views. Finally, you will configure XDCR for disaster recovery and implement an eCommerce application using Couchbase.
Table of Contents (12 chapters)
Index

Compaction


Compaction is the process of reclaiming disk space and reducing fragmentation. Compaction is performed on buckets as well as on views. Whenever a client deletes documents from a Couchbase bucket, it creates gaps within the data file. If there is no reclamation of this gap, then the size of the data file will increase and it might have an impact on its performance, as Couchbase needs to handle a large file instead of a smaller, compact data file while performing any operation on it. Couchbase works on the principle of append-only storage engine features. Whenever there are data operations taking place in the bucket—whether it's a write, update, or delete operation—the mutated document always goes at the end of the data file only. There might be a lot of gaps between data files if there are lots of deletions occurred. Although this sequential update might improve disk writes, it will have a severe impact if a timely reclamation of the gap is not done. In order to manage the data...