Storage
Configure the storage backend for Chronicle Server.
Storage types
Section titled “Storage types”| Type | Description |
|---|---|
MongoDB | MongoDB (default) |
PostgreSql | PostgreSQL |
MsSql | Microsoft SQL Server |
Sqlite | SQLite (embedded, file-based) |
InMemory | In-memory (ephemeral, non-durable) |
MongoDB
Section titled “MongoDB”{ "storage": { "type": "MongoDB", "connectionDetails": "mongodb://localhost:27017" }}PostgreSQL
Section titled “PostgreSQL”{ "storage": { "type": "PostgreSql", "connectionDetails": "Host=localhost;Port=5432;Database=chronicle;Username=chronicle;Password=secret" }}Microsoft SQL Server
Section titled “Microsoft SQL Server”{ "storage": { "type": "MsSql", "connectionDetails": "Server=localhost;Database=chronicle;User Id=chronicle;Password=secret;TrustServerCertificate=True" }}SQLite
Section titled “SQLite”{ "storage": { "type": "Sqlite", "connectionDetails": "Data Source=/data/chronicle.db" }}In-memory
Section titled “In-memory”The in-memory backend keeps every event sequence, observer, read-model sink, and system record in process memory. There is no connection string, and connectionDetails is ignored.
{ "storage": { "type": "InMemory" }}When you host Chronicle programmatically, select the in-memory backend with the WithInMemory() builder extension instead of configuration:
siloBuilder.AddChronicleToSilo(chronicle => chronicle.WithInMemory());| Property | Type | Required | Description |
|---|---|---|---|
| type | string | Yes | Storage type: MongoDB, PostgreSql, MsSql, Sqlite, or InMemory |
| connectionDetails | string | Conditional | Connection string for the chosen storage backend. Required for all backends except InMemory, which ignores it |