TigerBeetle: The Financial Transactions Database for Mission-Critical Systems

Summary
TigerBeetle is a high-performance financial transactions database designed for mission-critical safety and performance. Written in Zig, it aims to power the next 30 years of Online Transaction Processing (OLTP) with robust debit/credit primitives and global consensus protocols. This project offers a reliable and efficient solution for handling complex financial operations.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
TigerBeetle is a cutting-edge financial transactions database engineered for unparalleled safety and performance. Designed to power the next generation of Online Transaction Processing (OLTP) systems, it provides robust debit/credit primitives and a resilient architecture for mission-critical financial operations. Written in Zig, TigerBeetle focuses on delivering extreme reliability and speed.
Installation
Getting started with TigerBeetle is straightforward. You can run a single-replica cluster on Linux (or other supported platforms) by following these steps:
$ curl -Lo tigerbeetle.zip https://linux.tigerbeetle.com && unzip tigerbeetle.zip
$ ./tigerbeetle version
$ ./tigerbeetle format --cluster=0 --replica=0 --replica-count=1 --development 0_0.tigerbeetle
$ ./tigerbeetle start --addresses=3000 --development 0_0.tigerbeetle
Examples
Once your TigerBeetle cluster is running, you can connect to it and perform financial transfers. Here's an example of creating accounts and making a transfer:
$ ./tigerbeetle repl --cluster=0 --addresses=3000
> create_accounts id=1 code=10 ledger=700,
id=2 code=10 ledger=700;
> create_transfers id=1 debit_account_id=1 credit_account_id=2 amount=10 ledger=700 code=10;
> lookup_accounts id=1, id=2;
{
"id": "1",
"user_data": "0",
"ledger": "700",
"code": "10",
"flags": "",
"debits_pending": "0",
"debits_posted": "10",
"credits_pending": "0",
"credits_posted": "0"
}
{
"id": "2",
"user_data": "0",
"ledger": "700",
"code": "10",
"flags": "",
"debits_pending": "0",
"debits_posted": "0",
"credits_pending": "0",
"credits_posted": "10"
}
Why Use It
TigerBeetle stands out as an ideal choice for financial applications requiring absolute data integrity and high throughput. Its design prioritizes mission-critical safety, ensuring that financial transactions are handled with precision and reliability. Leveraging the performance characteristics of the Zig language, it offers exceptional speed for OLTP workloads. If you're building systems where every transaction counts and performance is paramount, TigerBeetle provides a robust and scalable foundation.
Links
- Official Documentation: https://docs.tigerbeetle.com
- GitHub Repository: https://github.com/tigerbeetle/tigerbeetle
- The Primeagen Video Introduction: https://www.youtube.com/watch?v=sC1B3d9C_sI
- Redesigning OLTP for a New Order of Magnitude (QCon SF) Talk: https://www.infoq.com/presentations/redesign-oltp/
- Slack Community: https://slack.tigerbeetle.com/join