couchconf london: couchbase server demo & tour

29
1 Couchbase Server Perry Krug Sr. Solutions Architect

Upload: couchbase

Post on 26-Jun-2015

513 views

Category:

Education


0 download

TRANSCRIPT

  • 1. Couchbase Server Perry KrugSr. Solutions Architect1

2. Couchbase Server Simple Fast = Elastic NoSQL Database Formerly known as Membase Server2 3. Couchbase Server Features Built-in clustering All nodes equal Data replication with auto-failover Zero--downtime maintenance Clone to grow and scale horizontally3 4. Couchbase Server Basic OperationAPP SERVER 1 APP SERVER 2 Docs distributed evenly acrossCOUCHBASE CLIENT LIBRARYCOUCHBASE CLIENT LIBRARYservers in the cluster Each server stores both activeCLUSTER MAPCLUSTER MAP& replica docs Only one server active at a time Client library provides app withRead/Write/UpdateRead/Write/Updatesimple interface to database Cluster map provides map towhich server doc is on App never needs to know SERVER 1 SERVER 2 SERVER 3 App reads, writes, updates Active DocsActive DocsActive DocsdocsDoc 5 DOC Doc 4DOCDoc 1 DOC Multiple App Servers canDoc 2 DOC Doc 7DOCDoc 3 DOC access same document atDoc 9 DOC Doc 8DOCDoc 6 DOCsame time Replica Docs Replica Docs Replica DocsDoc 4 DOC Doc 6DOCDoc 7 DOCDoc 1 DOC Doc 3DOCDoc 9 DOCDoc 8 DOC Doc 2DOCDoc 5 DOC COUCHBASE SERVER CLUSTER 4 5. Add NodesAPP SERVER 1 APP SERVER 2 Two servers added to COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARYcluster One-click operation CLUSTER MAP CLUSTER MAP Docs automaticallyrebalanced acrosscluster Even distribution ofdocs Read/Write/UpdateRead/Write/Update Minimum docmovement Cluster map updated App database calls nowdistributed over larger #SERVER 1SERVER 2SERVER 3SERVER 4 SERVER 5 of serversActive DocsActive Docs Active DocsActive DocsActive DocsActive Docs Doc 5 DOC Doc 4 DOCDoc 1 DOC Doc 3 Doc 2 DOC Doc 7 DOCDoc 3 DOCDoc 6 Doc 9 DOC Doc 8 DOCDoc 6 DOCReplica DocsReplica Docs Replica Docs Replica Docs Replica DocsReplica Docs Doc 4 DOC Doc 6 DOCDoc 7 DOC Doc 7 Doc 1 DOC Doc 3 DOCDoc 9 DOCDoc 9 Doc 8 DOC Doc 2 DOCDoc 5 DOCCOUCHBASE SERVER CLUSTER 5 6. Fail Over Node App servers happily accessing docson Server 3 COUCHBASE CLIENT LIBRARYCOUCHBASE CLIENT LIBRARY Server fails App server requests to server 3 fail CLUSTER MAPCLUSTER MAP Cluster detects server has failed Promotes replicas of docs to active Updates cluster map App server requests for docs nowgo to appropriate server Typically rebalance would followSERVER 1SERVER 2SERVER 3SERVER 4 SERVER 5Active DocsActive Docs Active DocsActive DocsActive DocsActive Docs Doc 5 DOC Doc 4 DOCDoc 1 DOC Doc 9DOC Doc 6DOC Doc 3 Doc 2 DOC Doc 7 DOCDoc 3 DOC Doc 8 DOCDoc 6Replica DocsReplica Docs Replica Docs Replica Docs Replica DocsReplica Docs Doc 4 DOC Doc 6 DOCDoc 7 DOC Doc 5DOC Doc 8DOC Doc 7 Doc 1 DOC Doc 3 DOCDoc 9 DOC Doc 2 DOCDoc 9COUCHBASE SERVER CLUSTER6 7. Couchbase Server Features Memcached compatible (built-in caching) Monitoring and administration APIs and GUI Reliable storage architecture7 8. Couchbase Server 1.8 Architecture11211 11210Memcapable 1.0Memcapable 2.0MoxiREST management API/Web UIvBucket state and replication manager Memcached Global singleton supervisorRebalance orchestrator Configuration managerNode health monitor Process monitor Heartbeat Couchbase EP EngineData Manager Cluster Manager storage interfacePersistence Layerhttp on each node one per cluster Erlang/OTP HTTPErlang port mapperDistributed Erlang 8091436921100 - 211998 9. Couchbase Server 1.8 Architecture11211 11210Memcapable 1.0Memcapable 2.0MoxiREST management API/Web UIvBucket state and replication manager Memcached Global singleton supervisorRebalance orchestrator Configuration managerNode health monitor Process monitor Heartbeat Couchbase EP Engine storage interfacePersistence Layerhttp on each node one per cluster Erlang/OTP HTTPErlang port mapperDistributed Erlang 8091436921100 - 211999 10. Couchbase Server 1.8 Architecture11211 11210Memcapable 1.0Memcapable 2.0MoxiREST Management /WebUIvBucket state and replication manager Memcached Global singleton supervisor Configuration ManagerRebalance orchestratorNode health monitor Process monitor Heartbeat Couchbase EP Engine storage interfacePersistence Layerhttp on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 2119910 11. Couchbase SDKsJava SDK User Code.Net SDKJava client APICouchbaseClient cb = new CouchbaseClient(listURIs,"aBucket", "letmein");cb.set("hello", 0, "world");cb.get("hello"); Couchbase Java LibraryPHP SDK(spymemcached)Ruby SDK Couchbase Serverand manymorehttp://www.couchbase.com/develop 11 12. DEMO TIME12 13. Couchbase Server 2.0 Next major release of Couchbase Server Currently in Developer PreviewWhats new: Indexing and Querying Incremental Map Reduce Cross Data Center Replication Fully backwards compatible with existingCouchbase Server 13 14. Couchbase Server 2.0 Architecture 8092 11211 11210 Query APIMemcapable 1.0Memcapable 2.0MoxiQuery EngineREST management API/Web UIvBucket state and replication managerMemcached Global singleton supervisorRebalance orchestrator Configuration managerNode health monitor Process monitor HeartbeatCouchbase EP Engine storage interface New Persistence Layer http on each node one per cluster Erlang/OTP HTTPErlang port mapperDistributed Erlang 8091436921100 - 2119914 15. Indexing and QueryingAPP SERVER 1 APP SERVER 2APP SERVER 1 APP SERVER 2 COUCHBASE CLIENT LIBRARYCOUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARYCOUCHBASE CLIENT LIBRARY Indexing work is distributed CLUSTER MAP MAP CLUSTER CLUSTER MAPMAP CLUSTER amongst nodes Large data set possible Parallelize the effort Each node has index for data QueryResponse stored on it Queries combine the results from required nodes SERVER 1SERVER 2SERVER 3Active Docs Active Docs Active DocsDoc 5DOCDoc 4DOCDoc 1DOCDoc 2DOCDoc 7DOCDoc 3DOCDoc 9DOCDoc 8DOCDoc 6DOCReplica DocsReplica DocsReplica DocsDoc 4DOCDoc 6DOCDoc 7DOCDoc 1DOCDoc 3DOCDoc 9DOCDoc 8DOCDoc 2DOCDoc 5DOC15 16. Cross Data Center Replication US DATAEUROPE DATA ASIA DATA CENTER CENTER CENTER ReplicationReplication Replication Data close to users Multiple locations for disaster recovery Independently managed clusters serving local data16 17. DEMO TIME17 18. Demo: The next big social game3 Objects (documents) within game: Players Monsters ItemsGameplay: Players fight monsters Monsters drop items Players own items 18 19. Player Document{"_id": "Keith4540","jsonType": "player","uuid": "35767d02-a958-4b83-8179-616816692de1","name": "Keith4540","hitpoints": 75,"experience": 663,"level": 4,"loggedIn": false}19 20. Item Document {"_id": "Katana_e5890c94-11c6-48-65746ce6c560","jsonType": "item","name": "Katana_e5890c94-11c6-65746ce6c560","uuid": "e5890c94-11c6-4856-a7a6-65746ce6c560","ownerId": "Dale9887" }Player _id20 21. Monster Document {"_id": "Bauchan9932,"jsonType": "monster","name": "Bauchan9932","uuid": "d10dfc1b-0412-4140-b4ec-affdbf2aa5ec","hitpoints": 370,"experienceWhenKilled": 52,"itemProbability": 0.5050581341872865 }21 22. GAME ON! 22 23. THANK YOU!Get Couchbase Server 2.0 athttp://www.couchbase.com/downloads Give us feedback at: http://www.couchbase.com/forums 23 24. QUESTIONS? 24 25. HousekeepingLONDONMarch 22, 2012 25 26. Tweeting #CouchConf26 27. Internet AccessNAME: CouchbasePASSWORD: 12345abcde 27 28. Tell us what you think! Fill in the conference eval form in your conference bag.Turn it in after theclosing session for your World Tourt-shirt! 28 29. Submit your questions! Submit your questions for the CouchbaseQ&A Panel at the end of the conference to: [email protected] 29