1 / 27

Introduction to NoSQL with Couchbase Server

Introduction to NoSQL with Couchbase Server. About the Speakers. Senior Architects @ Sela Group Authors of “Pro Couchbase Server” and others Big Data and NoSQL nerds. @ DavidOstrovsky @ YRodenski. A brief history of data. Relational Databases. Normalized A tomic C onsistent

winter-cook
Download Presentation

Introduction to NoSQL with Couchbase Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to NoSQL with Couchbase Server #devconnections

  2. About the Speakers Senior Architects @ SelaGroup Authors of “Pro Couchbase Server” and others Big Data and NoSQL nerds @DavidOstrovsky @YRodenski #devconnections

  3. #devconnections

  4. A brief history of data #devconnections

  5. Relational Databases Normalized Atomic Consistent Isolated Durable • Vertical Scaling • Inflexible Schema #devconnections

  6. All your BASE are belong to us. • BASE • Basically Available • Soft state • Eventual consistency Welcome to the wonderful world of NoSQL!

  7. The CAP conjecture A vailability Pick Two C P artition Tolerance onsistency

  8. Documents, and objects and graphs, oh my… Graph Document Column Key-Value Memcached Couchbase Neo4j Google BigTable RavenDB GraphBase #devconnections

  9. A little history… • Couchbase Server originates from: • Membase - a distributed in-memory cache • Apache CouchDB – a document database #devconnections

  10. So what does it do? • Stores documents in JSON format • Caches documents in memory • Indexes document contents • Automatically shards data • Stores multiple replicas for resilience #devconnections

  11. When should I use it? • High performance requirements • High Throughput • Low latency • Scalability • High availability • Developer friendliness • Flexible schema • Simple CRUD and secondary indexes #devconnections

  12. get("Doc 13") Client Node 1 Node 2 Node 3 Bucket1 Bucket1 Bucket1 Cluster Map vBucket 1 vBucket 2 vBucket 3 Doc 1 Doc 7 Doc 13 Active vBucket 2 vBucket 1 Doc 7 Doc 1 Replica vBucket 3 Doc 13 #devconnections

  13. How do I connect? • Official Client SDKs: • Java, .NET, C, PHP, Python, Ruby and Node.js • Community Client SDKs: • Go, Clojure, Erland, Perl, TCL #devconnections

  14. Tables? We don’t need no tables! { "name": "John", "age": 35, "address": { "city": "New York", "street": "…" } } #devconnections

  15. Working with documents • Access documents by key • Key-based operations are very fast • Sub-millisecond responses • Documents are stored in memory, then written to disk asynchronously • Normally, documents are retrieved from the memory cache #devconnections

  16. CRUD • All operations are exposed by the Couchbase client object instance. • Add/Set:store a document in the database • Get: retrieve a document by key • Replace: update an existing document #devconnections

  17. Demo Time! Key-based operations #devconnections

  18. What about transactions? • Concurrency through Check-and-Setoperations • “CAS” value stored with each item, updated with every change • Optimistic concurrency: compare client and server CAS values • Pessimistic concurrency: lock the key exclusively for a specific session #devconnections

  19. Dude, where is my document? • In addition to keys (primary index), Couchbase supports secondary indexes, called Views. • Unlike key-based operations, which are served from memory, views are served from disk. • File system caches disk reads. #devconnections

  20. Demo Time, Again! A different view

  21. N1QL – How do you even pronounce that? • N1QL (aka “Nickel”) - an SQL-like query language for Couchbase • Expanded SQL syntax to account for nested documents, arrays, and cross-bucket joins • Currently in developer preview, coming in a future version #devconnections

  22. More Demo Time! Was that SQL I just saw? #devconnections

  23. Great, what else you got? • Cross-Datacenter Replication (XDCR) • CouchbaseLite (Mobile) • A NoSQL database for mobile apps • Can synchronize with CouchbaseServer • ElasticSearch • Use ES for querying and Couchbase for retrieval • Hadoop • Use sqoop to move data between CB and Hadoop #devconnections

  24. Use case: real-time data analytics • Couchbase: primary data store • ElasticSearch: indexes part of the data • Kibana: displays real-time analytics #devconnections

  25. So Many Demos! Everything is better with pie charts. #devconnections

  26. Summary • NoSQL brings a different and fun approach to data storage • Couchbase Server is a document database • Scalable, fast and simple to use • Ties into a whole ecosystem of big data solutions #devconnections

  27. Rate with Mobile App: Rate This Session Now! Tell Us What You Thought of This Session Select the session from the Agenda or Speakers menus Select the Actions tab Click Rate Session Be Entered to WIN Prizes! Rate Using Our Website: Register at www.devconnections.com/logintoratesession Go to www.devconnections.com/ratesession Select this session from the list and rate it

More Related