TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

TigerBeetle raises $6.4M to power the future of financial accounting infra

194 pointsby matdehaastover 2 years ago

15 comments

eatonphilover 2 years ago
Since the title was getting long we couldn&#x27;t quite fit in that it&#x27;s also open source, and that it&#x27;s written in Zig. But it is, and it is. :)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;tigerbeetledb&#x2F;tigerbeetle">https:&#x2F;&#x2F;github.com&#x2F;tigerbeetledb&#x2F;tigerbeetle</a><p>Also, if there are any Africa-based devs here (but of course, you&#x27;re welcome to come from wherever you are) we&#x27;re running a systems programming conference with Derek Collison of NATS, Jamie Brandon of TigerBeetle and HYTRADBOI, Andrew Kelley of Zig, and many other great folks.<p>Next week, Feb 9th and 10th in Cape Town. Maybe we&#x27;ll see you there!<p><a href="https:&#x2F;&#x2F;systemsdistributed.com" rel="nofollow">https:&#x2F;&#x2F;systemsdistributed.com</a>
评论 #34588554 未加载
评论 #34586600 未加载
评论 #34587089 未加载
评论 #34586766 未加载
vishnuguptaover 2 years ago
I&#x27;ve wrangled with ledgers on and off for 10+ years now. I can some value in pushing some of the application level concerns to lower down the stack. One could call these as Domain Specific Databases. It&#x27;ll be interesting to see how this evolves.<p>Adding a few thoughts off the top of my head.<p>From my experience I can say that money transfers are rarely, if ever, done atomically between two end user accounts. i.e., &lt;Account A debit, Account B&gt; being one operation. Instead the money first moves from Account A to a pooled account, some business checks&#x2F;operations take place, and then from a pooled account (could be same or different) to account B. The reason to do so is to run a host of business checks which could take quite some time, in some cases even a day or more. Which is why the two phase account transfer semantic of &quot;Reserve&quot;, &quot;Settle&quot; scales so well. One can build all kinds of higher order business flows on top of them. Subscriptions, scheduled payments, and so on.<p>Account transfers are subject to a bunch of velocity limits such as daily&#x2F;weekly&#x2F;monthly count and volume of transactions. It depends on a bunch of factors such as user&#x27;s KYC levels, fraud rules, customers&#x27; age in the system etc., An account starts off at a lower limit and those limits are gradually increased as the account ages in the system. This was a big pain to pull off in scalable fashion. The running counter of limits ends up being bottle neck. For example, a popular merchant account doing a few million transactions a day. Subjecting that account to velocity limit checks million times will mean that merchant account will become a hotspot.<p>Maybe I should do a blog post sometime, just to give a structure to my brain dump :-P.
评论 #34592193 未加载
评论 #34593063 未加载
评论 #34592526 未加载
m8sover 2 years ago
Joran Greef (TigerBeetle&#x27;s CEO) had a fascinating conversation with Richard Feldman on his Software Unscripted podcast. Highly recommend giving it a listen!<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;sw_unscripted&#x2F;status&#x2F;1584695054563954689" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;sw_unscripted&#x2F;status&#x2F;1584695054563954689</a>
评论 #34593069 未加载
fbouvierover 2 years ago
They have done great contribution for async I&#x2F;O in the Zig community:<p>- io_uring support on the std lib<p><a href="https:&#x2F;&#x2F;github.com&#x2F;ziglang&#x2F;zig&#x2F;pull&#x2F;6356">https:&#x2F;&#x2F;github.com&#x2F;ziglang&#x2F;zig&#x2F;pull&#x2F;6356</a><p>- a cross-platform io_uring based event loop<p><a href="https:&#x2F;&#x2F;github.com&#x2F;tigerbeetledb&#x2F;tigerbeetle&#x2F;tree&#x2F;main&#x2F;src&#x2F;io">https:&#x2F;&#x2F;github.com&#x2F;tigerbeetledb&#x2F;tigerbeetle&#x2F;tree&#x2F;main&#x2F;src&#x2F;i...</a><p><a href="https:&#x2F;&#x2F;tigerbeetle.com&#x2F;blog&#x2F;a-friendly-abstraction-over-iouring-and-kqueue&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tigerbeetle.com&#x2F;blog&#x2F;a-friendly-abstraction-over-iou...</a><p>Thanks team
评论 #34602337 未加载
swyxover 2 years ago
i feel like the branding of &quot;financial accounting database&quot; is underselling the broad potential of Tigerbeetle. Finance feels &quot;niche&quot; to developers but really think about how often we use &quot;transactions&quot; in everyday database concepts. Double entry accounting is the obvious next step in terms of auditability of transactions, and it&#x27;s thousands of years old. Now we have it as a database.
makestuffover 2 years ago
As someone who worked on a financial system where we did basically what you described in the blog post (create in house API backed by some database) this would’ve been amazing.
评论 #34588623 未加载
trolliedover 2 years ago
I&#x27;ve been looking through the docs, and I can&#x27;t find how you&#x27;re intending on supporting the metadata that would go along with a transaction. Say I want to post a journal, where would things like department, customer&#x2F;vendor (entity), cost centre etc exist? Or header information? Or would they have to be linked externally? Or is big ERP software not the target market? If not, what is?<p>Just flipped back to the docs again, think I&#x27;ve found it: &#x27;Set user_data to a &quot;foreign key&quot; — that is, an identifier of a corresponding object within another database.&#x27; -- This is all well and good, but if you&#x27;re having to write to this other database at the same time in order to store said other data, doesn&#x27;t it make your ledger a bit pointless? I&#x27;m just struggling to see the use cases. Can anyone help me &quot;get it&quot; ? (For the record, I work with ERP&#x2F;accounting systems in my day job)
评论 #34586829 未加载
xaropeover 2 years ago
I was heavily influenced by the LMAX architecture, when I was CTO&#x27;ing a transactions based system. We had postgres in the backend and heavily used redis&#x27;s streams for event sourcing, but we were only targeting in the region of 1000s of tps, and planned to shard heavily by client for growth. No longer doing that, but very interested to see other players in the field succeed.
eadzover 2 years ago
I&#x27;m not convinced by the seperate DB&#x2F;API.<p>Advantages for using Postgres ( assuming a double entry schema[1] ) and you&#x27;re using Postgres for your main app db;<p><pre><code> - You can do financial transactions inside business db transactions, and roll back both atomically - Adding up numbers is one of the things computers are best at, and Postgres can easily handle a huge amount of financial transactions - Re-use PaaS Postgres hosting&#x2F;scaling&#x2F;clustering&#x2F;backups - Easier integration with the rest of your app with foreign keys to relevant records relating to the financial transaction - Easy integration with BI tools given Postgres is well connectable </code></pre> [1] Roughy `account(id, cached_balance)`, `transaction_lines(src_account, dst_account, amount)`<p>This gem does literally billions of dollars worth of financial accounting for various companies at scale: <a href="https:&#x2F;&#x2F;github.com&#x2F;envato&#x2F;double_entry">https:&#x2F;&#x2F;github.com&#x2F;envato&#x2F;double_entry</a><p>It&#x27;s dated, the API is a bit messy and needs work, as it was initially written 10+ years ago, but for a web based app I would choose a v2 of it over a non-postgres ( assuming you are using Postgres for your app ) solution.
评论 #34590501 未加载
评论 #34590083 未加载
anon291over 2 years ago
The particular technical challenges tiger beetle is taking on (Protocl-aware recovery, io_uring, etc) are interesting, so my question is... why build a double entry system when you could build a new... database?
评论 #34593122 未加载
agentultraover 2 years ago
Does TigerBeetle have a formal proof of serializability or has it been verified by the Jepsen tests? It&#x27;s mentioned in the blog post and I&#x27;m curious how it fares in that department.<p>Cool project!
评论 #34587637 未加载
yawnxyzover 2 years ago
Curious, how does this compare&#x2F;contrast to Formance? (I haven&#x27;t used either, but looking at Formance right now for tracking &quot;IOU points&quot; between multiple parties
评论 #34593097 未加载
leetroutover 2 years ago
Note: the header PNG is 1.8mb and loads very slowly. You can run it through something like tinypng.com and it shrinks to 400k.
评论 #34593106 未加载
jojobasover 2 years ago
This will be an uphill battle against established solutions like MS Dynamics.<p>That&#x27;s man-millennia of painfully evolved application code, catering for tax legislation of many countries and The Way Accountants Want It, and database performance&#x2F;serializability is a fourth-order concern.
oofbeyover 2 years ago
But I thought the future of financial accounting infra was the blockchain. Problem solved, right?
评论 #34586717 未加载
评论 #34586649 未加载
评论 #34586875 未加载
评论 #34593132 未加载