Successfully reported this slideshow.
Upcoming SlideShare
×

# CouchConf London Syncpoint

984 views

Published on

• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

### CouchConf London Syncpoint

1. 1. Connecting Millions ofMobile Devices to the Cloud Marty Schoch @mschoch 1
2. 2. THE WATER CYCLE 2
3. 3. The water cycle Fun fact: In 20 minutes, one thunderstorm can drop 125,000,000 gallons of water. 3
4. 4. The water data cycle 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 4
5. 5. Increasingly, it starts and ends with a mobile device Collect 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 Capture Consume 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 1110101101011010001010101110101010101110101001010100101010101000101010101 5
6. 6. Actually, it starts and ends with a LOT of mobile devices Mobile-broadband The number of mobile- subscriptions have grown connected devices will 45% annually over the last exceed the world’s four years and today there population in 2012; and are twice as many mobile- monthly global mobile data broadband as fixed- traffic will surpass 10 broadband subscriptions. exabytes in 2016. Fun Fact: By the end of 1999, the sum of human-produced information (including all audio, video recordings and text/books) was about 12 exabytes of data, according to Berkeley study. 6
7. 7. PUTTING DATA TO WORK 7
8. 8. Make farming data work 8
9. 9. Make intelligence data work 9
10. 10. Make industrial data work 10
11. 11. Make business data work 11
12. 12. Connecting millions of mobile devices to the cloud analysis other farms Type 1 Type 2 Type 3 backup and sync sync relevant portion collect machine- my stuff of a database generated data 12
13. 13. We’ll focus on Type 2 Type 2 sync relevant portion of a database Most applications combine patterns. 13
14. 14. CHALLENGES … SOLUTIONS 14
15. 15. Type 2 Mobile Sync The ultimate home of the data for a business application is not on the device, but is a central data store in the cloud. 15
16. 16. Challenges Schema evolution Security Scalability of consolidated store Selection performance Bandwidth conservationReferential integrity on interruption Battery and memory conservation Deletion propagation New user provisioning Which data – temporal, spatial, user? Conflict detection and resolution Hard at “enterprise scale.” Excruciating at “web scale.” 16
17. 17. A multi-tier, scalable type 2 sync architecture App Server DOCUMENTS Elastic Search Couchbase M DOCUMENTS (TO INDEX) CHANNEL MEMBERSHIP Syncpoint F-channel C-channel Load balance DOCUMENTS SYNC METADATA 17
18. 18. DetailsSubject to Change 18
19. 19. ElasticSearch Queries and Syncpoint ChannelRegister ElasticSearch query named strongBeerfor percolation { "range": { "abv": { "from": 7, "to": 10 } } }Then define a Syncpoint channel with strongBeeras a member query 19
20. 20. The architecture, in more detail Document Mutation Couchbase Cluster TAP Stream Percolation Results ElasticSearch Cluster Syncpoint Cluster • Q1 • Q2 • C1 (Q1, Q2) • Q3 • C2 (Q2) • C3 (Q1, Q2, Q3) 20
21. 21. Syncpoint Client APIMobile Client Syncpoint Cluster Establish Session • Pluggable Authentication • Pairs user with device • Establishes control database Subscribe to Channel(s) • Creates a local installation of this channel • Bi-directional sync of channel documents 21
22. 22. TouchDB – Foundation for Syncpoint Native Library 22
23. 23. TouchDB Betas – Works with CouchDB Today Not a complete product but a functional open source projects with production deployments. Open source, and available from Couchbase labs. TouchDB for TouchDB for iOS Android 23
24. 24. JOIN THE COMMUNITYhttp://groups.google.com/group/mobile-couchbase 24
25. 25. THANKSMARTY@COUCHBASE.COM 25