KEY POINT: COUCHBASE PROVIDES A SET OF MULTI-PURPOSE, CORE CAPABILITIES THAT SUPPORT A BROAD RANGE OF APPLICATIONS AND USE CASES, ALL IN A SINGLE DATA MANAGEMENT PLATFORM.
Couchbase provides a set of technology capabilities to support a broad range of applications and use cases:
High Availability Cache: Couchbase provides an integrated managed object cache, so you can start out using Couchbase as a high availability cache on top of your existing relational database. For example, you can use Couchbase as a session store in front of your relational database, if your relational DB is struggling to keep up with the load required for online interactive applications.
Key-Value Store: Many customers start with Couchbase as a cache and then broaden their usage to other capabilities, like using Couchbase as a Key-Value Store for things like Profile Management.
Document Database: From there, you can grow into using Couchbase as a Document Database, where you can do more with capabilities like indexing and Cross Data Center Replication.
Embedded Database: Couchbase also provides an embedded database called Couchbase Lite. It’s a purpose-built database for the device, so you can build applications that are always available and always work, whether offline or online.
Sync Management: Finally, as part of our solution for mobile applications, we provide Couchbase Sync Gateway, which automatically synchronizes data on the device with Couchbase Server in the cloud so your developer doesn’t have to write code to manage the complex sync process.
Starting with cache and then expanding to other capabilities is often a good way to learn the technology and get comfortable with Couchbase for a wider set of use cases.
KEY POINT: MAJOR ENTERPRISES ACROSS NUMEROUS INDUSTRIES ARE ADOPTING COUCHBASE NOSQL TECHNOLOGY TO SUPPORT THEIR DATA MANAGEMENT NEEDS.
We’ve looked at what’s driving NoSQL and the advantages it delivers. So who are some of the companies that are actually adopting Couchbase?
As this slide shows, major enterprises across many different industries are adopting Couchbase NoSQL solution.
You see many innovative Internet companies here – like eBay, LinkedIn, Orbitz, and PayPal.
They were the early adopters of NoSQL. But it’s clear that NoSQL is now being adopted by a broad range of companies in many other industries:
Consumer electronics and technology companies like Apple and Cisco
Retail companies like Walmart and Tesco
Financial Services companies like VISA and Wells Fargo
Telcos like Verizon, AT&T and Vodafone
What’s also interesting is that we’re seeing the use of NoSQL expand inside many of these companies. Orbitz, the online travel company, is a great example – they started using Couchbase to store their hotel rate data, and now they use Couchbase in many other ways.
So the big takeaway is that an increasing number of companies across industries are seeing the value of NoSQL for a growing number of use cases.
KEY POINT: ENTERPRISES ARE USING COUCHBASE ACROSS A RANGE OF MISSION CRITICAL USE CASES.
As the slide shows, Couchbase supports a wide range of use cases, from Profile Management to Fraud Detection.
Each use case has its own set of requirements – some need very high performance, some need very high availability, some need flexibility of the data model.
The ability to meet all of these requirements is what has driven adoption of Couchbase.
All information that you store in Couchbase Server are documents with keys. Keys are unique identifiers for a document, and values are either JSON documents or if you choose the data you want to store can be byte stream, data types, or other forms of serialized objects. Value can be JSON or binary objects, such as integers and strings.
Keys are also known as document IDs and serve the same function as a SQL primary key. A key in Couchbase Server can be any string, including strings with separators and identifiers, such as ‘person_93679.’ A key is unique.
When Couchbase Server is used as a store for JSON documents, the records can be indexed and queried. Couchbase Server provides a JavaScript-based query engine to find records based on field values.
The application makes a call for a key called NYC MQ1
We run the key through the crc 32 function and the result of that hash function is that it points to vbucket3
Which in turn points to couchbase server number 1
We now run a different key through through the has and we now come up with differnet vbucket, vbucket 4 and that points to server 3
We now run a different key through through the has and we now come up with differnet vbucket, vbucket 4 and that points to server 3
This slide has an click-by-click animation
1. (click) A set request comes in from the application .
2. Couchbase Server responses back that they key is written
3. (click)Couchbase Server then Replicates the data out to memory in the other nodes
At the same time it is put the data into a write queue to be persisted to disk
(click)Once it is on disk, the item is processed by the view engine and sent out any configured XDCR link to one or more clusters
Indexing and querying
distributed
create indexes on the fields in JSON documents
Called Views in Couchabse Server
Views are queried to find the objects you are interested in, e.g. range queries to find all players that have black sheep on their farm
(if asked: No ad-hoc query language. Index are described via simple Javascript.)
Incremental Map Reduce
“Normal” map reduce is batch based: i.e. it has to run across all data everytime. So you don’t get updated results often, especially over large data sets. Incremental Map reduce is only considering data that has changed and then calculates the updated result.
This happens fast, in near real-time.
Distributed across all nodes, so able to cope with large data amounts
Does single map and reduce step, so great for simple analytics like leaderboards, counts sums, across data having specific attributes/charcteristics.
Full Text Search
Integration with separate Elastic search cluster, using XDCR technology
Robust, so will efficiently cope with node failures rebalances or interrupted connections to keep the full text index in sync
Elastic search is a very fast JSON document based full text indexing open source solution, based on Apache Lucene (the same as used by SOLR that more people will know)
Elastic search is also clustered and scales easily and provides very flexible and powerful full text search capabilities
This slide has an click-by-click animation
1. (click) A set request comes in from the application .
2. Couchbase Server responses back that they key is written
3. (click)Couchbase Server then Replicates the data out to memory in the other nodes
At the same time it is put the data into a write queue to be persisted to disk
(click)Once it is on disk, the item is processed by the view engine and sent out any configured XDCR link to one or more clusters