A developer's first look at M3

M3 is a distributed time series database, ideal for storing the data points from modern applications. Read Lorna Mitchell's first impressions and ideas.

21 July 2021
Lorna Mitchell
Lorna Mitchell RSS Feed
Developer Advocate at Aiven

What immediately strikes me about M3 is how it is designed to fit in alongside the other tools in a likely architecture. It has interfaces to match the ones we already know and love from Prometheus and InfluxDB. The integration with Grafana is also seamless.

It's as if M3 is designed to painlessly upgrade individual components of our existing data platform.

M3 speaks Prometheus

Prometheus is commonly used for server monitoring. If your platform is already sending data to Prometheus, then changing the data store to M3 will be painless. A server agent such as Telegraf can send data to M3 via its Prometheus write endpoints just as easily as it sends data to Prometheus itself.

There's nothing shiny here, because the intentional reuse of protocols does not make good headlines. It does however make excellent integrations and successful migration projects, and I know which I prefer from the tools I choose!

As our platforms scale and grow, so do our monitoring data requirements. Since we outgrew our previous solution, Aiven now uses M3 in an observability setup. We think this platform could be very useful for other organisations on a similar journey.

M3 speaks InfluxDB

Whether you are replacing an existing InfluxDB for your time series data or metrics, or adopting M3 and making use of one of the existing tools that integrates with InfluxDB, M3 is here for you. The compatible wire protocol enables both seamless migrations of existing platforms and easy adoption of M3 as a time series database platform in a new application.

InfluxDB is a mature platform and there are several libraries and integrations available. Since those will also work for M3, the learning curve for pushing data into the application is pretty flat. I found this makes M3 with all its incredible features and scalability a surprisingly approachable offering.

Grafanical ease of integration

The thing about time series data is that there's rather a lot of it. That's even more true if you're building at a scale that needs M3. Luckily, the Aiven platform makes it very simple to link the M3 service with a Grafana dashboard using the Prometheus read API that M3 offers. This brings your data into Grafana, alongside any other data sources that you're already using, and lets you start visualising what's going on in your application.

M3 builds on all these existing integrations and adds some magical scalability into the mix. This makes M3 a very exciting prospect for developers, and it's a platform I'll be building on again in the future.

Further reading

Wrapping up

Not using Aiven services yet? Sign up now for your free trial at https://console.aiven.io/signup!

In the meantime, make sure you follow our changelog and blog RSS feeds or our LinkedIn and Twitter accounts to stay up-to-date with product and feature-related news.

m3time series databases
orange decoration
yellow decoration

Start your free 30 day trial!

Build your platform, and throw in any data you want for 30 days, with no ifs, ands, or buts.

orange decoration
yellow decoration

Start your free 30 day trial!

Build your platform, and throw in any data you want for 30 days, with no ifs, ands, or buts.

Products

Aiven for Apache Kafka®Aiven for Apache Kafka Connect®Aiven for Apache Kafka MirrorMaker 2®Aiven for Apache Flink® BetaAiven for M3Aiven for M3 AggregatorAiven for Apache Cassandra®Aiven for OpenSearchAiven for PostgreSQLAiven for MySQLAiven for RedisAiven for InfluxDBAiven for Grafana

Let‘s connect

Apache Kafka, Apache Kafka Connect, Apache Kafka MirrorMaker 2, Apache Flink and Apache Cassandra are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. ClickHouse, M3, M3 Aggregator, OpenSearch, PostgreSQL, MySQL, Redis, InfluxDB, Grafana are trademarks and property of their respective owners. All product and service names used in this website are for identification purposes only and do not imply endorsement.