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
- 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
Next steps
Install the CLI
Follow the installation guide to install the S2 CLI
Try the quick start
Complete the quick start guide to create your first basin and stream
Explore the SDK
Build applications using the Rust SDK or other language SDKs