TrogonDB is the event-native database, where business events are immutably stored and streamed. Designed for event-sourced, event-driven, and microservices architectures
- What is TrogonDB
- Documentation
- Getting started with TrogonDB
- Client libraries
- Deployment
- Communities
- Building TrogonDB
TrogonDB is a new category of operational database that has evolved from the Event Sourcing community. Powered by the state-transition data model, events are stored with the context of why they have happened. Providing flexible, real-time data insights in the language your business understands.
Download the latest version. For more product information visit the website.
For guidance on installation, development, deployment, and administration, see the User Documentation.
Follow the getting started guide.
Event Store can manage TrogonDB for you, so you don't have to run your own clusters. See the online documentation: Getting started with Event Store Cloud.
This guide shows you how to get started with TrogonDB by setting up an instance or cluster and configuring it.
TrogonDB supported gRPC clients
- Python: pyeventsourcing/esdbclient
- Node.js (javascript/typescript): EventStore/EventStore-Client-NodeJS
- Java: (EventStore/TrogonDB-Client-Java
- .NET: EventStore/EventStore-Client-Dotnet
- Go: EventStore/EventStore-Client-Go
- Rust: EventStore/TrogonDB-Client-Rust
- Read more in the gRPC clients documentation
Community supported gRPC clients
- Elixir: NFIBrokerage/spear
- Ruby: yousty/event_store_client
TrogonDB is written in a mixture of C# and JavaScript. It can run on Windows, Linux and macOS (using Docker) using the .NET Core runtime.
Prerequisites
Once you've installed the prerequisites for your system, you can launch a Release
build of EventStore as follows:
dotnet build -c Release src
The build scripts: build.sh
and build.ps1
are also available for Linux and Windows respectively to simplify the build process.
To start a single node, you can then run:
dotnet ./src/EventStore.ClusterNode/bin/x64/Release/net8.0/EventStore.ClusterNode.dll --dev --db ./tmp/data --index ./tmp/index --log ./tmp/log
You can launch the tests as follows:
dotnet test src/EventStore.sln
You can also build a Docker image by running the command:
docker build --tag myeventstore . \
--build-arg CONTAINER_RUNTIME={container-runtime}
--build-arg RUNTIME={runtime}
For instance:
docker build --tag myeventstore . \
--build-arg CONTAINER_RUNTIME=bookworm-slim \
--build-arg RUNTIME=linux-x64
Note: Because of the Docker issue, if you're building a Docker image on Windows, you may need to set the DOCKER_BUILDKIT=0
environment variable. For instance, running in PowerShell:
$env:DOCKER_BUILDKIT=0; docker build --tag myeventstore . `
--build-arg CONTAINER_RUNTIME=bookworm-slim `
--build-arg RUNTIME=linux-x64
Currently, we support the following configurations:
- Bookworm slim:
CONTAINER_RUNTIME=bookworm-slim
RUNTIME=linux-x64
- Noble:
CONTAINER_RUNTIME=noble
RUNTIME=linux-x64
You can verify the built image by running:
docker run --rm myeventstore --insecure --what-if