It looks like the Ethereum blockchain to me, Ethereum came out in 2013. This is a less secure, more centralised iteration of it. Probably decent for business use cases but nothing groundbreaking in principle.
@@max_im_um you think? what's Ethereum's TPS global capacity currently stands? 100k max last I read Dec last year. You're giving tigerbeetle way too little credit here
I got my first programming job when I was 18 and have worked in the software industry my whole (adult) life - I’m 61 now. I agree that was one of the most impressive presentations and demos I have ever seen. And I have worked in financial transactions with those same (now old) database platforms so I know the issues Tiger Beetle is addressing fairly well. This thing is really going to shake up the industry. Can’t wait to give it a go. Thanks for sharing this.
That demo caught me off guard. I didn't expect financial programmers with a penchant for zero-copy serialization and fault tolerance to be fantastic game devs.
are you serious? the most insane high performance tricks came from HFT and fintech... its the cutting edge of performance, gamedev is not nearly as complex as modern fintech.
I used to work with an Investment bank's trading unity and there are folks in financial world especially ultra low latency/High Frequency trading who upgrades Linux kernel to support specialized features(for example upgrading network stack to speed up things,supporing zero copy from app layer to kernal etc.).
Funnily enough it makes sense to me. In a game you have 33ms todo all your frames processing (16ms if you want to hit 60FPS) so all the game programmers are already used to avoiding issues that slow things down and have strategies in place for processing over multiple frames if need be. I think SpaceX tries to hire programmers from the video games industry for similar reasons
it is the overlooked selling point of being able to push hardware beyond its write-off use-by date, and lower hardware management as well, with those added layers of reliance/redundancy in design and leverage that for huge savings. THAT will always get management listening and for those in stale code banks, might well prove a way forward. The key turning point sign this is going to be huge, IBM will try to get involved in a friendly way and with an agenda to buy it out if going to impact their big iron.
It was so good to watch someone so high-level, but passionate about explaning it in a simple way, with not a single marketing / bullshit / hype phrase, with every technical concept mentioned in a pure and humble way, because it's valuable and the right audience will understand the project better etc. With all that, also seeing that they have fun building it - just a lot of passion all around! Very inspiring.
my fav part of this is how using zig which brings errors (errors as values, no exceptions) and allocations (no hidden allocs) to the forefront creates a huge amount of stability because the code does exactly what you tell it to do. no more COME FROM HERE effects, no hidden surprises. love it.
I have to say, as a 25-year old, stalled, out of work, web-dev with a laundry-list of experience in this acronym salad, your videos keep me sane and teach me a lot. Thanks for the great content.
Hand down the coolest project. If you are able to do this level of visualization that means you REALLY know the ins and outs of your application as much as possible. Good Job! I am really impressed
just 8 mins in and the presentation goes so hard -- the amount of practice this man must've done. I aspire to be as dedicated and good at presenting something as great as this! Edit: The demo is ridiculous, I love it
if you're presenting something that is genuinely good it comes naturally, the probelm with the presentations most of the time is that you need to lie in a convincing way or just generate B$, I have zero issues presenting stuff I love and care about
sometimes devs put high standards for whats "stable release" for example react native still below v1.0 also language called Elm its on 0.19 but its extremly stable and have been used in production for years
Oh my goodness The demo was so intense, the music was so loud -- especially in radioactive scenario! -- i couldn't help but thought the only things missing and preventing me from falling unconscious from orgasm were the shouting korean StarCraft commentators and MLG-style quickscopes, explosions and lense flares The devs from Zig community cant be stopped (shoutout to King Protty and Rene Schallner for their amazing presentation-as-a-game speeches!)
I started using assertions last year and I can recommend it. You immediately know what's wrong and where, and it already caught many bugs for me where an assumption was either wrong or was invalidated by a code change later on.
@@SaHaRaSquad there doesn't seem to be a lot of content available to discuss techniques for this. My first thought is to use one anytime I get data from DB/REST/and so on. This also feels like something you could do to replace explicit tests.
@elikegzus I don't use it to check inputs etc, but to do checks that can only fail if there's a bug in the code. We make many assumptions when writing code ("that array is never empty", "those two variables can never have the same value at the same time" etc), and often bugs appear because those assumptions are wrong in some unexpected edge case. And when it's wrong that means the code written with that assumption is also incorrect. With "if" statements I check data, with assertions I check my own program for invalid state.
If you don't write in machine code you are an amateur. Always remember, the superior chads are talking directly to the cpu, while the virgins need a compiler.
Amazing demo, amazing project, and what I love so much about this video is to see how much someone can be excited and passionate about something they've created. It's really motivational to see and, even though is the middle of the night here and I'm tired after my full time job, it makes me want to clone again the old dusty repos of projects I've been dreaming of doing but always postponed and just do stuff, with that joy and smile on the face. Thank you.
Fantastic work all! Similarly in 2000 this same group of ideas was dreamed up by myself and two other engineers for Cisco's AAA security server to bring state, replication. FT and speed to logins at ISP's globally. Oh the edge cases! Right now I run backend stuff in the financials and will see where this can fit. Great presentation, this brings back so many terrific memories! Thank you guys. Oh, also we used C++, our new java team tried to do something close and got 8tps compared to our 10's of millions.
So pre allocated memory that you never de-allocate with large network chunk transfers and storage validation syncing. Lots of words that made sense. I like it.
I'm incredibly pleased to see that someone is finally taking CPU thrashing seriously. The vast majority of today's software does an absolutely _terrible_ job of managing CPU caching to get maximum throughput. In the name of easier abstractions (which I would argue are not easier), damn near everything we do causes thrashing. ORMs are particularly bad, looping through the entire set for each operation rather than performing all operations on the record before moving on. I've damn near made a career out of "magically" getting an order of magnitude performance increase by cutting that nonsense out and working with the CPU. Yet no one seems to catch on. Thanks TigerBeetle for fighting the good fight with us!
Amazing content. I hope you get to more of this type of stuff, I love hearing really technical people explain their thought process. Tech demo was insane
You know, the funny part is from the very second CS course in my Uni, they teach you to assert everywhere. It is incredible, and that is the main form of testing we do on assignments, midterms, etc. for CS classes. Glad to see it being picked up everywhere.
The fact that there's still space to innovate in simple terms in financial sector with technologies using FoundationDB like tigerbeetle or griffin bank which migrated from kafka to directly FoundationDB shows the appetite for performance and well organized distributed systems.
This was amazing. I am in ecommerce and its a fraction of what tiger beetle needs to deal with. It‘s hard to convey to business that we cannot not scale easily via horizontal distribution if all customers are purchasing a single item. I typically link tom scotts „Why Computers Can't Count Sometimes“ But might switch to this
Besides the huge achievement, the "game" graphics are top notch, and it's all in a very coherent and great style (I'm an illustrator and graphic designer).
I too have struggled in the past designing distributed systems to be reliable and "simply just work ffs", and ngl I got kinda emotional watching the nodes working and recovering, and tracking each other's heath-status, so cool, such a great feat.
This was one of the best videos I've seen. Sometimes as a 38 year old I just feel sad on how much I've missed out on stuff. This kind of demo would be awesome to understand at a deeper level.
His programming philosophy reminds me a lot of Casey Muratori's. Truly beautiful piece of software. I hope to be able to work on such interesting projects sometime in my career.
That browser game simulation of network and storage faults was mind-boggling! Can't believe it. I am not a good enough developer to understand what exactly they did in the source code that he was explaining before but sure does sound amazing 0_0
I cannot wait to show this to my class. Its so hard to get students excited about this kind of thing and I'm like wired now after watching that. What a fantastic presentation.
The Iron Man suit concept: extracting the financial DB component and inserting your own business logic/DB to use TigerBeetle as a distributed database FRAMEWORK is kind of mind blowing. Incredible presentation.
Very neat! Having worked with them before, financial systems is one of the best targets to go for. The entire industry is INSANELY awful and ripe for improvements, and stuff like this makes it easier in a job that's typically tarnished by managers telling you there's never any time to make improvements.
The idea of using pre allocated memory and a state machine makes so much sense! like, i would NEVER EVEN think about it. But after he explained it my mind exploded!
I love this so much just because it is purely in a single language and 600kb in size. Whenever I try to make some research on a language, I face ten more that it needs to be used together with. This is why I loved trying out solutions like pocketbase because of its simplicity. I hope more and more new stuff goes back to core of software development so we don't need to check dependencies and etc every single month to make sure our solution works properly.
The demo and technology being great aside, this just shows me how little I can regarding programming. This is just super inspiring, now I want to learn Zig and all the design and programming principles and make my own DB and game.
I think they should keep the gamified interface for the sysadmins dashboard when its rolled out as a product. management will never know if you are goofing off again.
Regarding assertions: I like to think of them as reverse unit tests. Unit tests check how e.g. a function behaves for all kinds of inputs, with assertions a function can check for valid state of the data it's working with.
@woodendoorgarage i wrote a http client in php using sockets, it was faster than the curl integration (http v1.1) for the use case it had to be. And i am a (very) good web developer. It's more like that being a web developer is much easier than creating such a database/testing system.
Just looked into this 1.5M loc project I work at, and I'm the only one ever to use assert outside of testing code, the way they describe it... This code has a history of 10+ years.
I don't know what makes a financial transaction special, but given that he says at 16:14 he says "just spin it up and do 100 billion yourself", does this imply TigerBeetle could allow a person to bootstrap becoming their own personal bank?
There's a lot more to being a bank than computing transactions. But yeah, it seems like you don't need super beefy hardware to process a ton of transactions.
@@kajaxochi8562look into z/TPF which is a super light-weight, purpose-built transaction processing OS for the mainframe. I think it might honestly be a fellow traveler with this in a lot of ways, and it’s worth noting that Visanet runs authorizations on a big sysplex of maxed-out mainframes with this tiny OS. There’s a lot more to transactions than simply recording the fact.
Remember a while ago when Prime reviewed the blog post asking why SQL hasn't changed in 40 years? Remember how everyone said you'd just be pointlessly reinventing the wheel? That aged well.
What a well-spoken individual. It brings me joy when Southern African’s can innovate like this. I’m not sure if he’s still in SA or emigrated already - would love more content like this. Hidden gems.
They better change the license on that DB if they're offering a commercial hosting, AWS is just around the corner waiting to knock them out of the market with their own (TigerBeetle) product.
This presentation single-handled raised the bar for all the tech presentations to come... and will probably create a huuge demand to indie-games developers ;D
7:47 Do they overlook there some issue with their replication? If they wait for reply after every replicator has confirmed, a single faulty node connection can stall more or less the system. If not, you still have the issue of replication delay and imediate reads after writes.
Well...the "tiger beetle" is an actual beetle that runs pretty fast... it runs so fast that it needs to stop after a sprint as it's eyes can't process it's surroundings while it moves...so has to stop to scan the path in order to not run into things.
Most database engines are restricted by memory latency (which is typical of a read-update-write workflow), he mentions they're bottle-necked on memory bandwidth, since memory latency has basically zero improvements in the last 15 years, but bandwidth has skyrocketed, I wouldn't be surprised once you change the schema like they have with SQL or key-value store, and use batched writes, you can get massive performance boosts, but your account balance is an O(n) without Memoization.
I'ts mentioned that every query is a 1MB data block. Will the system wait for the data pool to be filled? I mean what's the criteria for the system to pass the packet to the DB? Wait for some time, or when the datapool is filled!
You can also do general purpose deterministic fault checking with open source LFI toolkit but I'm pretty sure that way would be much slower to generate lots of test cases than running the code in simulator as explained in this talk. Another option is libfiu.
In a way... this makes so much sense... DBMS's in general will be "general purpose". In the same way a CPU is a "general purpose" processor. And a CPU can handle any task, just not especially well (for any of them). Thus, you then have GPU's/TPU's/DSP's/ASIC's/etc, which are designed to do a specific (kind of) task extremely well. And the throughput difference is quite large. So yeah, take the same approach, makes a lot of sense.
Zig has been on my radar since I wanted to check a few boxes [==] low level [==] low clashing with existing code like c[==] performant [==]could potentially make games [==] better safety than c [==] better readability than c . Now the databases of the future are being written with it , yup I’m sold AF . I was gonna learn rust but the control over memory with improved safety but less abstraction issues is the thing that swayed me in the end.
This looks nice as a ledger and could probably be adapted for ticking time series as well. However I wonder how it would benefit an ERP system where all of the problems he mentions are present (countless queries to complete a single transaction) but there is far more data than just accounts and DR/CR against those accounts. e.g. a purchase order all said and done might only be four or five transactions on your ledger, but all the other data around that purchase order (line items, approvers, audit log, etc.) will probably be stored somewhere in Postgres. TigerBeetle improves reading and writing the ledger but it's not clear to me how it could be used for all of the other data necessary to support those ledger transactions. Based on the docs, while it's called a "database," it seems like a specialized data store where you are very limited in what you can create (the docs read more like a specialized API rather than a freeform database). So basically if I have a `ledger` table in a traditional multi-tenant Postgres database, I can improve reads and writes to that, but it doesn't seem I could improve reads and writes to my other dozen or more tables. Of course, just improving the ledger table alone will improve things like trial balances and government reporting, but there are far more queries than just that.
I can also recommend the talk (on YT) about FoundationDB which was mentioned here as well. I think there's not enough accessible info out there about how to actually deal with fail states that go beyond your average exception.
That music was AWESOME! I don't understand anything about databases, but I do know that I got hooked to Linux and Vim because they were presented to me in a cool way too and I thought of them like a fantasy spaceship instead of like a rotten table with a pile of unaligned papers. So I'm super happy I got a database teaser trailer! This was nuts, whatever it was! Will my veins flash too if I'm near a database?
Is there a special type of assertions referred to in this video? Seems to go over my head, but is it still code testing we're talking about? As in doing unit tests that asserts code behavior?
The fact that they were able to make a FINANCIAL DATABASE this fascinating is mind blowing. Absolutely incredible work.
its wild huh
Use to love my Spotlight on SQL monitor, made sql server database more fun!
@@ThePrimeTimeagen makes me want to get into fintech
It looks like the Ethereum blockchain to me, Ethereum came out in 2013. This is a less secure, more centralised iteration of it. Probably decent for business use cases but nothing groundbreaking in principle.
@@max_im_um you think? what's Ethereum's TPS global capacity currently stands? 100k max last I read Dec last year. You're giving tigerbeetle way too little credit here
I got my first programming job when I was 18 and have worked in the software industry my whole (adult) life - I’m 61 now. I agree that was one of the most impressive presentations and demos I have ever seen. And I have worked in financial transactions with those same (now old) database platforms so I know the issues Tiger Beetle is addressing fairly well. This thing is really going to shake up the industry. Can’t wait to give it a go. Thanks for sharing this.
That demo caught me off guard. I didn't expect financial programmers with a penchant for zero-copy serialization and fault tolerance to be fantastic game devs.
are you serious? the most insane high performance tricks came from HFT and fintech... its the cutting edge of performance, gamedev is not nearly as complex as modern fintech.
When you state it like that yeah I see where you are coming from .
I used to work with an Investment bank's trading unity and there are folks in financial world especially ultra low latency/High Frequency trading who upgrades Linux kernel to support specialized features(for example upgrading network stack to speed up things,supporing zero copy from app layer to kernal etc.).
Maybe they are gamedevs who became financial programmers
Funnily enough it makes sense to me. In a game you have 33ms todo all your frames processing (16ms if you want to hit 60FPS) so all the game programmers are already used to avoiding issues that slow things down and have strategies in place for processing over multiple frames if need be.
I think SpaceX tries to hire programmers from the video games industry for similar reasons
That demo is crazy.
That's the coolest thing i ever seen in my life... it's reminded why i first got interested in programming..
prime sitting there in Harvest Moon art style getting stoked on the first demo scenario with the mister miyagi beetles? classic W presentation
it is the overlooked selling point of being able to push hardware beyond its write-off use-by date, and lower hardware management as well, with those added layers of reliance/redundancy in design and leverage that for huge savings. THAT will always get management listening and for those in stale code banks, might well prove a way forward.
The key turning point sign this is going to be huge, IBM will try to get involved in a friendly way and with an agenda to buy it out if going to impact their big iron.
It was so good to watch someone so high-level, but passionate about explaning it in a simple way, with not a single marketing / bullshit / hype phrase, with every technical concept mentioned in a pure and humble way, because it's valuable and the right audience will understand the project better etc. With all that, also seeing that they have fun building it - just a lot of passion all around! Very inspiring.
my fav part of this is how using zig which brings errors (errors as values, no exceptions) and allocations (no hidden allocs) to the forefront creates a huge amount of stability because the code does exactly what you tell it to do. no more COME FROM HERE effects, no hidden surprises.
love it.
I have to say, as a 25-year old, stalled, out of work, web-dev with a laundry-list of experience in this acronym salad, your videos keep me sane and teach me a lot. Thanks for the great content.
Hand down the coolest project. If you are able to do this level of visualization that means you REALLY know the ins and outs of your application as much as possible. Good Job! I am really impressed
I'm sounding like a funboy already! :D
just 8 mins in and the presentation goes so hard -- the amount of practice this man must've done. I aspire to be as dedicated and good at presenting something as great as this!
Edit: The demo is ridiculous, I love it
if you're presenting something that is genuinely good it comes naturally, the probelm with the presentations most of the time is that you need to lie in a convincing way or just generate B$, I have zero issues presenting stuff I love and care about
Jesus, i have not watched a technical presentation twice for the seer joy of it. DAMN
Same here!
It's an amazing presentation indeed, he is a very likeable man.
Most insane demo ever
Zig mentioned!
I loved when the guy in the video said "it is zigging time" and then zigged all over other databases.
Truly one of the languages of all time.
lets go ziggers@@rj7250a
Zig itself is still not production ready and they already written a DB in Zig, incredible. Looks like Zig has great potential.
sometimes devs put high standards for whats "stable release" for example react native still below v1.0 also language called Elm its on 0.19 but its extremly stable and have been used in production for years
Groaned a bit when I saw it was a 40 min vid with no prime, but the presenter is an amazing storyteller (didn't catch his name)
But Prime comes in 20 minutes into the video
Joran Greef is the name
Oh my goodness
The demo was so intense, the music was so loud -- especially in radioactive scenario! -- i couldn't help but thought the only things missing and preventing me from falling unconscious from orgasm were the shouting korean StarCraft commentators and MLG-style quickscopes, explosions and lense flares
The devs from Zig community cant be stopped (shoutout to King Protty and Rene Schallner for their amazing presentation-as-a-game speeches!)
lmao, almost had a demogasm.
The fact that the presenter could barely talk over the music really added to the experience
he made a video game to show his DB!!!
So cool!!!
This is probably the best presentation about, ehm, anything really, I have ever watched.
That demo was unbelievable, but I'm actually far more intrigued by this idea of using assertions in your code.
yes yes and yes
I started using assertions last year and I can recommend it. You immediately know what's wrong and where, and it already caught many bugs for me where an assumption was either wrong or was invalidated by a code change later on.
@@SaHaRaSquad there doesn't seem to be a lot of content available to discuss techniques for this. My first thought is to use one anytime I get data from DB/REST/and so on.
This also feels like something you could do to replace explicit tests.
@elikegzus I don't use it to check inputs etc, but to do checks that can only fail if there's a bug in the code. We make many assumptions when writing code ("that array is never empty", "those two variables can never have the same value at the same time" etc), and often bugs appear because those assumptions are wrong in some unexpected edge case. And when it's wrong that means the code written with that assumption is also incorrect.
With "if" statements I check data, with assertions I check my own program for invalid state.
If you don't write in machine code you are an amateur. Always remember, the superior chads are talking directly to the cpu, while the virgins need a compiler.
Amazing demo, amazing project, and what I love so much about this video is to see how much someone can be excited and passionate about something they've created.
It's really motivational to see and, even though is the middle of the night here and I'm tired after my full time job, it makes me want to clone again the old dusty repos of projects I've been dreaming of doing but always postponed and just do stuff, with that joy and smile on the face.
Thank you.
Fantastic work all! Similarly in 2000 this same group of ideas was dreamed up by myself and two other engineers for Cisco's AAA security server to bring state, replication. FT and speed to logins at ISP's globally. Oh the edge cases! Right now I run backend stuff in the financials and will see where this can fit. Great presentation, this brings back so many terrific memories! Thank you guys. Oh, also we used C++, our new java team tried to do something close and got 8tps compared to our 10's of millions.
What a skill issue in the java guys team!
So pre allocated memory that you never de-allocate with large network chunk transfers and storage validation syncing. Lots of words that made sense. I like it.
Fortran was right all along, pre-allocated memory is how most programs should run. malloc is a curse
@@monad_tcp If you want speed preallocated is the only way. Heap is just too slow
@@LeonidasRaghav can someone explain in simple English
This was the best presentation I've ever seen. The visualized demo as well just added to the understanding!
I'm incredibly pleased to see that someone is finally taking CPU thrashing seriously. The vast majority of today's software does an absolutely _terrible_ job of managing CPU caching to get maximum throughput. In the name of easier abstractions (which I would argue are not easier), damn near everything we do causes thrashing. ORMs are particularly bad, looping through the entire set for each operation rather than performing all operations on the record before moving on.
I've damn near made a career out of "magically" getting an order of magnitude performance increase by cutting that nonsense out and working with the CPU. Yet no one seems to catch on. Thanks TigerBeetle for fighting the good fight with us!
Amazing content. I hope you get to more of this type of stuff, I love hearing really technical people explain their thought process. Tech demo was insane
You know, the funny part is from the very second CS course in my Uni, they teach you to assert everywhere. It is incredible, and that is the main form of testing we do on assignments, midterms, etc. for CS classes. Glad to see it being picked up everywhere.
AI wasn't mentionned once, faith in programming has been restored.
I don't think ai can help at all, maybe help in just gathering general information
The fact that there's still space to innovate in simple terms in financial sector with technologies using FoundationDB like tigerbeetle or griffin bank which migrated from kafka to directly FoundationDB shows the appetite for performance and well organized distributed systems.
15:05 the twist that it’s OSS and being developed in the open!
This was amazing. I am in ecommerce and its a fraction of what tiger beetle needs to deal with. It‘s hard to convey to business that we cannot not scale easily via horizontal distribution if all customers are purchasing a single item.
I typically link tom scotts „Why Computers Can't Count Sometimes“
But might switch to this
Besides the huge achievement, the "game" graphics are top notch, and it's all in a very coherent and great style (I'm an illustrator and graphic designer).
A great example of "First Principles Thinking" applied to databases. Beautifully explained.
Working with this guy must be awesome, he seems so passionate about what he's doing
I too have struggled in the past designing distributed systems to be reliable and "simply just work ffs", and ngl I got kinda emotional watching the nodes working and recovering, and tracking each other's heath-status, so cool, such a great feat.
One of the best technical demos I've ever watched.
This was one of the best videos I've seen. Sometimes as a 38 year old I just feel sad on how much I've missed out on stuff. This kind of demo would be awesome to understand at a deeper level.
Absolutely mind blown. That will most probably be my first Zig code to explore.
Very fascinating! I work in finance and I'm interested in Zig :). Double win
His programming philosophy reminds me a lot of Casey Muratori's. Truly beautiful piece of software. I hope to be able to work on such interesting projects sometime in my career.
That browser game simulation of network and storage faults was mind-boggling! Can't believe it. I am not a good enough developer to understand what exactly they did in the source code that he was explaining before but sure does sound amazing 0_0
I didn't really follow what I was seeing in the simulation, but the music told me it was impressive!
The best tech presentation ever! I'm buzzing with tech energy after watching this.
I cannot wait to show this to my class. Its so hard to get students excited about this kind of thing and I'm like wired now after watching that. What a fantastic presentation.
The Iron Man suit concept: extracting the financial DB component and inserting your own business logic/DB to use TigerBeetle as a distributed database FRAMEWORK is kind of mind blowing. Incredible presentation.
Very neat! Having worked with them before, financial systems is one of the best targets to go for. The entire industry is INSANELY awful and ripe for improvements, and stuff like this makes it easier in a job that's typically tarnished by managers telling you there's never any time to make improvements.
Amazing stuff! Thx for highlighting this! TigerStyle FTW! "zero technical debt" policy is so worth it!
The idea of using pre allocated memory and a state machine makes so much sense! like, i would NEVER EVEN think about it. But after he explained it my mind exploded!
I love this so much just because it is purely in a single language and 600kb in size. Whenever I try to make some research on a language, I face ten more that it needs to be used together with. This is why I loved trying out solutions like pocketbase because of its simplicity. I hope more and more new stuff goes back to core of software development so we don't need to check dependencies and etc every single month to make sure our solution works properly.
This presentation was about 1000x more impressive than the database. God damn. Well done.
The demo and technology being great aside, this just shows me how little I can regarding programming. This is just super inspiring, now I want to learn Zig and all the design and programming principles and make my own DB and game.
Time to learn!
Amazing explanation, I see how he is enthusiastic and excited about the project. Amazing !! ❤
I think they should keep the gamified interface for the sysadmins dashboard when its rolled out as a product.
management will never know if you are goofing off again.
this was truly the best presentation about tech ever made
Regarding assertions: I like to think of them as reverse unit tests. Unit tests check how e.g. a function behaves for all kinds of inputs, with assertions a function can check for valid state of the data it's working with.
Blew my mind multiple times. Also this guy know how to present. Teach me senpai!
This is the coolest project I have seen in my lifetime
Best technical presentation I've ever seen, that game was wild!
Hands down… one of the best presentation I’ve seen so far. Straight to the point.
As a web dev i see myself as an ultimate noop in programming now. But its good to be grounded from time to time.
@woodendoorgarage i wrote a http client in php using sockets, it was faster than the curl integration (http v1.1) for the use case it had to be. And i am a (very) good web developer. It's more like that being a web developer is much easier than creating such a database/testing system.
Love zig and tigerbeetle
Just looked into this 1.5M loc project I work at, and I'm the only one ever to use assert outside of testing code, the way they describe it... This code has a history of 10+ years.
I don't know what makes a financial transaction special, but given that he says at 16:14 he says "just spin it up and do 100 billion yourself", does this imply TigerBeetle could allow a person to bootstrap becoming their own personal bank?
There's a lot more to being a bank than computing transactions. But yeah, it seems like you don't need super beefy hardware to process a ton of transactions.
@@kajaxochi8562look into z/TPF which is a super light-weight, purpose-built transaction processing OS for the mainframe. I think it might honestly be a fellow traveler with this in a lot of ways, and it’s worth noting that Visanet runs authorizations on a big sysplex of maxed-out mainframes with this tiny OS. There’s a lot more to transactions than simply recording the fact.
Best demo I've ever seen, unreal
17:30 that is one of the most amazing demos I have ever seen
their demo was their testing environment...
A configurable Database as a Platform. That could be massive if creating the underlying state machine is approachable. A serious gamechanger!
Remember a while ago when Prime reviewed the blog post asking why SQL hasn't changed in 40 years? Remember how everyone said you'd just be pointlessly reinventing the wheel? That aged well.
Extraordinary! Like watching the best presentation ever. God mode.
Another Zig success story. Wow! The simulation was awesome!
What a well-spoken individual. It brings me joy when Southern African’s can innovate like this. I’m not sure if he’s still in SA or emigrated already - would love more content like this. Hidden gems.
They better change the license on that DB if they're offering a commercial hosting, AWS is just around the corner waiting to knock them out of the market with their own (TigerBeetle) product.
Programming languages for the next 30 years: Rust and Zig. I see what u did there.
This presentation single-handled raised the bar for all the tech presentations to come... and will probably create a huuge demand to indie-games developers ;D
This is the best thing I have watched in a long time. Very well done e demo and discussion.
at 18:19 is that the PrimeTime on his throne? lol
indeed. Need update the hair pixels color though
7:47 Do they overlook there some issue with their replication?
If they wait for reply after every replicator has confirmed, a single faulty node connection can stall more or less the system. If not, you still have the issue of replication delay and imediate reads after writes.
They reply to the client after receiving majority OKs from itself and its replicas.
th-cam.com/video/Wii1LX_ltIs/w-d-xo.htmlsi=FlZjN6g1EyoLwqpK
Only need a reply from a majority of replicas. Kinda like bl0ckch@in stuff. (Censoring it, to avoid scammer bots)
it's 1000x faster... so it's 100x faster.
Well...the "tiger beetle" is an actual beetle that runs pretty fast... it runs so fast that it needs to stop after a sprint as it's eyes can't process it's surroundings while it moves...so has to stop to scan the path in order to not run into things.
i dunno... man, there's money to be arbitraged with faster transactions. If there's money to be made it could be 10000 times faster, for a price.
10,000 Xs faster will be the norm within 10 years
I'm surprised it's not more than 1,000x faster based on everything he said.
Most database engines are restricted by memory latency (which is typical of a read-update-write workflow), he mentions they're bottle-necked on memory bandwidth, since memory latency has basically zero improvements in the last 15 years, but bandwidth has skyrocketed, I wouldn't be surprised once you change the schema like they have with SQL or key-value store, and use batched writes, you can get massive performance boosts, but your account balance is an O(n) without Memoization.
I am 6 minutes in and I am already feeling so freaking smart by hearing him only speak. That's incredible stuff!
wow: Just finished the whole thing, this was an insane demo. What do fabulous down to earth that guy is, it is bit hard to believe. Kudos!
The presentation, the demo. What the hell is this masterpiece?!
I'ts mentioned that every query is a 1MB data block. Will the system wait for the data pool to be filled? I mean what's the criteria for the system to pass the packet to the DB? Wait for some time, or when the datapool is filled!
I would assume it’s “send every x period”.
that was next level, really nice visualization mad respect😎
That demo is a straight flex
You can also do general purpose deterministic fault checking with open source LFI toolkit but I'm pretty sure that way would be much slower to generate lots of test cases than running the code in simulator as explained in this talk.
Another option is libfiu.
This is what happens when domain experts in financial industry meet technology excellence. Absolutely phenomenal I want to invest now!
He's just a meeting away from any engineering/product manager to make them use his product
"assertions ... they are ... beautiful" 😂
In a way... this makes so much sense... DBMS's in general will be "general purpose". In the same way a CPU is a "general purpose" processor. And a CPU can handle any task, just not especially well (for any of them). Thus, you then have GPU's/TPU's/DSP's/ASIC's/etc, which are designed to do a specific (kind of) task extremely well. And the throughput difference is quite large. So yeah, take the same approach, makes a lot of sense.
Zig has been on my radar since I wanted to check a few boxes [==] low level [==] low clashing with existing code like c[==] performant [==]could potentially make games [==] better safety than c [==] better readability than c . Now the databases of the future are being written with it , yup I’m sold AF . I was gonna learn rust but the control over memory with improved safety but less abstraction issues is the thing that swayed me in the end.
This looks nice as a ledger and could probably be adapted for ticking time series as well. However I wonder how it would benefit an ERP system where all of the problems he mentions are present (countless queries to complete a single transaction) but there is far more data than just accounts and DR/CR against those accounts. e.g. a purchase order all said and done might only be four or five transactions on your ledger, but all the other data around that purchase order (line items, approvers, audit log, etc.) will probably be stored somewhere in Postgres. TigerBeetle improves reading and writing the ledger but it's not clear to me how it could be used for all of the other data necessary to support those ledger transactions. Based on the docs, while it's called a "database," it seems like a specialized data store where you are very limited in what you can create (the docs read more like a specialized API rather than a freeform database). So basically if I have a `ledger` table in a traditional multi-tenant Postgres database, I can improve reads and writes to that, but it doesn't seem I could improve reads and writes to my other dozen or more tables. Of course, just improving the ledger table alone will improve things like trial balances and government reporting, but there are far more queries than just that.
I can also recommend the talk (on YT) about FoundationDB which was mentioned here as well. I think there's not enough accessible info out there about how to actually deal with fail states that go beyond your average exception.
That music was AWESOME! I don't understand anything about databases, but I do know that I got hooked to Linux and Vim because they were presented to me in a cool way too and I thought of them like a fantasy spaceship instead of like a rotten table with a pile of unaligned papers. So I'm super happy I got a database teaser trailer! This was nuts, whatever it was! Will my veins flash too if I'm near a database?
OMG Ponies! /s
This was an incredible presentation. Great work TigerBeetle team!
This is the best video I have seen on youtube. Hands down!
Such a cool project and interview.
Deterministic simulation with single random seed was pretty cool idea.
wow that was one of the most impressive demonstrations I've seen for a while... the binary size!... so good
Is there a special type of assertions referred to in this video?
Seems to go over my head, but is it still code testing we're talking about? As in doing unit tests that asserts code behavior?
Looking for a link to the podcast Prime spoke about with Lex Friedman and someone else.
such a great presentation; and the whole project is very inspiring
I could listen to this guy talk for hours.
The simulation was incredible!!! I've never felt so hyped for a database.
He might have room for you next to his pillow :)
Imagine if every software product had a demo like that... 🔥
I love everything about this.