Compose's Little Bits #21: PostgreSQL futures, Go/MongoDB, Kafka Streams, libpostal, systemd, Slack, and Dropbox

Another early peek at PostgreSQL 9.6 features, a tale of Go/MongoDB optimization, Kafka and streams, addresses and libpostal, Slack security and Dropbox migration - all the links that caught the eye of Compose's technical content curator this week, in one place for you. These are Compose's Little Bits.

Database-y

PostgreSQL: The long predictable development cycle on PostgreSQL means that even though PostgreSQL 9.6 is tentatively scheduled for release at the end of the year, people like Thom Brown can give us a look at what's coming. In this part, Thom looks at monitoring features so you can watch while you VACUUM and wait. Talking about VACUUMing, Robert Haas tells of a patch he's committed for 9.6 which makes regular clean-ups with lots of data in one table a lot more efficient.

Go (and MongoDB): Although this article is headlines Go - Making a program 70% faster, by avoiding common mistakes the punchline is (spoiler) much more about thinking about how you interact with your database, whatever your language or database.

Kafka Streams: Apache Kafka 0.1.0 is coming and with it is Kafka Streams. This lets you build distributed stream processing applications on top of Kafka's messaging system. In Introducing Kafka Streams, original author of Kafka, talks about the neat bits of it like how it's a library (there's no framework and you don't need special clusters to support it) and how it sets about removing moving parts from streaming architectures.

Developer-y

libpostal: An article about libpostal for PostgreSQL leads one to find out more about the library which has taken on the challenge of addresses and applied statistical NLP to OpenStreetMap to make a multilingiual parser/normaliser for addesses. There's a full introduction to libpostal and the project and bindings can be found on the libpostal Gitub repo.

Systemd: If you like your optimization stories to go deep, check out this article from the CoreOS developers as they dug into the performance of systemd-journald and found themselves measuring latencies deep down in the stack.

Ops-y

Slack: Combining monitoring, bots, chat and 2FA, the folks at Slack have an interesting approach to scaling up their security systems. Also worth reading, Slack's own guide to searching which shows there's much more than just text matching available for your queries.

Dropbox: Wired looked at how Dropbox built their own cloud over the last two years. That included their own file storage hardware and software, with their own file system, all initially developed in Go and then in Rust.