Your SlideShare is downloading. ×

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Webinar - Couchbase Server 2.0 and Cross Datacenter Replication


Published on

Couchbase 2.0 has the ability to replicate your data across data centers, offering a truly high-performance experience to a worldwide audience. Replication also provides resilience in the face of …

Couchbase 2.0 has the ability to replicate your data across data centers, offering a truly high-performance experience to a worldwide audience. Replication also provides resilience in the face of infrastructure failures.

Published in: Technology

  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Rapid app dev withouth the need to perform an expensive alter table operation.
  • JSON support – natively stored as json, whne you build an app, there is not conversion required. New doc viewing , editing capability. Indexing and querying – look inside your json, build views and query for a key, for ranges or to aggregate data Incremental mapreduce – powers indexing. Build complex views over your data. Great for real-time analytics XDCR – replicate information from one cluster to another cluster
  • Partial listing of companies with paid production deployments Thousands more using open source
  • Useful for hot spares Development Offline analysis/process
  • 1.  A set request comes in from the application . 2.  Couchbase Server responses back that they key is written 3. Couchbase Server then Replicates the data out to memory in the other nodes 4. At the same time it is put the data into a write que to be persisted to disk
  • Transcript

    • 1. Featured speakers include:As a thanks for attending this webinar, get 10% off. Use discount code WEBINAR.
    • 2. Couchbase Server 2.0 andCross Datacenter Replication (XDCR) Alex Ma Senior Systems Engineer, Couchbase
    • 3. Couchbase Open Source Project• Leading NoSQL database project focused on distributed database technology and surrounding ecosystem• Supports both key-value and document-oriented use cases• All components are available under the Apache 2.0 Public License• Obtained as packaged software in Couchbase both enterprise and community editions. Open Source Project
    • 4. Couchbase Server Easy Consistent High Scalability PE R F O R M A NC E Performance Grow cluster without Consistent sub-millisecondapplication changes, without read and write response timesdowntime with a single click with consistent high throughput Always Flexible Data On JSON JSON JSO JSON JSON N Model 24x365No downtime for software JSON document model with upgrades, hardware no fixed schema. maintenance, etc.
    • 5. Flexible Data Model { “ID”: 1, “FIRST”: “Dipti”, “LAST”: “Borkar”, “ZIP”: “94040”, “CITY”: “MV”, “STATE”: “CA” } JSON JSON JSON JSON• No need to worry about the database when changing your application• Records can have different structures, there is no fixed schema• Allows painless data model changes for rapid application development
    • 6. New in 2.0 JSON support Indexing and Querying JSON JSON JSO JSON N JSONIncremental Map Reduce Cross datacenter replication
    • 7. Market Adoption – CustomersInternet Companies Enterprises
    • 8. Cross Datacenter Replication (XDCR)• Replicates data between Couchbase clusters• Clusters can be in geographically different locations• Allows for: – Offline work cluster – Active Backup – Geographically local data for better performance• Configured on a per-bucket basis• Unidirectional and bidirectional support• Bidirectional allows active/active replication• Scales out linearly
    • 9. XDCR Use Case: Unidirectional• Hot spares (active backup)• Development/testing• Offline analysis/processing
    • 10. XDCR Use Case: Bidirectional• Multiple clusters for distributing workload• Cluster for client update/operations• Cluster for company updates/operations
    • 11. XDCR Use Case: Multiple• Geographically Local Clusters
    • 12. XDCR Considerations• Clusters must use the same platform• Clusters may be different sizes/configurations• XDCR is driven by the source cluster – Sending cluster is responsible for determining documents to replicate• XDCR replicates after document written to disk• Multiple document changes are combined to reduce network bandwidth• Design documents/view definitions are not replicated• Replication is cluster aware – Automatically handles node changes/failover/rebalance
    • 13. XDCR: Replication Types
    • 14. Active/Active XDCR
    • 15. Underlying Operation 2 Doc 1 App Server Couchbase Server Node 33 2 33 Managed Cache 2To other node Replication Doc 1 Queue Disk Queue Disk Doc 1 XDCR Queue To other cluster
    • 16. XDCR Internal Operation• Documents are pushed to XDCR during disk write• Checkpoints are used to record replication progress• Documents data and metadata are combined to create unique change information – Aim is to prevent document update conflicts – Conflict resolution automatic• Design Documents/Views are not replicated• Network and system outages – Transient failures cause a pause and restart when network connection available – Longer problems may require recreation• Replications are persisted over restarts/reboots
    • 17. XDCR Configuration
    • 18. XDCR Configuration• Create a cluster reference – IP address of one node – Use CNAME or alias• Create a replication – Replications are Unidirectional in nature – Replicates a single bucket to a specific bucket on remote cluster reference• For bidirectional – Configure replication on Cluster A to Cluster B – Configure replication on Cluster B to Cluster A• Clusters must be same platform
    • 19. XDCR Communication• XDCR Replication occurs over port 8092 – Cluster configuration is loaded on port 8091• Replication occurs between every node in each cluster – Communication is direct between vBuckets on each node – Every node must be able to communicate on port 8092 to remote cluster• Checkpoints are used to update progress between clusters – Allows for stop/restart without transferring all data – Optimizes data exchange
    • 20. XDCR Configuration in Cloud Deployments• Make sure ports 8091 and 8092 are accessible between clusters• Use the public IP address in the destination cluster• Use DNS CNAME is ensure individual IP address changes do not affect replication operation• Traffic is not encrypted – Use VPN for secure transmission
    • 21. XDCR Performance• XDCR is mainly CPU intensive• Number of parallel streams configurable through REST API• Network bandwidth will increase on each node – Up to double based on changes and stream• I/O Usage will increase – Up to double based on data sent and received• RAM usage will increase – As data is queued (from incoming XDCR)• Bidirectional, and multiple streams, increase requirements further – See admin-restapi-xdcr-internal-settings.html
    • 22. Conflict Resolution• Conflict resolution is automatic• XDCR monitors multiple per-document info to create unique fingerprint: – Document ID – Numerical sequence, which is incremented on each mutation – CAS value – Document flags – Expiration (TTL) value• Clusters automatically and consistently use the ‘latest’ computed document version
    • 23. Monitoring XDCR• Use the XDCR Section of the Admin UI – Status column shows ‘Replicating’ when working – ‘Last x errors’ during transient failure – Failed when requires recreation• Per-bucket, per-replication statistics – Outgoing XDCR monitors replication from this cluster to remote cluster – Incoming XDCR monitors replication from remote cluster to this cluster
    • 24. Thank you! Get Couchbase Server 2.0 @couchbase
    • 25. Featured speakers include:As a thanks for attending this webinar, get 10% off. Use discount code WEBINAR.