What is Cloudant?

Cloudant is a JSON database, based on Apache CouchDB, delivered as a fully-managed, highly-available service.  It leverages self-describing JSON “document” storage schemas to allow for flexible and agile application development.  Cloudant is built using a master-master (also known as, “master-less”) clustering framework that can span multiple racks, data centers, cloud providers, or devices.

Unlike traditional database systems, all data replicas are available for both reads and writes. Cloudant’s CouchDB-style replication and sync capabilities make it ideal for mobile and web apps built with Offline First  design principles like having native access to data on the device or in the browser, and letting the database handle sync to remote copies in the cloud. 

Cloudant also delivers real-time indexing for online analytics, ad hoc full-text search, and advanced geospatial querying. These features are based on open standards including: Apache CouchDB, Apache Lucene, GeoJSON, and others.

What does IBM Cloudant manage for me?

Cloudant handles software and hardware provisioning, management and scaling, and support. A users receives guaranteed high availability of the database and elastic scaling of the hardware as a user's provisioned throughput capacity needs change.

What is Cloudant Local?

Cloudant Local packages the always-on technology of Cloudant with streamlined DBaaS operations tooling and all the institutional knowledge that Cloudant developer-operators have acquired over the years to put the power of DBaaS in the privacy of your own data centers. Get the developer edition here.

What is a Document data store?

Document data stores are represented in JSON, or JavaScript Object Notation, and have the characteristic that every document is itself a complex data structure. Documents can contain nested structures of various data types, including other objects. Users of a document database are able to query into these complex structures, retrieving or updating portions of the document (or the entire document) without the need to lock down the database to do so. Documents are stored and retrieved via a primary key that is unique to every document (similar to the key in a key-value store).

Why JSON?

Part of JSON’s immense appeal with developers stems from its schema which can rapidly evolve without intervention by database administrators.  JSON offers a simple and elegant model for persisting Java or JavaScript objects (thanks to the tight affinity that JSON has with JavaScript). This allows developers to construct a data layer solution without the need for heavy-weight persistence solutions such as OpenJPA or Hibernate. Finally, there is an elegance to JSON’s data modeling that relational databases cannot replicate: storing a single JSON document to represent a real-world object is much more intuitive than storing N numbers of rows in a relational database as a normalized object.

How is Cloudant different than CouchDB?

While Cloudant is API-compatible with CouchDB, the primary difference in functionality between Cloudant and Apache CouchDB is that Cloudant has layered additional open- source technologies for full-text search and geospatial indexing capabilities. We have also developed our own monitoring and operations systems to ensure high availability and performance. Further, Cloudant engineers handle all the ongoing database monitoring and infrastructure maintenance, so you can spend more time building your app and less time worrying about your database. 

Apache CouchDB is an active open-source project, protecting customers against vendor lock-in as a reliable alternative to document-oriented database vendors. With Cloudant and CouchDB, the migration path in either direction is simple. The two systems share a common replication protocol, which lets developers synchronize copies of their Cloudant data to a remote CouchDB instance (or vice versa), at the push of a button. 

Apache CouchDB entered the Apache Incubator in February 2008 and became an Apache Top-level Project in November of the same year. Visit http://couchdb.apache.org/ for downloads, documentation, and ways to become involved with Apache CouchDB.

What is Offline First architecture?

Offline First architecture is building your app to delight users without requiring a connection to the internet. Instead of assuming the lack of connectivity is an error condition, the app is designed to provide users the opportunity to interact with your app without connection. Using Cloudant Mobile Sync, mobile apps can collect and read data even if network connectivity is unavailable. When the connection is re-established, the data will be synced with IBM Cloudant. 

Cloudant works seamlessly with Hoodie and PouchDB. Hoodie is an open-source Node.js back end for Offline First applications. PouchDB is an open source JavaScript database that works in web browsers and can sync with Cloudant. This interoperability enables seamless data replication and syncing across any data store that implements the CouchDB Replication Protocol, powering endless varieties of Offline First data architectures.

How does Cloudant pricing work?

Cloudant has two plans: Lite and Standard. The Lite plan is perpetually free and offers XYZ, and the Standard plan has four tiers that allow for more granular control over provisioned throughput capacity. The Standard plan allows for 20GB of data storage free and charges XYZ.

Cloudant pricing is based on two major metrics:

  •    Provisioned throughput capacity
  •    Data usage

The provisioned throughput capacity is a per-second metric and is broken out between three request classes: lookups, writes, and queries. Lookups are single doc reads, writes include doc and index writes, and queries include any read to a Cloudant index. See the latest updates to the Cloudant Documentation for details on what API requests make up each of these request classes. The data usage consists of both primary data and indexes.

Are client libraries available for popular languages like Java, Python, and Node.js?

  • There are also several open source libraries available for most commonly used programming languages.  

Get started on Cloudant in minutes

A managed NoSQL database service that moves application data closer to all the places it needs to be — for uninterrupted data access, offline or on.