What is IBM Cloudant?
IBM Cloudant is a document database available as a Database-as-a-Service (DBaaS) with an HTTP API that runs in the IBM Cloud to store JSON documents securely, flexibly and with high availability for always-on applications.
IBM Cloudant is built on the open-source database Apache CouchDB. It has a compatible API and replication protocol, and is run as a service so that customers don't have to worry about managing servers, networking, load balancing, database upgrades, database tuning - it is simply consumed over an encrypted HTTP API and charged by transactional usage and data storage.
Each IBM Cloudant instance stores data in a single IBM Cloud region. The stored JSON documents are automatically split into shards for horizontal scalability. Database shards are stored in triplicate across multiple availability zones allowing IBM Cloudant to remain available even during availability zone outages.
IBM Cloudant supports bi-directional replication across regions, to allow applications to also survive regional failures with minimal downtime.
Benefits of choosing IBM Cloudant
Flexibility
Unlike a relational database, IBM Cloudant supports flexible, schema-free JSON document storage. This allows applications to store objects as JSON in the database with ease, and later change the data model without costly database schema changes or migrations.
Scalability
IBM Cloudant is designed to scale. Customers can start from a small, zero-cost Lite plan. They can scale to very large instances on multi-tenant or dedicated plans, which can store terabytes of data. IBM Cloudant has linear billing, proportional to the volume of data stored and requested read, write and query throughput per second. An IBM Cloudant instance can have multiple databases, and each database can store billions of documents.
Paid plans can be scaled up in the IBM Cloudant web UI or API to meet expected demand, or to scale down 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 region or in another account. Data can be synchronised globally, and applications can write to their nearest copy of the data.
This allows IBM Cloudant for cross-region topologies. These allow your data to remain available during region failures, 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. Hardware refreshes, disk drive replacements, operating system upgrades and IBM Cloudant code enhancements and releases are handled with zero downtime.
HTTP API, Dashboard, and SDKs
IBM Cloudant has an HTTP API which makes it easy to integrate with web applications and microservices, enabling access from virtually any programming language or environment. IBM Cloudant has a web UI to provide easy management of an instance, its databases, indexes, documents, replications and more.
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.
Search, Query and Index
IBM Cloudant has several querying options:
- Retrieving individual documents efficiently using the document's primary
_id
field. - Views for data querying and aggregation using customer-defined keys, built from values inside the document bodies.
- Apache Lucene-based search indexes for language-aware free text matching, or queries on one or more indexed fields.
- IBM Cloudant Query, a MongoDB-like declarative query language that sits atop views, search indexes and the primary index to provide a higher-level API.