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.
Kurrent: The Solution To Modern Software Architecture Pain Points
Kurrent is used by companies across a range of use cases to reduce complexity, increase scalability, improve auditing, and provide real-time data with rich business context for downstream analytics.
-
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.
Main Features Of Kurrent
Guaranteed writes
Writes are committed to disk which makes it ideal for a “source of record” database.
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.
Projections
Projections allow you to react to events as they are written, and to create new events when interesting combinations occur.
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
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
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
The server can run on Windows, Linux, and MacOS, both on-premises or in-cloud.
Encryption at Rest
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 vs Relational Database
Kurrent | Relational DB | |
---|---|---|
Streaming Data
|
Subscriptions give you real time changes |
Data can be overwritten, needs verification |
Efficiency
|
Save changes once, subscriptions propagate changes instantly |
Data needs to be recorded then changes pushed out to the system |
Service Autonomy
|
Stop and start self-validating streams as needed |
Needs to be rebuilt gracefully in line with other systems |
Event-Driven Architecture
|
Build complex workflows and react in real-time |
All solutions need to consider the different forms of data |
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
|
Trace events back to their roots, making analysis easy and faultless |
Refer back to changelogs, check external data sources, piece together information |
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 |
Kurrent Integrations
Kurrent works well alongside message brokers such as Kafka, and traditional data stores such as MongoDB and Postgres. Acting as your single source of truth, Kurrent can feed other databases within your architecture using writes, projections and subscriptions.
Kurrent & MongoDB
Kurrent and MongoDB work extremely well together in practice, where their benefits complement each other.
Kurrent & Kafka
Kurrent and Kafka are two popular technologies that can be used together to build a highly scalable and reliable event-driven architecture.
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 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.
Consultancy, Support
& Training
While you can get up and running with our open-source version of Kurrent using our documentation, we also offer training, consultancy and support to help you make the most out of Kurrent.
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.
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.
Getting Started With Kurrent
It's easy to get started with Kurrent. Simply download our open-source version to test your Proof Of Concept. We provide detailed documentation and our community offers a wealth of support from the Kurrent team and other community members. If you're interested in our cloud solution, simply get in touch to discuss your requirements.
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.
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.
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