IBM Cloud Docs
What is IBM Cloudant?

What is IBM Cloudant?

IBM Cloudant is a Database-as-a-Service (DBaaS) with an HTTP API that runs in the IBM Cloud to store JSON data securely, flexibly and with high availability for always-on applications.

IBM Cloudant is a close relative of the open-source database Apache CouchDB and is run as a service so that customers don't have to worry about managing servers, networking, load balancing, database upgrades, database tuning or license fees - it is simply consumed over an encrypted HTTP API and charged by usage and data volume.

An IBM Cloudant instance lives in an IBM Cloud region and stores JSON documents in collections called databases. Each JSON document in a database is stored in triplicate (across multiple availability zones where supported) to allow IBM Cloudant to remain available even during availability zone outages.

Finally, data can be bi-directionally replicated across regions, to allow applications to survive regional failures with minimal downtime.

Querying and Indexing

IBM Cloudant has a number of querying options:

  • Retrieving individual documents efficiently using the document's primary _id field.
  • MapReduce Views for data selection and aggregation by customer-defined secondary keys, built from values inside the document bodies.
  • Apache Lucene-based search indexes for free text matching or queries on one or more nominated indexed fields.
  • IBM Cloudant Query, a MongoDB-like declarative query language that sits atop MapReduce views, search indexes and the primary index to provide a higher-level API.

Benefits

Flexibility

Unlike a relational database, the schema of a IBM Cloudant document does not need to be declared to the database - indeed, many document types can co-exist in the same database. This flexibility allows developers to turn their application's objects into JSON and store them in the database with ease, and change their mind about the design later without costly database schema migrations.

Scalability

IBM Cloudant is designed to scale from very small and zero-cost (on our Lite plan) to very large with linear billing costs proportional to the volume of data stored and the rate of read, write and query API calls made per second. An IBM Cloudant instance can have hundreds of databases, with the potential for a database to store billions of documents. In total, an IBM Cloudant instance can store tens of terabytes of data.

Paid plans can be scaled up and down in the web UI or through our API to meet expected demand or to scale back during quiet times.

Cross-region sync

IBM Cloudant's replication allows two or more IBM Cloudant databases' changes to be written bi-directionally, whether in the same instance or to a different instance, perhaps in another location. This allows cross-region topologies to be deployed for even higher availability, to provide a geographically separate backup or to have a writable copy of an application's data nearer to its users - like a CDN for databases.

Always-on Availability

The IBM Cloudant service is managed 24/7 by IBM Engineers across the globe. Hardware refreshes, disk drive replacements, operating system upgrades and IBM Cloudant code releases are all handled with zero downtime.

HTTP API, Dashboard, and SDKs

IBM Cloudant has an HTTP API and each instance has a web UI to provide easy management of an IBM Cloudant instance, its databases, indexes and documents.

IBM Cloudant provides SDKs to help your application to interact with databases programmatically in Node.js, Java, Python and Go.

IBM Cloudant's SDKs transparently interact with IBM's Identity and Access Management (IAM) service to provide access control to the IBM Cloudant instance at a database level.