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

Understanding locking


In any database system, whenever a client is trying to update a record, it acquires a lock in that record so that another client cannot update the same record. This is done to maintain consistency in RDBMS.

Sometimes, when we perform a bulk update, this locking of records escalates to locking a table, and all access is denied to that particular table. This has an adverse impact on the application's performance. A majority of the application performance issues that arise in the production environment happen due to locking of records or tables. There are various levels of locking in RDBMS depending on the application logic requirement. In my experience as a SQL DBA, I have often observed queries getting timed out while waiting to get locked on a particular record, which is already being locked by another query impacting the application's performance. I have spent a lot of time determining locks that a particular query has on a table to understand its impact on performance...