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. …


How do I ensure that I keep my attendees’ attention when I’m presenting virtually?

I don’t.

I have seen a few tactics for holding people’s attention during virtual events. One is to require everyone present to perform a particular action such as typing a message or clicking an icon, several times during a session. Another is to require cameras on if the platform allows it. I find this patronising and also unnecessary. Perhaps because my audiences are adults, and my only obligation is to deliver great material — not to spoonfeed anyone.

When I teach a class in person, I…


Time series data can be defined as a collection of data points or measurements taken at different times (as opposed to data about many objects concerning a single point in time). So structurally, time series data shares many characteristics with event streams.

In this article, we will go through some tips on telling the two apart.

Does it have a timestamp?

Time series data always has a timestamp; event data usually does as well. What makes this confusing is that very many other data models also include timestamps, so we’ll need to investigate further.

Is it ever updated?

Neither time series data nor event streams are ever updated. After…


Photo by Michail Sapiton on Unsplash

I think that Developer Relations is a fabulous career, and I’m often asked how I got started, or how someone else could get started. There are a lot of people hiring for Developer Relations roles just now (including me!) so here are my tips.

There are so many different Developer Relations roles (called “DevRel”) that I am definitely going to fall short of covering them all in any sort of detail! My own background is in Software Engineering, and I’ve mostly worked as a Developer Advocate since making the move into DevRel, so that’s my context here.

Are you Interested in People?

I am not…


Getting the different components in your systems talking nicely to one another relies on a rather mundane but crucial detail: a good data structure in the message payloads. This article will pick out some of the best advice we have for getting your Apache Kafka data payloads well designed from the very beginning of your project.

Use all the features of Apache Kafka records

The events that we stream with Kafka can support headers as well as keys and the main body of the payload. The most scalable systems use all these features appropriately.


There are some excellent articles around about what a Developer Advocate does, but have you ever wondered WHY we do what we do? I tried to articulate this when chatting with another developer lately, and I’m still thinking about it! So I thought I’d write it down to share a little more widely why I love this strange, misshapen career as much as I do.

It’s Alarmingly Varied

Sometimes when I’m doing career development talks or outreach (I’m a STEM Ambassador ) people will ask “Can you describe a typical day?” and the answer is … not really! Advocacy requires a lot of…


Perhaps you recognise Aiven as the multicloud platform for all your open source data needs, the one with the lovely web interface. And perhaps, if you didn’t already, you recognise us that way now :) But Aiven is more than just the Aiven Console, we also have an API for all your integration/automation needs. In this post, we’ll take a look at using the API and what you can do with it.

Presenting — the Aiven API

Aiven offers an HTTP API with token authentication and JSON-formatted data. A great place to start is the API reference documentation which gives you the details of all…


I’ve been using some fun open data sets recently but I’m more familiar with databases than with traditional data science formats (this one is CSV). Importing CSV into Postgres is fairly well-established, but you need a table structure to import into … and I was looking at a CSV with 50 columns (for my post about exoplanets on the Aiven blog). Enter this neat utility: ddlgenerator.

I used it for a CSV file and put the data into PostgreSQL but on closer inspection I realised that this tool can ingest a great selection of different formats, including JSON, YAML and…


The libraries I picked for this post are pgx which is a nice PostgreSQL-specific alternative to database/sql and Squirrel because I love the name (it also has some quite cool features).

Start with a database

It would make sense to already have a PostgreSQL database handy, ideally with some data in it. If you don’t already have an Aiven account, then sign up and start a PostgreSQL service. If you already have some data to use, great! I’m using some open data from the Kepler space mission, you can follow along with the recent blog post to set this up yourself.

In the Aiven…


PostgreSQL is and remains one of our most popular and growing storage platforms; other storage technologies come and go but modern Postgres is a solid choice for so many applications. When you spin up your first Aiven PostgreSQL, you’ll want to take some time to play with the features … but there’s a problem. Your new shiny database is empty.

Finding and using some open datasets is a great way to fill this gap, and one option is go try the Kaggle platform. It’s a place to find open data, advice about data science, and some competitions you can participate…

Lorna Mitchell

Polyglot programmer, technology addict, open source fanatic and incurable blogger (see http://lornajane.net)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store