{"data":{"coursesJson":{"slug":"couchdb","title":"Apache CouchDB","pyramid":"NoSQL","heroText":"Data Where You Need It","heroImage":"/courses/couchdb/icon.png","aboutTopic":"About Apache CouchDB","aboutText1":"Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability.","aboutText2":"Apache CouchDB™ lets you access your data where you need it. The Couch Replication Protocol is implemented in a variety of projects and products that span every imaginable computing environment from globally distributed server-clusters, over mobile phones to web browsers.","aboutPoints":["Single Node Database","Offline First Data Sync","HTTP/JSON"],"aboutImage":"/courses/couchdb/about.jpg","techTitle":"CouchDB Topics","techSubtitle":"The following are the things covered under Apache CouchDB.","techTitle1":"ACID Semantics","techTitle2":"Map/Reduce Views and Indexes","techTitle3":"Distributed Architecture with Replication","techTitle4":"Document Storage","techTitle5":"Eventual Consistency","techTitle6":"Built for Offline","techDesc1":"CouchDB provides ACID semantics. It does this by implementing a form of Multi-Version Concurrency Control, meaning that CouchDB can handle a high volume of concurrent readers and writers without conflict.","techDesc2":"The stored data is structured using views. In CouchDB, each view is constructed by a JavaScript function that acts as the Map half of a map/reduce operation.","techDesc3":"CouchDB was designed with bi-direction replication (or synchronization) and off-line operation in mind. That means multiple replicas can have their own copies of the same data, modify it, and then sync those changes at a later time.","techDesc4":"CouchDB stores data as DOCUMENTS, as one or more field/value pairs expressed as JSON.","techDesc5":"CouchDB guarantees eventual consistency to be able to provide both availability and partition tolerance.","techDesc6":"CouchDB can replicate to devices (like smartphones) that can go offline and handle data sync for you when the device is back online.","courseSubtitle":"The following are the course contents offered for Apache CouchDB","courseContents":["Why CouchDB?","Installation","CouchDB Basics","Design Documents","Cluster Management","Maintenance"],"subContents":[["Learning to Relax","A Different Data Model","Replication","Eventual Consistency","Data: Local","CouchDB Deployment and Peformance"],["Installation on Linux","Installation on Mac OS X","Using Homebrew","Using MacPorts","Installation on Windows","Installation from Source","Configuring and Building CouchDB","Running CouchDB"],["Using Futon","Managing Databases and Documents","Configuring Replication","Populating a Simple Database","Creating Databases","Creating Documents","Updating Documents","Deleting Documents","Deleting Databases","Common Operations","HTTP Operations","Errors","HTTP Headers","Request Headers","Response Headers","HTTP URL Paths","JSON","Documents","Document Structure","Document Types","Structure and Consistency"],["Creating Design Documents","Shows","Views","View Basics","Querying a View","Querying on Complex Data","Querying Compound Data","Reduce Functions","Built-in _count","Built-in _sum","Built-in _stats","Custom reduce functions","Error handling in views","Temporary views","Querying View Results","Lists"],["Theory","Node Management","Adding a node","Removing a node","Database Management","Creating a database","Deleting a database","Placing a database on specific nodes","Shard Management","Introduction","Examining database shards","Moving a shard","Specifying database placement","Resharding a database to a new q value","Clustered Purge","Internal Structures","Compaction of Purges","Local Purge Checkpoint Documents","Internal Replication","Indexes","Config Settings"],["Compaction","Performance","Backing up CouchDB"]]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"b68eaf01-bbaa-5bd7-a47e-cd9abaee99cc"}}