Getting Started¶
Welcome to RockLake. This section takes you from knowing nothing about the project to running a fully functional lakehouse catalog backed by object storage. Whether you are evaluating RockLake for a production data platform, exploring it for a side project, or just curious about how a database catalog can live in an S3 bucket, you will find your entry point here.
Choose Your Path¶
The Getting Started section is organized as a progressive sequence. Each page builds on the previous one, but you can jump to whichever matches your current level of familiarity:
What is RockLake?¶
Start here if you have never heard of RockLake before, or if you know the name but are not sure what problem it solves. This page explains the landscape — what a lakehouse catalog is, why existing solutions require infrastructure you might not want, and how RockLake eliminates that infrastructure by putting everything in object storage. No code, no commands, just a clear explanation of what this project is and why it exists.
Quickstart — Local¶
Start here if you want to get your hands dirty immediately. This page takes you from zero to a working catalog in under five minutes using your local filesystem as the storage backend. You will build RockLake from source (or download a release binary), start the server, connect DuckDB, create a table, insert data, and query it. Every command is shown with its expected output so you can verify each step succeeded.
Quickstart — Cloud¶
Start here if you already have an AWS, GCS, or Azure account and want to see RockLake running against a real object store. This page provides parallel tracks for each major cloud provider, covering bucket creation, IAM configuration, environment variable setup, and verification. By the end, your catalog will be living in the cloud with the same durability guarantees as your production data.
Your First Lakehouse¶
Start here if you have completed the quickstart and want to understand what RockLake actually does at a deeper level. This tutorial walks through a realistic scenario — building a product analytics lakehouse from scratch — at a deliberate pace, explaining what happens in the catalog at each step. You will create schemas, define tables, evolve schemas, insert data across multiple transactions, and then use time travel to query historical states of your catalog. By the end, you will have a genuine mental model of how DuckLake catalogs work and what makes RockLake's approach distinctive.
Prerequisites¶
Before you begin, you will need:
- A Rust toolchain (for building from source) or a pre-built binary from the releases page. RockLake is a single static binary with no runtime dependencies beyond libc.
- DuckDB 1.2 or later with the
ducklakeextension installed. You can install the extension from within DuckDB by runningINSTALL ducklake;followed byLOAD ducklake;. - For cloud deployments: credentials for your object-store provider (AWS access keys, GCS service account, or Azure connection string). The cloud quickstart covers the minimum permissions needed.
What You Will Learn¶
By the time you finish this section, you will understand:
- What problem RockLake solves and where it fits in the modern data stack
- How to start and stop the RockLake server process
- How to connect DuckDB to a RockLake-backed catalog
- How to create schemas, tables, and insert data through DuckDB
- How time travel works — querying the catalog at any historical point
- How to deploy against a real cloud object store with proper credentials
- What the catalog looks like from the inside — which tables are written, which counters advance, which snapshots are created
This foundation prepares you for the Concepts section, which explains the engineering principles behind what you have just seen in practice, and the Deployment section, which covers production-ready configurations for every major cloud provider.