Weeknote 3: Object Storage

This week I’ve been thinking about object storage services such as Amazon S3. Despite being called “object” storage, in my mind they are used for storing files. However, that’s not the only way to think about them. Another perspective is that they are key-value stores for storing binary blobs

Nowadays a lot of people want to use them as a storage backend for their databases because they’re very durable and the data storage is cheap. We do, too, at work.

Retrofitting object storage to an existing system is not easy, though. Richard Artoul from WarpStream explains how difficult it is to make Kafka use object storage. Designing a new system based on it is easier but, as Chris Riccomini explains, the price of API calls remains too high:

The most naive implementation of a cloud-native LSM might simply send all WAL writes directly to object storage. This works and is reasonably low latency with S3 Express. Unfortunately, it’s expensive when you have a lot of writes. PUTs are $0.0025 per-1000 requests. A high-volume service that sustains 10,000 writes per-second would cost 2.5c per-second, or $65,000 per-month.

You need to do some kind of tiered storage where you combine multiple storage mediums with different trade-offs and automatically move data between them. Riccomini’s new project SlateDB initially stores the writes in the memory – cheap but not durable – and then flushes them in batches to an object storage service – durable but the API calls are expensive.

There’s another problem. Jack Vanlightly points out that latency is a problem. Standard S3 comes with double-digit latency for small objects, and while S3 One Zone Express brings it down to single-digit latency, it comes at the cost of durability.

Object storage makes a great bottom tier for large amounts of rarely-accessed data in a “cloud native” database. But what should the higher layers be?


Recommendation: Lehto / Korpi by Pauli Lyytinen

This week I’m recommending music again. I just bumped into saxophonist Pauli Lyytinen’s new album Lehto / Korpi which combines recordings from the Finnish nature with jazz and it’s delightful. I feel like I shouldn’t say too much and you should just listen to the track Korpi III.

Photo: The southern tip of Bodö in the Archipelago Sea. I’m not 100% sure if it’s Bodö, but if not, it’s one of the islands around it, maybe Bergholm.


Comments or questions? Send me an e-mail.