What a year it's been for Compose. We...
- Brought MongoDB 3.2, PostgreSQL 9.5, ElasticSearch 2.4.0 and Redis 3.2 to the Compose system
- Built features around them to make working with them even easier
- Grew to keep up with demand for our production-ready databases and talking about those challenges and the the tools we use
- Introduced Compose for MySQL and ScyllaDB in beta to the Compose platform
- Promoted RabbitMQ out of beta
- Introduced Compose databases as a service on IBM Bluemix
- Added Google's Cloud Platform as a deployment option for Compose databases
- Announced and shipped the Compose Enterprise option for private database clusters
- Integrated FIDO universal 2nd-factor authentication into the Compose UI
- Held our first DataLayer conference
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:
- Window Frames in PostgreSQL
- Calculating a Moving Average in PostgreSQL
- Making Data Pretty in PostgreSQL
- Creating Pivot Tables in PostgreSQL using Crosstab
- Beyond Average: A Look at Mean in PostgreSQL
- Meet in the Middle Median in 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 Elasticsearch.pm 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.