Compose's 2016 - All about the database


What a year it's been for Compose. We...

And if that's not enough, read on to find out what happened with your favorite databases at Compose.


2016 started with MongoDB 3.2 on the beta of Compose's new MongoDB+SSL deployments. Those beta deployments became the default MongoDB configuration on the Compose platform after a month and came complete with support for WiredTiger and Oplog access. The addition of new import capabilities to MongoDB to help people migrate came later in the year. MongoDB 3.2 itself offered some exciting new features such as partial indexes, validation, improved aggregation and lookup which were covered in the Compose Articles blog.

There was also coverage of other subjects like connection pooling, connecting with Go, using Meteor 1.4 with Compose, MongoDB data transfers with NiFi, geospatial queries and using Node-RED with MongoDB for prototyping apps. GraphQL is up and coming and we looked at using it with MongoDB early in the year, thanks to a Write Stuff author.


The arrival of PostgreSQL 9.5.2 in April got us asking, and answering, a regular question - "Could PostgreSQL 9.5 be your next JSON database?". PostgreSQL 9.5 included some great new features: row level security and group by options (following on from 2015's look at upsert in 9.5).

PostgreSQL deployments saw many enhancements: cross database queries extensions, performance and extension views for your Compose console, and a SQL query data browser to let you browse PostgreSQL's data from your browser.

In Compose Articles, we explored PostgreSQL features like full-text search indexing and per-connection write consistency. There were also looks at some alternative ways of accessing your PostgreSQL data such as using PostgREST to create a RESTful API from your schema, hugsql with clojure for an SQL-centric approach and a look at PostGraphQL for quickly bringing GraphQL to your database.

Compose's in-house analytics "Metrics Maven" started a new and on-going series, and as you might expect with us using PostgreSQL in-house there were a lot of useful articles about breaking down data using PostgreSQL:


The recent update to Elasticsearch 2.4.0 on Compose is designed to keep things fresh as we have worked on making Elasticsearch more accessible with a new data browser. Meanwhile, in Compose Articles, there's been a look at how to set up Kibana locally to explore your Elasticsearch deployments. Elasticsearch on Compose also got simplified and more effective security with our new Let's Encrypt based TLS Certificates.

Compose's Elasticsearch coverage included a wide range of subjects in 2016. There was a four-part series on Elasticsearch and Perl on how to connect and monitor an ElasticSearch Cluster, how to do indexing, advanced index options, and how to use the querying and search features of the perl module. For the more modern developer, they now could learn how to leverage their Node.js skills with our Getting started with Elasticsearch and Node.js five part series which worked with real data (2, 3, 4 and 5).

Compose's Metrics Maven also added to our library of Elasticsearch articles by looking at how scoring works, a mini-series on increasing Elasticsearch relevance, and a deep dive into how to use query string queries effectively.


Redis on Compose saw many improvements over the year. We started exposing more controls for it like the KEA switch so you could tune it for your needs, and we let you secure it with SSH tunneling from the Compose Redis console. Our developers also added a data browser, made migrations easier with new Redis importing, let you see slow logs, tuned the autoscaling resolution and improved our cache/storage Redis modes, boosting the cache performance for many users.

Updating to Redis 3.2 brought a number of new features to the database itself; one article looked specifically at the Redis Geo API, which offers applications new ways to understand the geographic proximity of things - ideal for mobile applications. Another looked at Lua scripting, an older feature which you needed to know about so we could talk about Redis 3.2's new Lua debugging. Compose Articles also looked at the most popular Redis drivers and using Redis PubSub and web sockets.


RethinkDB always impressed us with its solid engineering, and the release of RethinkDB 2.2.4 and 2.3.2 brought features like user authentication and native SSL to the database, and a new proxy to Compose RethinkDB deployments.

Compose articles showed different ways to connect to RethinkDB, such as from Elixir applications and by using the new Java driver over SSL. Other articles demonstrated strategies for preventing data loss by configuring RethinkDB replicas, how to aggregate data from multiple tables using RethinkDB Joins, using new aggregation features like fold, and using the Thinky ORM for a more object-centric way of accessing RethinkDB.

Unfortunately, the company behind RethinkDB, RethinkDB Inc, had to shut down; the open-sourced engineering legacy and active planning to seed a new open source community mean Compose will continue to support RethinkDB.


With the promotion of Compose RabbitMQ out of beta, we also updated it to version 3.6.5, introducing new features like Lazy Queues. RabbitMQ was another platform which got the new Let's Encrypt based SSL/TLS certificates for AMQPS connections. Compose Articles looked at how to use MongoDB and RabbitMQ together to create resilient applications and using RabbitMQ in microservices.


Compose etcd entered beta in 2015 and hasn't left yet. Building a dynamic configuration service, a Write Stuff article, showed how to apply etcd in practice. We also showed you how to use etcdtool to backup and restore your etcd data and gave you a behind-the-scenes peek at how our engineering team tracked down a problem with performance degradation and fixed it.


This year, two new beta databases debuted on Compose - one of them was Compose for MySQL. This MySQL deployment is built on top MySQL 5.7.15 and makes use of InnoDB-based group replication to help deliver the high-availability and reliability that we incorporate in all out databases. Compose for MySQL is a recent arrival and, like other Compose databases, offers one-click deployments a cluster, SSL connections and a range of drivers for applications.


The beta release of ScyllaDB on Compose brings an Apache Cassandra compatible database to Compose for the first time. ScyllaDB presented at DataLayer and our own Nick Stott talked at Scylla Summit. Scylla CTO Avi Kivity also chatted with Compose Articles about what makes Scylla faster and lighter than Cassandra. Compose launched with Scylla 1.3 and the blog covered getting started with simple connections. We then followed that up with our better connected Scylla 1.4 release which lets you connect to all the Scylla nodes in your three node clusters.

2017, here we come

There's so much in the pipeline for 2017 at Compose and we know it'll make your data life so much better.

Image by Nitish Meena
Default avatar The default author avatar
The Compose Team The fine team of people at Compose have brought this article to you through teamwork. Remember, teamwork makes the dreamwork. Love this article? Head over to The Compose Team’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.