Kurrent

Built for event-native applications, Kurrent immutably stores every event to give you context rich business data. Decouple your complex systems, increase scalability and flexibility, gain real-time insights and future proof your architecture.

  • Most traditional databases only provide the current state of your application or domain. The context that led to that change in state is lost. Kurrent stores your data as a series of immutable events over time that allows for greater data integrity and transparency.

  • When your application stores important, critical data and integrates with more and more external systems it becomes tightly coupled and hard to scale. With Kurrent you can decouple your external systems with asynchronous messaging making your system cleaner and more compact.

  • As your system grows, traditional databases may face challenges in scaling horizontally. This can lead to increasing write latency and a slowdown in the overall system. With Kurrent, legacy systems can be broken down one use case at a time, allowing you to decouple your complex systems to create scalable and flexible microservices.

  • When you append events into Kurrent, they are stored as a reliable log of the changes in your application. The change itself is stored as well as the context of the change. These changes represent a core asset of your business and can be streamed, replayed, and transformed into whatever shape you need. With Kurrent events are written to disk making it ideal for a “source of truth” database.

kurrent-architecture
guaranteed-writes

Guaranteed writes

Writes are committed to disk which makes it ideal for a “source of record” database.

service-autonomy-light

High availability

Kurrent can run as a cluster of nodes containing the same data which remains available for writes provided at least half the nodes are alive and connected.

streams

Projections

Projections allow you to react to events as they are written, and to create new events when interesting combinations occur.

client-interfaces

Client
interfaces

There are client SDKs based on the gRPC framework for all major languages and platforms including .NET, Node.js, Python, Java, Go and Rust.

optimistic-concurrency-checks

Optimistic 
concurrency checks

Writes supports an optimistic concurrency check on the version of the stream to which events are written. If the check fails during writing, the server returns an exception to let you know.

great-performance-that-scales

Great performance 
that scales

Whilst performance depends on configuration and use patterns, we’ve benchmarked Kurrent at around 15,000 writes per second and 50,000 reads per second!

multiple-hosting-options

Multiple hosting options

The server can run on Windows, Linux, and MacOS, both on-premises or in-cloud.

projections

Encryption at Rest

File encryption provides additional data protection against unauthorized access
inmutable-data-store

Immutable data store

Kurrent stores your data as a series of immutable events over time, providing one of the strongest audit log options available (characteristics similar to a blockchain).

Kurrent Relational DB
streaming-data-light
Streaming Data

Subscriptions give you 
real time changes

Data can be overwritten, needs verification

efficiency-light
Efficiency

Save changes once, subscriptions propagate changes instantly

Data needs to be recorded then changes pushed out to the system

service-autonomy-light
Service Autonomy

Stop and start self-validating streams as needed

Needs to be rebuilt gracefully in line with other systems

event-driven-architecture-light
Event-Driven Architecture

Build complex workflows and react in real-time

All solutions need to consider the different forms of data

time-travel-light
Time Travel

Move through the event stream in any direction for analysis and forecasting

Not always easy or possible, changelogs might be needed

root-cause-analysis-light
Root Cause Analysis

Trace events back to their roots, making analysis easy and faultless

Refer back to changelogs, check external data sources, piece together information

legacy-migration-light
Legacy Migration

When older systems need replacing, do it one use case at a time

Needs long term planning, down time and to happen all at once

handshake

Kurrent & MongoDB

Kurrent and MongoDB work extremely well together in practice, where their benefits complement each other.

hub

Kurrent & Kafka

Kurrent and Kafka are two popular technologies that can be used together to build a highly scalable and reliable event-driven architecture.

bring_your_own_ip

Kurrent & Postgres

You can use Kurrent for your event-driven architecture and integrate into Postgres, keeping the outputs your business is familiar with.

kurrent-cloud

Kurrent Cloud

Kurrent can be provisioned automatically with our multi-cloud SaaS offering, Kurrent Cloud. With support for AWS, GCP, and Azure (coming soon), you can subscribe to and manage Kurrent service offerings via an API and an easy-to-use web console. You can provision services, and connect these services securely to their own cloud resources.

Professional Services

We use our years of experience helping customers with their event-sourced systems to provide implementation and development consulting that helps you get the most from your Event Sourcing project.

professional-services
technical-support

Technical Support

Protect your business-critical systems with technical support from the team behind Kurrent. Plans for every stage of the project and with a range of Service Level Agreements.

Training

Our Kurrent Learning Academy can help your team learn about event sourcing, CQRS and Domain-Driven Design - from beginners to advanced. We also offer a wealth of free training resources to help you make the most out of your event-native applications and Kurrent.

training
downloads-card

Step 1:
Download Kurrent

There are lots of ways to install the open-source version of Kurrent. We also offer a commercial version that is available to our paid support plan customers.

documentation-card

Step 2:
Read our Documentation

Follow our beginner’s tutorial for step-by-step instructions on downloading and installing the server, and writing sample applications to write and read events.

community-card

Step 3:
Join Our Community

Our community is a space to learn more about Kurrent. Come and discover why we are so much more than just another Kurrent