{"slug": "tigerbeetle", "name": "TigerBeetle", "category": "databases", "category_name": "Databases", "description": "", "recommenders": 15, "commenters": 34, "warners": 1, "score": 17.025, "rising": 0.4, "first": "2025-11-01", "latest": "2026-10-31", "why": "We are always a big fan of the tigerbeetle engineering", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 15, "neutral": 14, "compare": 3, "warn": 2}, "spark": [2, 2, 0, 2, 0, 2, 2, 1, 0, 3, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "We are always a big fan of the tigerbeetle engineering", "kind": "", "icon": true, "domain": "tigerbeetle.com", "github_repo": null, "official_url": "https://tigerbeetle.com", "pricing": "", "aliases": ["TigerBeetle"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 799502928, "item_id": 49968933, "url": "https://news.ycombinator.com/item?id=49968933", "by": "audunw", "date": "2026-10-05", "version": null, "stance": "recommend", "quote": "You can go the TigerBeetle route", "excerpt": "That\u2019s not entirely true. There\u2019s a third choice. You can go the TigerBeetle route (TigerStyle). Zig is extremely well suited for software where you just avoid dynamic memory allocation all together. It\u2019s extremely fast, very effective and arguably very safe. But not suitable for all applications obviously. There\u2019s also another caveat that there\u2019s an effort to build in build time static memory safety checks in a way ", "context": "", "use_case": "", "switched_from": "", "story": "Mold Linker Version 3.0.0 Release \u2013 Rewritten in Rust"}, {"id": 790229473, "item_id": 49389342, "url": "https://news.ycombinator.com/item?id=49389342", "by": "cloutiertyler", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "maybe you'd believe TigerBeetle which is also single threaded by design", "excerpt": "Notably, single threaded execution is optimal for performance here. If you don't believe us, maybe you'd believe TigerBeetle which is also single threaded by design. If you're interested more in our benchmarking methodology, you can read our technical blog post on the topic: https://spacetimedb.com/blog/benchmarking", "context": "", "use_case": "", "switched_from": "", "story": "SpacetimeDB: A Short Technical Review"}, {"id": 790228721, "item_id": 49389295, "url": "https://news.ycombinator.com/item?id=49389295", "by": "cloutiertyler", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "perhaps you'd believe the TigerBeetle team who also made their database single threaded by design", "excerpt": "If you don't believe me, perhaps you'd believe the TigerBeetle team who also made their database single threaded by design. Perhaps you'd be interested in reading our technical response: https://spacetimedb.com/blog/benchmarking", "context": "", "use_case": "Database", "switched_from": "", "story": "SpacetimeDB: A Short Technical Review"}, {"id": 790216016, "item_id": 49388501, "url": "https://news.ycombinator.com/item?id=49388501", "by": "ksec", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "Can't wait to see this.", "excerpt": "In about 5 years time the trend will be \"Just use Beetles\" for everything :P Seriously Can't wait to see this. Congrats on launching [1] Tigerbeetle Cloud. Should have submitted that as well but I thought this was more interesting. May be another time. [1] https://tigerbeetle.com/cloud", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}, {"id": 790195680, "item_id": 49387230, "url": "https://news.ycombinator.com/item?id=49387230", "by": "kilroy123", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "Their simulation is fantastic", "excerpt": "Their simulation is fantastic: https://sim.tigerbeetle.com", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 770166720, "item_id": 48135420, "url": "https://news.ycombinator.com/item?id=48135420", "by": "j-pb", "date": "2026-05-14", "version": null, "stance": "warn", "quote": "putting their super duper high reliability database on top of it", "excerpt": "On one hand I kinda feel validated for having jumped ship on Zig 3+ Years ago[1] and moving everything to Rust[2], with the language simply being too unstable and unsafe in my eyes, despite my love for comptime and people arguing that Bun and Tigerbeetle were proof that it wasn't the languages fault. But I also feel bad for the Zig project to loose one of their flagship projects, because while I find the project ulti", "context": "", "use_case": "", "switched_from": "", "story": "Remove .zig Files from Bun"}, {"id": 734136224, "item_id": 45883514, "url": "https://news.ycombinator.com/item?id=45883514", "by": "kelseydh", "date": "2025-11-10", "version": null, "stance": "warn", "quote": "the drop in non-batch performance was disappointing", "excerpt": "We didn't rule out using Tigerbeetle, but the drop in non-batch performance was disappointing and a reason we haven't prioritised switching our transaction ledger from PostgreSQL to Tigerbeetle. There was also poor Ruby support for Tigerbeetle at the time, but that has improved recently and there is now a (3rd party) Ruby client: https://github.com/antstorm/tigerbeetle-ruby/", "context": "", "use_case": "", "switched_from": "", "story": "Building a high-performance ticketing system with TigerBeetle"}]}], "who": [{"by": "thomas_fa", "context": "building an object storage", "url": "https://news.ycombinator.com/item?id=47800045", "date": "2026-04-16"}, {"by": "kelseydh", "context": "team that benchmarked TigerBeetle", "url": "https://news.ycombinator.com/item?id=45890141", "date": "2025-11-11"}], "tags": [], "use_cases": ["database", "io_uring runtime for object storage", "financial transactions database", "financial ledger database", "key database", "coding style inspiration"], "compared": [{"slug": "postgresql", "name": "PostgreSQL", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "bun", "name": "Bun", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "spacetimedb", "name": "SpacetimeDB", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "ghostty", "name": "Ghostty", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 790203664, "item_id": 49387729, "url": "https://news.ycombinator.com/item?id=49387729", "by": "to_ziegler", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "We have six replicas, and under normal operation we only need acknowledgements from three", "excerpt": "Hi, Tobi here from TB. Great question! Generally, 130 ms of network latency is challenging, and there often isn't an easy way around it as you're ultimately constrained by the speed of light (e.g. cross region deployments). That said, network latency usually follows a distribution. For example, the median might be 130 ms while p99 is 200 ms. So one important goal is to avoid being affected by the high-latency tail. I", "context": "works at TigerBeetle", "use_case": "replicated financial database", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}, {"id": 790194752, "item_id": 49387172, "url": "https://news.ycombinator.com/item?id=49387172", "by": "jorangreef", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "if you take a look at our LSM compaction, regardless of the table size, we compact at the 512 KiB block granularity", "excerpt": "Thanks! We use streaming data structures. For example, if you take a look at our LSM compaction, regardless of the table size, we compact at the 512 KiB block granularity, and everything is streaming. The same principle applies everywhere. In our experience writing TigerStyle (and for all our internal code and tooling, not only TB as DBMS), we\u2019ve never had a scenario where static allocation was not applicable or didn", "context": "works on TigerBeetle", "use_case": "database", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}, {"id": 781486352, "item_id": 48842897, "url": "https://news.ycombinator.com/item?id=48842897", "by": "matklad", "date": "2026-07-09", "version": null, "stance": "recommend", "quote": "Empirically, they just haven't been a problem for TigerBeetle.", "excerpt": "To add more context around lifetime errors and TigerBeetle's particular style guide: >Many projects opt to answer these kinds of questions through a style guide. TigerBeetle's TigerStyle is an example in Zig and Google's 31,000 word C++ style guide is another. The challenge with style guides is enforcement. TigerStyle[1] is a bit more than just a style guide. The key rule for this discussion, uplifted straight from o", "context": "", "use_case": "database with static allocation", "switched_from": "", "story": "Rewriting Bun in Rust"}, {"id": 770322848, "item_id": 48145178, "url": "https://news.ycombinator.com/item?id=48145178", "by": "jorangreef", "date": "2026-05-14", "version": null, "stance": "recommend", "quote": "We also reached production in 3.5 years", "excerpt": "> Correct me if I'm wrong, but the three largest Zig project I did correct you where you are wrong (\u201cappeal to popularity\u201d as a logical fallacy). > I can't help and wonder where you could be by now if your language was lifting you up, instead of you having to lift up your language. Did you know we\u2019ve had on the order of 3 memory bugs in 6 years of TigerBeetle? We also reached production in 3.5 years, bringing not onl", "context": "", "use_case": "Consensus storage engine", "switched_from": "", "story": "Rewrite Bun in Rust has been merged"}, {"id": 757322880, "item_id": 47332680, "url": "https://news.ycombinator.com/item?id=47332680", "by": "kprotty", "date": "2026-03-11", "version": null, "stance": "neutral", "quote": "I've worked on two", "excerpt": "I've worked on two \"production\" zig codebases: tigerbeetle [0] and sig [1]. These larger zig projects will stick to a tagged release (which doesn't change), and upgrade to newly tagged releases, usually a few days or months after they come out. The upgrade itself takes like a week, depending on the amount of changes to be done. These projects also tend to not use other zig dependencies. [0]: https://github.com/tigerb", "context": "", "use_case": "", "switched_from": "", "story": "Zig \u2013 Type Resolution Redesign and Language Changes"}, {"id": 740162624, "item_id": 46260164, "url": "https://news.ycombinator.com/item?id=46260164", "by": "matklad", "date": "2025-12-13", "version": null, "stance": "neutral", "quote": "We have two state machines, an accounting one, and a simple echo one here", "excerpt": "It is the other way around --- it is _relatively_ easy to re-use the storage engine, but plug your custom state machine (implemented in Zig). We have two state machines, an accounting one, and a simple echo one here: https://github.com/tigerbeetle/tigerbeetle/blob/main/src/testing/state_machine.zig. I am not aware of any \"serious\" state machine other than accounting one though.", "context": "", "use_case": "accounting ledger", "switched_from": "", "story": "TigerBeetle as a File Storage"}], "threads": [{"url": "https://news.ycombinator.com/item?id=45852755", "title": "Building a high-performance ticketing system with TigerBeetle", "mentions": 8}, {"url": "https://news.ycombinator.com/item?id=49386659", "title": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=46422009", "title": "Static Allocation with Zig", "mentions": 5}, {"url": "https://news.ycombinator.com/item?id=48132488", "title": "Rewrite Bun in Rust has been merged", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=47736331", "title": "TigerBeetle: A Trillion Transactions [video]", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=49807248", "title": "The JavaScript Midlife Crisis", "mentions": 2}], "sentiment_by_month": {"2025-11": {"neutral": 1, "warn": 1, "recommend": 2}, "2025-12": {"neutral": 4, "recommend": 2}, "2026-01": {"compare": 1}, "2026-02": {"recommend": 2}, "2026-03": {}, "2026-04": {"neutral": 1, "compare": 1, "recommend": 2}, "2026-05": {"recommend": 2, "warn": 1, "neutral": 2}, "2026-06": {"recommend": 1}, "2026-07": {"neutral": 2}, "2026-08": {"neutral": 2, "recommend": 3}, "2026-09": {"neutral": 2}, "2026-10": {"recommend": 1, "compare": 1}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 805124368, "item_id": 50320273, "url": "https://news.ycombinator.com/item?id=50320273", "by": "NoDodgeQuestion", "date": "2026-10-31", "version": null, "stance": "compare", "quote": "tigerbeetle much different result", "excerpt": "tigerbeetle much different result https://jepsen.io/analyses/tigerbeetle-0.16.11 https://news.ycombinator.com/item?id=44199592", "context": "", "use_case": "", "switched_from": "", "story": "Jepsen: ParticleDB 1.1.4"}, {"id": 799502928, "item_id": 49968933, "url": "https://news.ycombinator.com/item?id=49968933", "by": "audunw", "date": "2026-10-05", "version": null, "stance": "recommend", "quote": "You can go the TigerBeetle route", "excerpt": "That\u2019s not entirely true. There\u2019s a third choice. You can go the TigerBeetle route (TigerStyle). Zig is extremely well suited for software where you just avoid dynamic memory allocation all together. It\u2019s extremely fast, very effective and arguably very safe. But not suitable for all applications obviously. There\u2019s also another caveat that there\u2019s an effort to build in build time static memory safety checks in a way ", "context": "", "use_case": "", "switched_from": "", "story": "Mold Linker Version 3.0.0 Release \u2013 Rewritten in Rust"}, {"id": 797015520, "item_id": 49813470, "url": "https://news.ycombinator.com/item?id=49813470", "by": "pjmlp", "date": "2026-09-23", "version": null, "stance": "neutral", "quote": "", "excerpt": "> I was writing Rhino on the JVM before Node came out because I was absolutely convinced the world would move to server-side JavaScript. > And I think now, I think a lot of the reason why people went into NPM was because the tooling in C was so terrible. > Like, how do you compile a C program? Are some interesting quotes and hint much more to lack of knowledge on server compiled languages than a \"performance sketch\".", "context": "", "use_case": "", "switched_from": "", "story": "The JavaScript Midlife Crisis"}, {"id": 797009984, "item_id": 49813124, "url": "https://news.ycombinator.com/item?id=49813124", "by": "pan69", "date": "2026-09-23", "version": null, "stance": "neutral", "quote": "", "excerpt": "> In the month of July 2020, we developed a prototype of TigerBeetle in Node as a performance sketch to measure the basic components of the design (batching, TCP protocol, cryptographic checksums everywhere, fsync journalling, in-memory business logic and hash table operations). https://github.com/tigerbeetle/tigerbeetle-history-archive/blob/main/docs/HISTORY.md", "context": "", "use_case": "", "switched_from": "", "story": "The JavaScript Midlife Crisis"}, {"id": 790287648, "item_id": 49392978, "url": "https://news.ycombinator.com/item?id=49392978", "by": "thomascountz", "date": "2026-08-21", "version": null, "stance": "neutral", "quote": "Read TigerBeetle's own", "excerpt": "Read TigerBeetle's own * A Database Without Dynamic Memory Allocation[1] * A Programmer-Friendly I/O Abstraction Over io_uring and kqueue[2] * Writing High-Performance Clients for Tigerbeetle[3] [1]: https://tigerbeetle.com/blog/2022-10-12-a-database-without-dynamic-memory/ [2]: https://tigerbeetle.com/blog/2022-11-23-a-friendly-abstraction-over-iouring-and-kqueue/ [3]: https://tigerbeetle.com/blog/2023-02-21-writing", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}, {"id": 790229473, "item_id": 49389342, "url": "https://news.ycombinator.com/item?id=49389342", "by": "cloutiertyler", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "maybe you'd believe TigerBeetle which is also single threaded by design", "excerpt": "Notably, single threaded execution is optimal for performance here. If you don't believe us, maybe you'd believe TigerBeetle which is also single threaded by design. If you're interested more in our benchmarking methodology, you can read our technical blog post on the topic: https://spacetimedb.com/blog/benchmarking", "context": "", "use_case": "", "switched_from": "", "story": "SpacetimeDB: A Short Technical Review"}, {"id": 790228721, "item_id": 49389295, "url": "https://news.ycombinator.com/item?id=49389295", "by": "cloutiertyler", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "perhaps you'd believe the TigerBeetle team who also made their database single threaded by design", "excerpt": "If you don't believe me, perhaps you'd believe the TigerBeetle team who also made their database single threaded by design. Perhaps you'd be interested in reading our technical response: https://spacetimedb.com/blog/benchmarking", "context": "", "use_case": "Database", "switched_from": "", "story": "SpacetimeDB: A Short Technical Review"}, {"id": 790216016, "item_id": 49388501, "url": "https://news.ycombinator.com/item?id=49388501", "by": "ksec", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "Can't wait to see this.", "excerpt": "In about 5 years time the trend will be \"Just use Beetles\" for everything :P Seriously Can't wait to see this. Congrats on launching [1] Tigerbeetle Cloud. Should have submitted that as well but I thought this was more interesting. May be another time. [1] https://tigerbeetle.com/cloud", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}, {"id": 790195680, "item_id": 49387230, "url": "https://news.ycombinator.com/item?id=49387230", "by": "kilroy123", "date": "2026-08-21", "version": null, "stance": "recommend", "quote": "Their simulation is fantastic", "excerpt": "Their simulation is fantastic: https://sim.tigerbeetle.com", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle Core System Architecture: Deconstructing Performance Engineering"}, {"id": 787683200, "item_id": 49230200, "url": "https://news.ycombinator.com/item?id=49230200", "by": "sshine", "date": "2026-08-09", "version": null, "stance": "neutral", "quote": "it is demonstrated how types and assertions work together in TigerBeetle", "excerpt": "It is so nice to come here and want to say something, and someone already said it. For those who haven't read \"Parse, Don't Validate\": https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/ I'm not sure exactly what languages people think of when they consider asserting, but I presume it's Java, C# or C/C++. In Java asserts are disabled by default, so they're thought of as a debug/development utility. In", "context": "", "use_case": "", "switched_from": "", "story": "Assert(): A Modern How To"}, {"id": 785861009, "item_id": 49116313, "url": "https://news.ycombinator.com/item?id=49116313", "by": "westurner", "date": "2026-07-30", "version": null, "stance": "neutral", "quote": "TigerBeetle has static allocation for their known workload.", "excerpt": "TigerBeetle has static allocation for their known workload. SIMD is more useful for heavy parallel analytical workloads. There are probably returns from SIMD even for index updates on transactional inserts. SIMD is faster for: vectorized index comparisons, Vectorized Constraint Validation, Multi-Column SIMD Hashing, Masked Bitmaps for Nullable Fields, gather and scatter, string processing, casting to numeric types. I", "context": "", "use_case": "", "switched_from": "", "story": "Postgres rewritten in Rust v0.2, now faster than Postgres and ClickHouse"}, {"id": 782354288, "item_id": 48897143, "url": "https://news.ycombinator.com/item?id=48897143", "by": "cozzyd", "date": "2026-07-13", "version": null, "stance": "neutral", "quote": "", "excerpt": "It works really well for a ton of use cases (e.g. any data acquisition task, which is mostly what I use C for...)", "context": "", "use_case": "", "switched_from": "", "story": "Zig Creator Calls Spade a Spade, Anthropic Blows Smoke"}, {"id": 781522512, "item_id": 48845157, "url": "https://news.ycombinator.com/item?id=48845157", "by": "matklad", "date": "2026-07-09", "version": null, "stance": "recommend", "quote": "", "excerpt": "Some thoughts on this here: https://matklad.github.io/2025/12/23/static-allocation-compilers.html", "context": "", "use_case": "", "switched_from": "", "story": "Rewriting Bun in Rust"}, {"id": 775139600, "item_id": 48446225, "url": "https://news.ycombinator.com/item?id=48446225", "by": "anonfunction", "date": "2026-06-08", "version": null, "stance": "recommend", "quote": "One of the preeminent Zig software projects, Tigerbeetle", "excerpt": "One of the preeminent Zig software projects, Tigerbeetle[1], has a great website[2] and markdown file[3] for what they call TigerStyle. It's honestly a great read as a human but also I packaged it as a skill and saw coding agent improvement, especially around memory usage. 1. https://tigerbeetle.com/ 2. https://tigerstyle.dev/ 3. https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md", "context": "", "use_case": "", "switched_from": "", "story": "Zig by Example"}, {"id": 770292976, "item_id": 48143311, "url": "https://news.ycombinator.com/item?id=48143311", "by": "allthetime", "date": "2026-05-14", "version": null, "stance": "recommend", "quote": "Check out tigerbeetle if you want a good example.", "excerpt": "What serious zig shops exist are generally run by actual engineers. Check out tigerbeetle if you want a good example.", "context": "", "use_case": "", "switched_from": "", "story": "Rewrite Bun in Rust has been merged"}, {"id": 770286528, "item_id": 48142908, "url": "https://news.ycombinator.com/item?id=48142908", "by": "peesem", "date": "2026-05-14", "version": null, "stance": "neutral", "quote": "come to mind as decently popular projects", "excerpt": "TigerBeetle (https://github.com/tigerbeetle/tigerbeetle) and Ghostty (https://github.com/ghostty-org/ghostty) come to mind as decently popular projects.", "context": "", "use_case": "", "switched_from": "", "story": "Rewrite Bun in Rust has been merged"}, {"id": 770244736, "item_id": 48140296, "url": "https://news.ycombinator.com/item?id=48140296", "by": "nsagent", "date": "2026-05-14", "version": null, "stance": "neutral", "quote": "found only 7 medium/low priority issues", "excerpt": "There's a reasonable request to run the same analysis for the Zig version of the code as a comparison. In lieu of that, it seems the Swivel devs ran an analysis on Tigerbeetle, one of the other major Zig projects, and found only 7 medium/low priority issues: https://xcancel.com/SwivalAgent/status/2054063291266113994", "context": "", "use_case": "", "switched_from": "", "story": "Bun's Rust rewrite has been merged"}, {"id": 770167617, "item_id": 48135476, "url": "https://news.ycombinator.com/item?id=48135476", "by": "j-pb", "date": "2026-05-14", "version": null, "stance": "neutral", "quote": "I wonder if Tigerbeetle will also have problems arguing for their solution", "excerpt": "On one hand I kinda feel validated for having jumped ship on Zig 3+ Years ago[1] and moving everything to Rust[2], with the language simply being too unstable and unsafe in my eyes, despite my love for comptime and people arguing that Bun and Tigerbeetle were proof that it wasn't the languages fault. But I also feel bad for the Zig project to loose one of their flagship projects, because while I find the project ulti", "context": "", "use_case": "", "switched_from": "", "story": "Rewrite Bun in Rust has been merged"}, {"id": 770166720, "item_id": 48135420, "url": "https://news.ycombinator.com/item?id=48135420", "by": "j-pb", "date": "2026-05-14", "version": null, "stance": "warn", "quote": "putting their super duper high reliability database on top of it", "excerpt": "On one hand I kinda feel validated for having jumped ship on Zig 3+ Years ago[1] and moving everything to Rust[2], with the language simply being too unstable and unsafe in my eyes, despite my love for comptime and people arguing that Bun and Tigerbeetle were proof that it wasn't the languages fault. But I also feel bad for the Zig project to loose one of their flagship projects, because while I find the project ulti", "context": "", "use_case": "", "switched_from": "", "story": "Remove .zig Files from Bun"}, {"id": 769285458, "item_id": 48080341, "url": "https://news.ycombinator.com/item?id=48080341", "by": "ozgrakkurt", "date": "2026-05-09", "version": null, "stance": "recommend", "quote": "There is also a database written in Zig that seems to be fairly successful", "excerpt": "> Bun has had an extremely high amount of crashes/memory bugs due to them using Zig This just sounds like they are not good at using Zig. I have been daily driving ghostty on linux for a fairly long time now and I have never seen these kinds of issues. I have also used ghostty on macos for a bit and didn't have any problems there either. Zig is really good for writing stable and reliable code. There is also a databas", "context": "", "use_case": "", "switched_from": "", "story": "Bun ported to Rust in 6 days"}, {"id": 764803488, "item_id": 47800218, "url": "https://news.ycombinator.com/item?id=47800218", "by": "jandrewrogers", "date": "2026-04-16", "version": null, "stance": "recommend", "quote": "", "excerpt": "> how many hundred terabytes of data can you get away with the single beefy server You can have multiple petabytes on a single beefy server with excellent performance characteristics. This is already a thing. The part of the database that doesn't scale with storage density is cache replacement algorithms, as a matter of theory. There are some problems a cache can't solve. These degrade long before you get to petabyte", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle: A Trillion Transactions [video]"}, {"id": 764800720, "item_id": 47800045, "url": "https://news.ycombinator.com/item?id=47800045", "by": "thomas_fa", "date": "2026-04-16", "version": null, "stance": "recommend", "quote": "We are always a big fan of the tigerbeetle engineering", "excerpt": "Congrats to the TigerBeetle team's new feature! and it looks like TB has already moved from shared nothing to partially shared disk (object storage) architecture. We are always a big fan of the tigerbeetle engineering and is actually using TB's excellent io_uring runtime [1] to build a new object storage, and this connection feels amazing to me. [1] https://codeberg.org/thomas-fractalbits/iofthetiger [2] https://frac", "context": "building an object storage", "use_case": "io_uring runtime for object storage", "switched_from": "", "story": "TigerBeetle: A Trillion Transactions [video]"}, {"id": 764791136, "item_id": 47799446, "url": "https://news.ycombinator.com/item?id=47799446", "by": "Nican", "date": "2026-04-16", "version": null, "stance": "compare", "quote": "This looks like yet another basic key value store.", "excerpt": "This looks like yet another basic key value store. Benchmarking is a complicated problem, but FoundationDB claims 300,000 reads per second on a single core. TigerBeetle claims 100k-500k TPS on... Some kind of hardware? https://apple.github.io/foundationdb/benchmarking.html", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle: A Trillion Transactions [video]"}, {"id": 764786720, "item_id": 47799170, "url": "https://news.ycombinator.com/item?id=47799170", "by": "nickmonad", "date": "2026-04-16", "version": null, "stance": "neutral", "quote": "On the streaming side, are you looking for Change Data Capture?", "excerpt": "On the streaming side, are you looking for Change Data Capture? https://docs.tigerbeetle.com/operating/cdc/", "context": "", "use_case": "", "switched_from": "", "story": "TigerBeetle: A Trillion Transactions [video]"}, {"id": 753637360, "item_id": 47102335, "url": "https://news.ycombinator.com/item?id=47102335", "by": "dd82", "date": "2026-02-21", "version": null, "stance": "recommend", "quote": "have https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md#naming-things bookmarked", "excerpt": "not sure about a post, but have https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md#naming-things bookmarked", "context": "", "use_case": "", "switched_from": "", "story": "Index, Count, Offset, Size"}, {"id": 753072048, "item_id": 47067003, "url": "https://news.ycombinator.com/item?id=47067003", "by": "pmarreck", "date": "2026-02-18", "version": null, "stance": "recommend", "quote": "https://tigerbeetle.com wouldn't have chosen it unless they found it faster than C", "excerpt": "Gee, good thing I didn't make a blanket statement and qualified it by saying \"often\", which is true, my contrarian dude. https://tigerbeetle.com wouldn't have chosen it unless they found it faster than C- and there's a significant quantity of money riding on that decision, so it likely wasn't done lightly at all. The rest, you can google yourself, but in short, sorry to tell you that it is sometimes faster. Often, so", "context": "", "use_case": "Financial transactions database", "switched_from": "", "story": "Minimal x86 Kernel Zig"}, {"id": 748291296, "item_id": 46768206, "url": "https://news.ycombinator.com/item?id=46768206", "by": "weitendorf", "date": "2026-01-26", "version": null, "stance": "compare", "quote": "they are definitely thinking about the problem differently from us", "excerpt": "Thanks for mentioning them, we're doing quite similar debit-credit stuff as https://docs.tigerbeetle.com/concepts/debit-credit/ but reading https://docs.tigerbeetle.com/concepts/performance/ they are definitely thinking about the problem differently from us. You need much more prescribed entities (eg resources and skus) on the modelling side and different choices on the performance side (for something like a usage pr", "context": "", "use_case": "Financial ledger database", "switched_from": "", "story": "The future of software engineering is SRE"}, {"id": 742861760, "item_id": 46428860, "url": "https://news.ycombinator.com/item?id=46428860", "by": "chrisco255", "date": "2025-12-29", "version": null, "stance": "recommend", "quote": "I first heard about this while learning about TigerBeetle", "excerpt": "You complain about the very thing that lead to the experimentation and writing of this article, which is how one gets a real education: \"One of those techniques is static memory allocation during initialization. The idea here is that all memory is requested and allocated from the OS at startup, and held until termination. I first heard about this while learning about TigerBeetle, and they reference it explicitly in t", "context": "", "use_case": "", "switched_from": "", "story": "Static Allocation with Zig"}, {"id": 742810768, "item_id": 46425673, "url": "https://news.ycombinator.com/item?id=46425673", "by": "matklad", "date": "2025-12-29", "version": null, "stance": "neutral", "quote": "with a bunch of assertions all other the place to triple check that each block is accounted for", "excerpt": "There's some reshuffling of bugs for sure, but, from my experience, there's also a very noticeable reduction! It seems there's no law of conservation of bugs. I would say the main effect here is that global allocator often leads to ad-hoc, \"shotgun\" resource management all other the place, and that's hard to get right in a manually memory managed language. Most Zig code that deals with allocators has resource managem", "context": "", "use_case": "", "switched_from": "", "story": "Static Allocation with Zig"}, {"id": 742789056, "item_id": 46424316, "url": "https://news.ycombinator.com/item?id=46424316", "by": "matklad", "date": "2025-12-29", "version": null, "stance": "neutral", "quote": "Static allocation is a large part of TigerBeetle's something else.", "excerpt": "See https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md#:~:text=understanding%20of%20code.-,All%20memory,-must%20be%20statically for motivation. - Operational predictability --- latencies stay put, the risk of threshing is reduced (_other_ applications on the box can still misbehave, but you are probably using a dedicated box for a key database) - Forcing function to avoid use-after-free. Zig doe", "context": "", "use_case": "key database", "switched_from": "", "story": "Static Allocation with Zig"}, {"id": 742787520, "item_id": 46424220, "url": "https://news.ycombinator.com/item?id=46424220", "by": "matklad", "date": "2025-12-29", "version": null, "stance": "neutral", "quote": "TigerStyle is quite a bit more than just static allocation", "excerpt": "To add more context, TigerStyle is quite a bit more than just static allocation, and it indeed explicitly attributes earlier work: > NASA's Power of Ten \u2014 Rules for Developing Safety Critical Code will change the way you code forever. To expand: * https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md#safety * https://spinroot.com/gerard/pdf/P10.pdf", "context": "", "use_case": "", "switched_from": "", "story": "Static Allocation with Zig"}, {"id": 742779056, "item_id": 46423691, "url": "https://news.ycombinator.com/item?id=46423691", "by": "MatthiasPortzel", "date": "2025-12-29", "version": null, "stance": "neutral", "quote": "One key thing to understand about TigerBeetle is that it's a file-system-backed database.", "excerpt": "One key thing to understand about TigerBeetle is that it's a file-system-backed database. Static allocation means they limit the number of resources in memory at once (number of connections, number of records that can be returned from a single query, etc). One of the points is that these things are limited in practice anyways (MySQL and Postgres have a simultaneous connection limit, applications should implement pagi", "context": "", "use_case": "", "switched_from": "", "story": "Static Allocation with Zig"}, {"id": 739428816, "item_id": 46214301, "url": "https://news.ycombinator.com/item?id=46214301", "by": "ottah", "date": "2025-12-09", "version": null, "stance": "neutral", "quote": "https://github.com/tigerbeetle/tigerbeetle", "excerpt": "https://github.com/tigerbeetle/tigerbeetle", "context": "", "use_case": "", "switched_from": "", "story": "Rust in the kernel is no longer experimental"}, {"id": 738950368, "item_id": 46184398, "url": "https://news.ycombinator.com/item?id=46184398", "by": "krashidov", "date": "2025-12-07", "version": null, "stance": "recommend", "quote": "adding assertions like TigerBeetle does", "excerpt": "Has anyone else here banned exceptions (for the most part) in less critical settings (like a web app)? I feel like that's the way to go since you don't obscure control flow. I have also been considered adding assertions like TigerBeetle does https://github.com/tigerbeetle/tigerbeetle/blob/main/docs/TIGER_STYLE.md", "context": "", "use_case": "Coding style inspiration", "switched_from": "", "story": "The C++ standard for the F-35 Fighter Jet [video]"}, {"id": 738690016, "item_id": 46168126, "url": "https://news.ycombinator.com/item?id=46168126", "by": "dangoor", "date": "2025-12-05", "version": null, "stance": "neutral", "quote": "TigerBeetle's support for Zig", "excerpt": "Something interesting about your comment is that HN also has a post today (https://tigerbeetle.com/blog/2025-10-25-synadia-and-tigerbeetle-pledge-512k-to-the-zig-software-foundation/) about TigerBeetle's support for Zig and their reason for using Zig specifically talked about wanting something for a long time horizon: > Investing in creating a database like TigerBeetle is a long term effort. Databases tend to have a ", "context": "", "use_case": "", "switched_from": "", "story": "Why we built Lightpanda in Zig"}, {"id": 738659136, "item_id": 46166196, "url": "https://news.ycombinator.com/item?id=46166196", "by": "inopinatus", "date": "2025-12-05", "version": null, "stance": "neutral", "quote": "", "excerpt": "I recommend having instant recognition of all the powers up to 2^24, this has proven very useful over the years e.g. when skimming quickly through a log searching for anomalies, flag patterns etc. If you recite them in sequence twice a day for a couple of weeks, then they\u2019ll stick in your mind for decades. I can say from experience this method also works for the NATO phonetic alphabet, Hamlet\u2019s soliloquies, ASCII, an", "context": "", "use_case": "", "switched_from": "", "story": "Synadia and TigerBeetle Pledge $512k to the Zig Software Foundation"}, {"id": 736410992, "item_id": 46025687, "url": "https://news.ycombinator.com/item?id=46025687", "by": "spprashant", "date": "2025-11-23", "version": null, "stance": "recommend", "quote": "I d recommend reading TigerBeetle's documentation", "excerpt": "Like someone else said your question is kind of broad. But I d recommend reading TigerBeetle's documentation to understand how financial transaction processing may differ from what they call general purpose databases like PostgreSQL. https://docs.tigerbeetle.com/single-page/#concepts", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: Good resources to learn financial systems engineering?"}, {"id": 735178496, "item_id": 45948656, "url": "https://news.ycombinator.com/item?id=45948656", "by": "rishabhaiover", "date": "2025-11-16", "version": null, "stance": "recommend", "quote": "There's an actual production grade database written in zig", "excerpt": "There's an actual production grade database written in zig: https://tigerbeetle.com/", "context": "", "use_case": "", "switched_from": "", "story": null}, {"id": 734242256, "item_id": 45890141, "url": "https://news.ycombinator.com/item?id=45890141", "by": "kelseydh", "date": "2025-11-11", "version": null, "stance": "neutral", "quote": "caused the drop in transaction performance we observed", "excerpt": "Thanks for reaching out. I shared this benchmarking script with your team when we tested Tigerbeetle, but this is it again: https://gist.github.com/KelseyDH/c5cec31519f4420e195114dc9c8eb22f Was there something wrong with our test of the individual transactions in our Go script that caused the drop in transaction performance we observed?", "context": "team that benchmarked TigerBeetle", "use_case": "", "switched_from": "", "story": "Building a high-performance ticketing system with TigerBeetle"}, {"id": 734184880, "item_id": 45886555, "url": "https://news.ycombinator.com/item?id=45886555", "by": "jorangreef", "date": "2025-11-11", "version": null, "stance": "neutral", "quote": "All TigerBeetle's clients also auto batch under the hood", "excerpt": "> We didn't observe any automatic batching when testing Tigerbeetle with their Go client. This is not accurate. All TigerBeetle's clients also auto batch under the hood, which you can verify from the docs [0] and the source [1], provided your application has at least some concurrency. > I think we initiated a new Go client for every new transaction when benchmarking The docs are careful to warn that you shouldn't be ", "context": "", "use_case": "", "switched_from": "", "story": "Building a high-performance ticketing system with TigerBeetle"}]}