It is the era of Data. Nobody would dare to disagree. People may have different opinion about the storage solutions and architecture, but no matter what, they will agree it is indeed the era of Data.
The traditional way of storing data made use of properly designed and structured tables and columns (There comes your RDBMS!). And then comes a period where you generate more than a quintillion bytes of data, EVERY DAY!.
Well you can’t expect them to follow your predefined structures(Called schema). If you want to deal with them, better you store them, and work according to their structure. That’s where the “NoSQL” was evolved. (This is not “No SQL”, this is “Not Only SQL”).
Now we have a way to deal with un-structured data, storing data in Documents,Graphs,Key-value pairs etc.. Couchbase is one of the market competitors for your NoSQL solution, and I personally believe you might have a go! Here’s why…:
1: N1QL – Querying has never been easier on Document stores
If you are an SQL guy moving to Couchbase, you are gonna be a fan of N1QL, because you just got another language which can be used to read/write the documents, without even learning it.
Yes, the N1QL is far too much close to your old friend – SQL. No matter you are doing just a select(*) or a complex join.
2: Deployment options and performance
First thing – we are memory first. You need low latency reads, use the system as a distributed cache. Or deploy it as key/value store for high performance reads and write. Again, if you want to stick to the querying methods, you have the document store and N1QL!. You can deploy it for your mobile apps as well, couchbase lite being one of the best pick for Mobile NoSQL datastore.
3: Cross datacentre replication for global deployment
Couchbase comes up with cross datacentre replication (XDCR), which helps you to deploy it at different geo locations, in active – active configuration. This means bringing data closer to user, and it also provide disaster recovery.
4: Spark/Kafka integration
You can easily integrate Couchbase with the bigData/Analytics tools such as Spark and kafka. The Kafka connector provides functionality to stream, filter, and transform events between Couchbase Server and Kafka. Spark connector is used for integration between the couchbase cluster and the Apache Spark data processing platform.
5: Mobile platform : Couchbase lite
A synchronized mobile database store for iOS , andriod and other platforms. Suitable for offline applications as well. the ‘sync-gateway’ offers access control and up-to-date syncing of records.