Data Analytics

Introducing Compose-hosted Databases on Bluemix

Share this post:

When IBM acquired Compose in July 2015, we added many of Compose’s hosted databases to the Bluemix catalogue, but users were still required to visit the Compose website to configure their accounts separately. As of today, Compose’s entire roster of services is now available entirely through the Bluemix catalogue. This means that Bluemix customers can get a seamless experience when deploying Compose-hosted open source databases.

Now you can deploy MongoDB, Redis, Elasticsearch, PostgreSQL, RethinkDB, etcd and RabbitMQ on Bluemix with the click of a button. Each database is deployed into a 3-node cluster automatically and includes high-availability, automatic failover, daily backups (with weekly and monthly snapshots) and auto-scaling. With Compose, you can deploy a production-ready database in minutes.

Don’t put off planning for database scalability

Databases are often the most neglected part of building new applications, especially for small teams or agile teams that have only so much time to spend on configuring and managing their data layers. Many devs will set up a database quickly, connect their app to it, and then manage it only if they have time. The difficulties come when it’s time to scale, or a new query causes slow queries, or there’s an outage and backups need to be restored. By deploying databases on Compose in HA configurations, with automatic backups, and auto-scaling from the get-go, developers can spend less time managing their databases and more time building their apps.

Each Compose-hosted database, with the exception of the in-memory databases, is priced with 102 MB RAM and 1GBs storage. Customers are charged based on storage only. MongoDB, for example, begins at $31 per month and costs an additional $18/GB thereafter. In-memory databases, such as Redis, start with 256MB RAM and scale similarly. Compose’s autoscaling feature automatically increases RAM and storage simultaneously as you add more data so your app always has enough memory and IOPs to support even during unexpected peak usage.

Which Compose-hosted database is right for you?

If you’re new to some of the databases that Compose offers, you might be wondering which ones you should choose for your project. For that, here is a short introduction to each database.

  • PostgreSQL: PostgreSQL is currently the only SQL database Compose offers. PostgreSQL can be used for any situation that calls for a relational schema or requires transactions. PostgreSQL is a very mature, robust open source database and scales well for various types of applications. Note that PostgreSQL also provides for “schema-less” data storage through its JSON and JSONB data types.
  • MongoDB: MongoDB is one of three document-type databases Compose currently offers (the other two are RethinkDB and Elasticsearch). The documents in MongoDB are expressed in JSON and arranged in collections within the database. If your application requires more speed than a relational database, will operate at the document level, and needs schema flexibility, then MongoDB is a great solution to choose. This flexibility and speed can be taken advantage of during rapid development and prototyping, before a more structured schema is settled on.
  • RethinkDB: RethinkDB is also a document store that handles JSON documents, but it’s got some differentiating qualities from MongoDB. One of these is the language developed for use with RethinkDB: ReQL. ReQL is a robust query language that allows you to develop complex queries against your collections and within documents, even allowing for joins across tables (yes, it has the concept of tables).
  • Elasticsearch:
    As the name implies, Elasticsearch is great for search. Elasticsearch is a distributed database built on Apache Lucene, which underlies many web search engines. For documents stored in Elasticsearch, all fields in the documents are automatically indexed so complex queries can be used to retrieve the data. It also provides full-text search that supports auto-complete, contextual search, and multiple languages.
  • Redis: Redis is an in-memory key/value store and its claim to fame is its lightning speed. Because of this, it is often used for data caching or even as a buffer while data moves through it to another source. Redis can be used for any application that requires instantaneous data operations, such as a chat application. We also recommend Redis because it’s the perfect companion to use with your other databases to take some of the load off of them and perform frequently-needed operations in-memory.
  • etcd (beta): Compose’s other key/value store is actually a distributed cluster configuration management service to help you build your application. At its simplest, etcd, currently in public beta, can be used just to manage the connection configuration information for your various data stores and application layers. etcd uses the RAFT consensus algorithm to assure data consistency in your cluster and also enforces the order in which operations take place in the data so that every node in the cluster arrives at the same result in the same way.
  • RabbitMQ (beta): RabbitMQ, also currently in beta on Compose, is an open source distributed asynchronous message broker. It acts kind of like a temporary database for messages to pass through. It routes messages where they need to go and provides a temporary home until they can be picked up. It can be used for any situation where applications, databases, or other services need to communicate to each other asynchronously.

Give Compose-hosted open source databases a try!

Now that we’ve introduced you to Compose-hosted open source databases, it’s time to give them a try. Log-in to your Bluemix account today to deploy one or multiple databases:

We will also publish a new blog soon with a more technical deep dive on getting started with Compose on Bluemix.

IBM Watson and Cloud Platform

More stories
April 30, 2019

Introducing IBM Analytics Engine v1.2 and Announcing the Deprecation of IBM Analytics Engine v1.0

We are excited to inform you about the new version of IBM Analytics Engine v1.2 that will be available starting May 15, 2019. Along with this release, Analytics Engine v1.0 will be retired.

Continue reading

April 23, 2019

Announcing the Deprecation of the Watson Machine Learning JSON Token Authentication Service

We’d like to inform you about the deprecation of the Watson Machine Learning JSON Token Authentication service. This method of authentication will be retired on May 30, 2019.

Continue reading

April 19, 2019

Introducing IBM Cloud Object Storage Firewall: Further Secure Your Data

IBM Cloud Object Storage (COS) is giving you more control over who can access your data. We have introduced a new capability allowing you to configure your buckets with trusted IP address(es) that will dictate access to the data in COS.

Continue reading