Rockset - Building a Modern Analytics Database on Top of RocksDB

QCon London 2024

Session Building Databases

Rockset - Building a Modern Analytics Database on Top of RocksDB

Tuesday Apr 9 / 03:55PM BST, Windsor (5th Fl.)

Abstract

RocksDB, a key-value store built on the foundation of Log-Structured Merge-Tree data structures and originally open-sourced by Facebook, has played a significant role in shaping data systems over the past decades. However, it hasn’t seen widespread adoption in analytics databases, mainly due to the absence of native support for tight columnar encoding formats.

This talk will explore a journey of building a modern analytical database, Rockset, on top of RocksDB. We’ll discuss a key insight that enabled us to bring columnar encoding into RocksDB, achieving not only performance parity with column-oriented databases, but also allowing real-time updates. Additionally, we will highlight the architectural advantages of deploying RocksDB in the cloud, showing how we achieved compute-storage and compute-compute separation by utilizing cloud object storage for durability and multi-tenant hot storage layer for performance. Finally, we will share learnings from operating Rockset and RocksDB in production.

Interview

I am an engineer at Rockset, a search and analytics database, and my primary responsibility these days is query performance. My work ranges from low-level optimizations of hot inner loops to thinking about the performance of the system on a higher level and, finally, building tooling that helps us debug performance issues more quickly.

There are a number of challenges that we solved while building Rockset that I am happy to share with the audience. We picked RocksDB as our underlying key-value store, which brings important architectural advantages when deployed in the cloud and makes it easy to build compute-storage and compute-compute separation. However, off-the-shelf RocksDB is not performant for analytical queries due to lack of tight columnar encodings. This talk will explore both aspects - why RocksDB is great for the cloud, and how we made it perform well for analytical workloads.

This talk will be technical and will assume attendees have good knowledge of the architecture and design of data-intensive systems. The target audience will be builders and people who spend a lot of their time thinking about data, systems, and performance.

I hope they'll gain new insights into how to build data-intensive systems in the cloud, a deeper understanding of RocksDB and some tricks on how to use it as a building block of a system where performance matters.

Topics

Building Databases Data Architecture performance database
76% senior dev or higher
1:11 speaker ratio
60+ practitioners

QCon London 2024 is a three day conference for senior software engineers, architects and team leads. An international program committee of working engineers selects every session. Patterns and practices, not products and pitches.

Share

From the same track

Tuesday 9 April

10:35 Windsor (5th Fl.) Session database Powering User Experiences with Streaming Dataflow Alana Marzoev Founder & CEO @ReadySet 11:45 Windsor (5th Fl.) Session ML Feature Store The Harsh Reality of Building a Realtime ML Feature Platform Ivan Burmistrov Principal Software Engineer @ShareChat 13:35 Windsor (5th Fl.) Session architecture High Performance Time-Series Database Design With QuestDB Vlad Ilyushchenko Co-Founder & CTO @QuestDB, OG Author of PSY-Probe, Geek 14:45 Whittle (3rd Fl.) Session architecture Improving Developer Experience Using Automated Data CI/CD Pipelines Noémi Ványi, Simona Pencea 15:55 Windsor (5th Fl.) Session Building Databases Rockset - Building a Modern Analytics Database on Top of RocksDB Igor Canadi Founding Engineer and Architect @Rockset, Previously at RocksDB and Facebook 17:05 Rutherford (4th Fl.) Unconference Unconference: Innovations in Data Engineering