Because the main reason to use databases is atomic consistency while doing transactions. With WAL, there is the potential of data loss if a sudden crash or shutdown happens. It all depends on what you are doing, but most people prefer data safety over performance; hence it's the default.
I have the honor or working on one of the original projects that Sqlite was designed for: an expert system used by several navies around the world to evaluate the survivability of their ships. Sqlite is actually a Tcl extension that escaped into the wider world.
4 месяца назад+2
Now I can be the coll guy explaining WAL mode to all the people! Thank you!
What a wonderful dinner story. And BTW, the storyteller isn’t bad either 😅 I saw all your videos in your preparation phase, and I’m delighted to see your take on SQLite wal- mode. Congratulations 🎉🎉🎉
There are VERY good reasons not to use WAL mode and I am honestly disappointed that an outright recommendation for WAL mode was made here. WAL mode sounds better BUT it does not work if there are multiple applications on different computers all reading and writing the same database. In the classic rollback mode, this does work.
I would love to see this benchmark ran with all 6 journal modes. (Obviously OFF wouldn't be useful for production, but it would be an interesting point of comparison)
Hi, nice video. Although 10x read seems like due to the some php driver optimization or testing methodology, as wal mode not supposed to incense reads, as specified in official site. In out app, where like 95-97% reads, we don’t notice any difference between 2 modes
I'd love to see something on Enums and modifying enums with SQLite. I wanted to test my app with SQLite but the migrations exploded and I didn't feel like modifying client work for the test 😬 But maybe it's a good topic?
Not sure exactly how it’s different, but using bunjs’s built in SQLite I’m able to write a million records in about 200ms. Seems much faster than what you’re showing, but I’m using SQLite programmatically
Wal mode is reason why sqlite took resurgence and sqlite is public domain code. The team behind get paid other ways providing exclusive services and support
@@aarondfrancis Nice. I thought there was still a chance of the WAL file getting corrupted during write, but it probably just does a discard on the bad write when reconnecting the DB.
I feel the need to open up a SQLite DB and play with it 😎
Thanks Aaron!
Is fun.
I thought Laravel would've default my DB to WAL mode, but turns out it didn't. I've since fixed it thanks to this video :)
Because the main reason to use databases is atomic consistency while doing transactions. With WAL, there is the potential of data loss if a sudden crash or shutdown happens. It all depends on what you are doing, but most people prefer data safety over performance; hence it's the default.
came for the thumbnail. stayed for the content
Heya nerd!
Hey nerd 🤝🏻
Didnt know you were laravel
The course is amazing. Highly recommend it. Can’t wait for the last modules!
I love kicking it back with the boys and talking about men’s favourite topics: sports, boobs and sqlite
Drinking our cold waters. 🤙
I have the honor or working on one of the original projects that Sqlite was designed for: an expert system used by several navies around the world to evaluate the survivability of their ships. Sqlite is actually a Tcl extension that escaped into the wider world.
Now I can be the coll guy explaining WAL mode to all the people! Thank you!
Thanks Aaron! I didn't know the details of WAL mode. I will definitely check it out on my projects. Great video, as always!
Watching this while enjoying a nice cold water
What a wonderful dinner story. And BTW, the storyteller isn’t bad either 😅
I saw all your videos in your preparation phase, and I’m delighted to see your take on SQLite wal- mode.
Congratulations 🎉🎉🎉
Thank you for this very useful video!
BLAZINGLY
Relatable opening
Great video, you really deserve more views and subscriber 😊😊
I literally level up as a dev everytime I watch! love it here! TryHard Studios! ❤❤❤
Superb video quality as always!
Extremly clear explanarion of Wal. Thanks 🎉
Have u tried pocketbase?
Excellent baseline test. If you don't mind me asking: What is your take on the future of WAL2 + CONCURRENT for SQLite?
Hi Aaron, loving the course. Is there purchase power parity for buying the course for India? Would love to buy the course. Keep up the good work
Yes, it's listed in the FAQ!
There are VERY good reasons not to use WAL mode and I am honestly disappointed that an outright recommendation for WAL mode was made here. WAL mode sounds better BUT it does not work if there are multiple applications on different computers all reading and writing the same database. In the classic rollback mode, this does work.
Intro cracked me up
thank you man
I would love to see this benchmark ran with all 6 journal modes. (Obviously OFF wouldn't be useful for production, but it would be an interesting point of comparison)
What an excellent video!!
Hey Aaron, are you going to continue streaming the development of your life OS?
I really enjoyed the content. Keep up the great work👍👍👍
Yes for sure!
Hi, nice video. Although 10x read seems like due to the some php driver optimization or testing methodology, as wal mode not supposed to incense reads, as specified in official site.
In out app, where like 95-97% reads, we don’t notice any difference between 2 modes
Thanks for that
Would it be possible to get your benchmarking code as well?
Anyways, thanks for this awesome content!
@@jannismilz yes I'll make a video!
Classic cold water conversation - SQLite config options.
Is there a benchmark between a tuned sqlite vs postgres or mysql in the same machine?
I'd love to see something on Enums and modifying enums with SQLite.
I wanted to test my app with SQLite but the migrations exploded and I didn't feel like modifying client work for the test 😬
But maybe it's a good topic?
Amazingly explained. But the question is ... Why wal mode is not the default mode? 😮
for backwards compatibility (the maintainers see it as highest priority)
Can you benchmark journal_mode = off too? Is that even way very much faster?
Is the script on github? I was surprised to see a PHP script. Now I need to take a good look at the whole script.
It would be useful if you have tested both on SSD and HDD. My guess rollback will be faster on HDD.
Not sure exactly how it’s different, but using bunjs’s built in SQLite I’m able to write a million records in about 200ms. Seems much faster than what you’re showing, but I’m using SQLite programmatically
Yeah this is not an absolute benchmark, just a comparative one. PHP isn't as fast as other languages.
Write a million records in about 200ms? Could you please share your benchmark code along with SQLite configuration?
@@berkancetinkaya5329 it’s not a benchmark. It’s a mock data generator app.
@@berkancetinkaya5329 as for the config, it’s the default settings for bun and drizzle sqlite
Nice
wanna share that Bench.php ? would be usefull to tweak it to test more DB's
You are going to some very strange parties.
What terminal is that?
love you Aaron 💘😍
🚀🚀🚀
What is the `ar` command you're using to run the `bench` script?
It's just an alias/shortcut he setup to run the Laravel php artisan command.
@@ylynfatt The fact that `ar` would ever be anything other than the Unix archive utility is... troubling.
does anyone know wehere I can find the bench marking script?
i need the code to try it myself
Do you need to run the pragma to set WAL mode every time a process connects to SQLite? Or is it a durable config?
It's a one time thing, you only need to do it when you initially create the db
Awesome thanks!
@@ricky2629 Is it possible to change to WAL mode (or other mode) at a later stage without any annoying side effect ?
Why we stop seeing you fron planetscale videos ?
I got laid off
@aarondfrancis sorry to hear that, your videos of MySQL were the best , I think they made a mistake
@@aarondfrancis😢
@@aarondfrancis Wow, that's so sad, your videos were absolutely brilliant 😭
WAL mode should be a paid feature, im suprised its included in the lite plan
Wal mode is reason why sqlite took resurgence and sqlite is public domain code.
The team behind get paid other ways providing exclusive services and support
@@patelmalavdev I think it's a joke about the lite in sqlite
@@SAsquirtle ah
Though I always thought SQLite was a open source project but
It's just a company making it and giving away for free
When not to use WAL mode?
Server is subject to random poweroff creating corruption.
WAL mode is safe through power loss! I can't think of a single reason to not use WAL anymore
@@aarondfrancis Nice. I thought there was still a chance of the WAL file getting corrupted during write, but it probably just does a discard on the bad write when reconnecting the DB.
You will have to consider purchasing power parity when pricing the courses in different countries
I do. It's in the FAQ
*nods head first 20 seconds*
DOOD
yes?
@@aarondfrancis i was just shocked xD
php? Seriously?
Yeah, what about it
comes with a lambo