– Senior Instructor, Couchbase – ~11 Years Professional Teaching and Consulting Experience – Worked at Pivotal – Instructor/Consultant for Spring/Spring Security/Spring Web/Enterprise Integration with Spring/Spring JMS/Spring Web/Spring Batch, Pivotal Hadoop/Cloud Foundry – PhD in Computer Science from Christ University [thesis accepted] – Hard-core Dog lover
web and business applications “one size fits all” - thinking concerning data-stores has been questioned Apply NoSQL databases for the persistence layer/Polyglot Programming
it at any given point in time after a certain time all nodes are consistent, but at any given time this might not be the case information (state) the user put into the system that will go away if the user doesn't maintain it BASE
identical data, at all times? • Availability – can all nodes be read from and written to, at all times? • Partition Tolerance – will nodes function normally, even when the cluster breaks? Consistency Partition Tolerance Availability CHOOSE ANY TWO
Immediately consistent data across a horizontally scaled cluster, even with network problems - Couchbase • AP: Availability and Partition Tolerance - Always services requests, across multiple data centers, even with network problems, data eventually consistent - Apache HBase or Cassandra, Couchbase (XDCR) • CA: Consistency and Availability - Always services requests with immediately consistent data, in a vertically scaled system - MySQL, Oracle, Microsoft SQL Server
Real time intelligence • Focus on data flows and processes • Extremely fast (in- memory) reads • Extremely fast (log append) writes • Improve the current outcome Analytical Use • Batched workloads • Vast data aggregations • Retrospective analyses • Focus on data pools • Improve future outcomes
• Key and a simple value - Speed - Scale - Simplicity • Find simple values by key extremely fast Clarence user::1234 Melisa user::1235 Michael user::1236
- Write vast volumes of data, with eventually consistent read access user::1234 name: text Frank age: number 37 kid: text Sue Ann Bob user::1235 name: text Carolyn age: number 56 kid: text Tina
data storage technologies for different kinds of data • We need to ask how we want to manipulate the data. This will help us figure out which persistence technologies are appropriate - User Sessions: Couchbase (Memcached)/Redis - Financial Data: RDBMS - Shopping Cart: Riak/Couchbase (Memcached) - Recommendation Systems: Neo4J - Product Catalog: Couchbase/MongoDB - Reporting: RDBMS/Couchbase Views - Analytics: Couchbase/Cassandra
CouchDB database project Membase and CouchOne joined forces in February 2011 to create Couchbase, the first and only provider of a comprehensive, end-to-end family of NoSQL database products
“document” database solution • Has key/value based orientation • Is geared for JSON • Has no tables and no fixed schema • Runs on a networked cluster of nodes • Is highly scalable • Is lightning fast read/write • Has caching and persistence layers • Automatically fails-over • Couchbase Server is best suited for fast-changing data items of relatively small size
NS Server EP Engine NS Server EP Engine NS Server EP Engine {Server List} 1. REST request 8091 5. Create, Read, Update and Delete Documents Becomes a Smart Client
on Couchbase: http://training.couchbase.com CD220: Developing Couchbase NoSQL Applications Oct 20 – Oct 23 2015 CS300: Couchbase NoSQL Server Administration Nov 17 – Nov 20 Enroll Today!