5 comments

  • Nican2 minutes ago
    This looks like yet another basic key value store.<p>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?<p><a href="https:&#x2F;&#x2F;apple.github.io&#x2F;foundationdb&#x2F;benchmarking.html" rel="nofollow">https:&#x2F;&#x2F;apple.github.io&#x2F;foundationdb&#x2F;benchmarking.html</a>
  • jzelinskie54 minutes ago
    I think I need a deeper-dive into the &quot;diagonal scaling&quot; presented. From my understanding, this is actually no different from &quot;industry decoupling&quot; he disparages earlier in the presentation. There are even off-the-shelf libraries for LSMs backed by object storage like SlateDB.
    • adityaathalye45 minutes ago
      I feel the Expression Problem neatly frames the &quot;diagonal scaling&quot; proposition; what system design choices will allow the architecture to scale vertically in what fashion, while also being able to scale what horizontally, <i>without</i> losing strict serialisability.<p>If we add a &quot;vertical&quot; capability, it cannot be at the cost of any existing &quot;horizontal&quot; capability, nor should doing so forfend any <i>future</i> &quot;horizontal&quot; capability. And vice-versa (adding horizontal capability should not mess with vertical ones). The point at which one will break the other is the theoretical design limit of the system.
      • convolvatron21 minutes ago
        in general these aren&#x27;t in conflict. in particular once I have a system which can distribute work among faulty nodes and maintain serializability, exploiting parallelism _within_ a fault domain just falls out.
  • adityaathalye4 days ago
    TigerBeetle&#x27;s Joran Greef is a teacher &#x2F; explainer par excellence.
    • jorangreef4 days ago
      Ah I appreciate your kind words, Aditya!<p>This was a team effort: the object storage connector, the scale test, the visualization, the slides, even provisioning the hardware had its challenges!
      • adityaathalye4 days ago
        Oh most certainly; I am remiss to have not included the group effort in my comment, particularly as a person surrounded by theatre and film making friends.<p>Still, for the same reason, I have some idea of <i>why</i> their productions turn out well (or not). Where &quot;well&quot; is &quot;a story well told&quot;, not &quot;successful&quot; as in &quot;did well at the box office&quot;. The <i>why</i> is usually one person who keeps asking the questions and making the decisions that take the story from imagination to imagination via screen or floor.<p>Something tells me your doubtlessly excellent &quot;production team&quot; (in film terms) will agree with my original comment :)
  • itsthecourier41 minutes ago
    I have tried to use tiger beetle in production. haven&#x27;t been successful yet.<p>nice stuff, multi master replication.<p>user API, super small.<p>doubts about how to do streaming backup.<p>after studying the API and doing some spike architectures I come to the conclusion (I may be wrong):<p>tiger beetle is awesome to keep the account balance. that&#x27;s it.<p>because you pretty much get the transactions affecting and account and IIRC there was not a lot you can do about how to query them or use them.<p>also I was thinking it would be nice to have something like an account grouping other accounts to answer something like: how much money out user accounts have in this microsecond?<p>I think that was more or less about itm they have some special fields u128 to store ids to the transaction they represent into your actual system<p>and IIRC handle multi currency in different books<p>my conclusion was: I think I don&#x27;t get it yet. I think I&#x27;m missing something. had to write a ruby client for it and build an UI to play with the API and do some transactions and see how it behaved. yet that was my conclusion<p>would be great to have an official UI client
    • nickmonad25 minutes ago
      On the streaming side, are you looking for Change Data Capture?<p><a href="https:&#x2F;&#x2F;docs.tigerbeetle.com&#x2F;operating&#x2F;cdc&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.tigerbeetle.com&#x2F;operating&#x2F;cdc&#x2F;</a>
  • ai_slop_hater1 hour ago
    The takeaway is that you can just buy a single beefy server instead of using kubernetes or whatever.
    • adityaathalye1 hour ago
      To a first approximation, yes. But, <i>why</i>? And for up to how many hundred terabytes of data can you get away with the single beefy server? Provided you make what design choices?<p>Which leads to the real takeaway which is &quot;Tiger Style&quot;: <a href="https:&#x2F;&#x2F;tigerstyle.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;tigerstyle.dev&#x2F;</a> which I am partial to, along with Rich Hickey&#x27;s &quot;Hammock Driven Development&quot; <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=f84n5oFoZBc" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=f84n5oFoZBc</a><p>&quot;Tiger on Hammock&quot; will absolutely smoke the competition.<p>(edit: add links)
      • ai_slop_hater43 minutes ago
        &gt; But, why?<p>To keep things simple. My current company is running multiple instances of back-end services for absolutely no fucking reason, and I had to fix numerous race condition bugs for them. I had an interview with a startup where, after I asked why they were using distributed DynamoDB locks in a monolith app with only a single instance running, the person said &quot;it works for us&quot; and got defensive. Later they told me I wasn&#x27;t experienced enough. I am so frustrated that there appears to be zero basic engineering rigor anywhere I can find nowadays.<p>&gt; And for up to how many hundred terabytes of data can you get away with the single beefy server?<p>Do you even need to store many hundred terabytes of data? I have never encountered a scenario in my career (admittedly not very long so far) where there was a need to store even one terabyte of data. But in case of TigerBeetle, from skimming through the video, it appears they offload the main bulk of data to a &quot;remote storage.&quot;
    • Thaxll44 minutes ago
      And your beefy server goes down what do you do? Where do you think those object storage live exactly?<p>Kubernetes is not just for scaling, it&#x27;s a way to standardize all ops.
      • senko41 minutes ago
        &gt; <i>And your beefy server goes down what do you do?</i><p>Boot it up again. You&#x27;ll still have higher availability than AWS, GitHub, OpenAI, Anthropic, and many others.<p>&gt; <i>Where do you think those object storage live exactly?</i><p>On a RAID5 array with hot-swappable disks, of course.<p>(Edit to add: this is just a comment on Kubernetes being invoked whenever someone talks about scalability; I have massive respect for what the TigerBeetle folks are doing)
    • vyrotek1 hour ago
      &quot;Always has been&quot;