After deep investigation of several NoSQL DB's Looks like couchbase is one of best options
1. It has JSON support
like document-oriented DB but it doesn't indexes all the fileds on all levels of the document ( good and bad!).
It something between Document-Oriented DB and Key-Value store with an option for custom Indexes View creation which is actually a simple map reduce job that runs automaticly.
2. Auto-Sharding
In 1 click you can simply add servers.
3.Cross Cluster replication
4. Object level cache based on memcached
5. Built in management and monitoring tool
6. Asynchronous persistence.
7. Benchmarks:
http://www.couchbase.com/presentations/benchmarking-couchbase
http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9670/white_paper_c11-708169.pdf
8. Best practices
10. Supports ( not offically) GeoSearch
11. Good API's
Contains Bulk modes ( on Views)
CAS oprations ( optimistic locking)
and much more
It looks like it fits all avarage needs but during the work you need to pay attention to some things like:
1. Working with keys and values instead of indexes ( indexes defined by map - reduce jobs update incrementally and you can not control it too much)
2. Compaction on views and buckets exist and can be controlled.
3. Don't define more than couple of buckets. ( Read attached best practices paper)
have fun with couchbase.
No comments:
Post a Comment