Notes from Couchbase Day

I had an opportunity to attend Couchbase Day to learn about the product. I’ve included my notes below, link to the presentation slides and other resources.
Fail Over
  • If a machine was power off by mistake and bought backup and able to read, it will require lighter weight recovery. This feature is in 3.x
  • Can configure 0-3 replicas
  • Always have 1024 partitions/virtual buckets
  • More nodes, more possible failures. That’s why some have more than one replicas.
  • Async replication.
  • Adding more node = adding more cache
  • A possible node configuration: 256 GB of memory
  • Sweet spot on cluster size: 5-75 node
Scaling
  • Can scale any of the services independently:
    • Query Service
    • Index Service
    • Data Service
  • For starting cluster of 5 nodes, a recommended configuration is one of each service on each node.
  • Once the cluster grows to a larger size, around 20 nodes, change capacity based on the workload.
Data Modeling
  • Does not handle all use cases. A possible alternative is Elastic Search
  • Limit: 250 bytes key size
  • Recommendation: do not put space in key
  • Ideal number of buckets: 1 (Okay if less than 5)
Migrate from rational DB
  • Map tables to JSON first
  • Pick a top query or top n Queries to optimize for performance
API
  • Recommend to implement versioning in application level instead of using non-public interface in the API
  • All documents have CAS value. This allows developers to use this value for optimistic concurrency locking.
  • Corporative locking
  • Locks have timeout
  • Applications should have the same traversal of the relationship graph when lock to avoid deadlock
N1QL
Mobile
  • Can subscribe to a channel to sync only desired data
  • Encryption capabilities information not in presentation
  • Can sync between devices, only between devices with the same OS
Resources
Advertisement

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s