Skip to main content

Introduction to S2

S2 is a serverless datastore for real-time streaming data. It provides a simple, durable API for building streaming applications without managing infrastructure.

What is S2?

S2 combines the simplicity of cloud storage with the performance of streaming databases. Your data is always durable on object storage before being acknowledged, ensuring you never lose a record.

Quick start

Get started with S2 in minutes

Installation

Install the CLI and SDKs

Concepts

Learn core S2 concepts

API reference

Explore the REST API

Key features

Durable by default

Every record is persisted to object storage before being acknowledged. Your data is safe even if servers fail.

Real-time streaming

Read from streams in real-time as new records arrive. S2 supports both historical catchup and live tailing in a single session.

Serverless architecture

No infrastructure to manage. S2 scales automatically based on your workload.

Self-hostable

Run S2 Lite locally for development or deploy it to your own infrastructure using Docker or Kubernetes.

Use cases

Event streaming

Build event-driven architectures with guaranteed delivery

Data pipelines

Stream data between services with durable queues

Real-time analytics

Process streaming data as it arrives

Integration testing

Use in-memory S2 Lite as a test fixture

How it works

S2 organizes data into basins and streams:
  • A basin is a container for streams, similar to a database
  • A stream is an ordered, append-only log of records
You can interact with S2 using:
  • The CLI for command-line operations
  • SDKs for Rust, TypeScript, Go, and more
  • The REST API for direct HTTP access
  • S2 Lite for local development and self-hosting
S2 Lite is embedded in the CLI and provides a fully compatible S2 API implementation that you can run locally or deploy to your own infrastructure.

Next steps

1

Install the CLI

Follow the installation guide to install the S2 CLI
2

Try the quick start

Complete the quick start guide to create your first basin and stream
3

Explore the SDK

Build applications using the Rust SDK or other language SDKs

Build docs developers (and LLMs) love