February 13, 2019 | Written by: Michael Breslin
Categorized: Databases | Think 2019 | What's New
Share this post:
Introducing IBM Cloudant partition queries
The adoption and growth of the IBM Cloudant Lite and Standard plans that we introduced to the IBM Cloud in 2016 have been incredible. However, our customers have a few common requests, with one of the biggest being that the queries request class is too expensive and it’s hard to use a data model that makes use of the cheaper lookups request type.
To meet our customer demands while improving the scalability and performance of Cloudant, we are excited to introduce a new query style which offers a more scalable, faster, and cheaper way to query a Cloudant database.
The info behind partition queries
Partition queries cost up to 20x less and significantly improve response times over global queries. With this new feature, customers can decide at database creation time whether or not to create the database with partitions. Partitioned databases will require a partition key for every document in the database. A partition in a Cloudant database is a logical grouping of documents that can be queried together by specifying the partition key at query time. Common partition keys could include usernames, IoT device ID’s, or locations. Partitioned database documents also have an
_id field, but the
_id field is in two parts—the partition key and the document key—separated by a “:” character:
Querying a partitioned database with a partition key can be done against MapReduce view, search, or Cloudant Query indexes. See the database partitioning documentation for more details on how to leverage this feature and what makes a good partition key in IBM Cloudant.
Renaming request classes
As part of the rollout of partitioned databases, we will be renaming the request classes that make up the provisioned throughput capacity pricing model in IBM Cloudant Lite and Standard plan instances:
- Lookups will become reads and encompass both document lookups by _id and partition queries.
- Writes will remain as is.
- Queries will become global queries to distinguish against the costing for partition queries.
You can continue to scale your Cloudant instances on demand in blocks of:
- 100 reads/sec
- 50 writes/sec
- 5 global queries/sec
See the event types documentation for more details and the specific costing involved when using partition queries.
IBM Cloudant partition queries beta is immediately available for all newly deployed instances in all six major IBM Cloud locations of Dallas, Washington DC, London, Frankfurt, Tokyo, and Sydney. In the coming weeks, we will GA the feature and enable it across all IBM Cloudant environments. If you have any questions, please reach out to support and we will be happy to help you make use of partition queries in your application.