SQLite's WAL mode is fast fast

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2024

Комментарии •

  • @ahmad-murery
    @ahmad-murery 4 месяца назад +19

    I feel the need to open up a SQLite DB and play with it 😎
    Thanks Aaron!

  • @haradalucas
    @haradalucas 4 месяца назад +15

    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 :)

    • @Netz0
      @Netz0 5 дней назад +1

      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.

  • @typecraft_dev
    @typecraft_dev 4 месяца назад +40

    came for the thumbnail. stayed for the content

  • @kasmanialisaad
    @kasmanialisaad 4 месяца назад +7

    The course is amazing. Highly recommend it. Can’t wait for the last modules!

  • @vikingthedude
    @vikingthedude 4 месяца назад +32

    I love kicking it back with the boys and talking about men’s favourite topics: sports, boobs and sqlite

    • @SpaceChicken
      @SpaceChicken 7 дней назад

      Drinking our cold waters. 🤙

  • @seanwoods647
    @seanwoods647 День назад

    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!

  • @SimoneFolador
    @SimoneFolador 4 месяца назад

    Thanks Aaron! I didn't know the details of WAL mode. I will definitely check it out on my projects. Great video, as always!

  • @davidharting3119
    @davidharting3119 4 месяца назад

    Watching this while enjoying a nice cold water

  • @mortjac
    @mortjac 4 месяца назад

    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 🎉🎉🎉

  • @higiniofuentes2551
    @higiniofuentes2551 2 месяца назад +1

    Thank you for this very useful video!

  • @TomNook.
    @TomNook. 4 месяца назад +3

    BLAZINGLY

  • @CapitaineToinon
    @CapitaineToinon 4 месяца назад +5

    Relatable opening

  • @Majiy00
    @Majiy00 4 месяца назад

    Great video, you really deserve more views and subscriber 😊😊

  • @nullzeon
    @nullzeon 4 месяца назад

    I literally level up as a dev everytime I watch! love it here! TryHard Studios! ❤❤❤

  • @theSlavenIvanov
    @theSlavenIvanov 4 месяца назад

    Superb video quality as always!

  • @jesper.ordrup
    @jesper.ordrup 4 месяца назад +1

    Extremly clear explanarion of Wal. Thanks 🎉
    Have u tried pocketbase?

  • @OldKing11100
    @OldKing11100 4 месяца назад

    Excellent baseline test. If you don't mind me asking: What is your take on the future of WAL2 + CONCURRENT for SQLite?

  • @sudhanshubhagwat9538
    @sudhanshubhagwat9538 4 месяца назад +1

    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

  • @master74200
    @master74200 3 месяца назад +4

    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.

  • @Michielofzo
    @Michielofzo 4 месяца назад +2

    Intro cracked me up

  • @Bess_Gates
    @Bess_Gates Месяц назад

    thank you man

  • @mme725
    @mme725 4 месяца назад

    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)

  • @tiagorodrigues_br
    @tiagorodrigues_br 4 месяца назад

    What an excellent video!!

  • @AhmedSalah-xm9xu
    @AhmedSalah-xm9xu 4 месяца назад

    Hey Aaron, are you going to continue streaming the development of your life OS?
    I really enjoyed the content. Keep up the great work👍👍👍

  • @vlad981
    @vlad981 4 месяца назад

    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

  • @julianjackson8756
    @julianjackson8756 4 месяца назад

    Thanks for that

  • @jannismilz
    @jannismilz 4 месяца назад +1

    Would it be possible to get your benchmarking code as well?
    Anyways, thanks for this awesome content!

    • @aarondfrancis
      @aarondfrancis  4 месяца назад +2

      @@jannismilz yes I'll make a video!

  • @Kane0123
    @Kane0123 4 месяца назад +1

    Classic cold water conversation - SQLite config options.

  • @davidguilherme5574
    @davidguilherme5574 4 месяца назад +2

    Is there a benchmark between a tuned sqlite vs postgres or mysql in the same machine?

  • @adampatterson
    @adampatterson 4 месяца назад

    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?

  • @N3m3s7s83
    @N3m3s7s83 4 месяца назад +1

    Amazingly explained. But the question is ... Why wal mode is not the default mode? 😮

    • @daknyx1448
      @daknyx1448 4 месяца назад +2

      for backwards compatibility (the maintainers see it as highest priority)

  • @rudiedirkx
    @rudiedirkx 4 месяца назад +1

    Can you benchmark journal_mode = off too? Is that even way very much faster?

  • @AbhinavKulshreshtha
    @AbhinavKulshreshtha 4 месяца назад +1

    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.

  • @uis246
    @uis246 9 дней назад

    It would be useful if you have tested both on SSD and HDD. My guess rollback will be faster on HDD.

  • @boot-strapper
    @boot-strapper 2 месяца назад

    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

    • @aarondfrancis
      @aarondfrancis  2 месяца назад +1

      Yeah this is not an absolute benchmark, just a comparative one. PHP isn't as fast as other languages.

    • @berkancetinkaya5329
      @berkancetinkaya5329 Месяц назад

      Write a million records in about 200ms? Could you please share your benchmark code along with SQLite configuration?

    • @boot-strapper
      @boot-strapper Месяц назад

      @@berkancetinkaya5329 it’s not a benchmark. It’s a mock data generator app.

    • @boot-strapper
      @boot-strapper Месяц назад

      @@berkancetinkaya5329 as for the config, it’s the default settings for bun and drizzle sqlite

  • @piotr-nowak
    @piotr-nowak 24 дня назад

    Nice

  • @fredericoneto1984
    @fredericoneto1984 4 месяца назад +1

    wanna share that Bench.php ? would be usefull to tweak it to test more DB's

  • @davidsiewert8649
    @davidsiewert8649 4 месяца назад +2

    You are going to some very strange parties.

  • @zacharyquinn3676
    @zacharyquinn3676 4 месяца назад +1

    What terminal is that?

  • @kirayamato6128
    @kirayamato6128 4 месяца назад

    love you Aaron 💘😍

  • @gavinh7845
    @gavinh7845 4 месяца назад +1

    🚀🚀🚀

  • @nicobaier5424
    @nicobaier5424 3 месяца назад

    What is the `ar` command you're using to run the `bench` script?

    • @ylynfatt
      @ylynfatt 2 месяца назад +1

      It's just an alias/shortcut he setup to run the Laravel php artisan command.

    • @racingmars
      @racingmars Месяц назад

      @@ylynfatt The fact that `ar` would ever be anything other than the Unix archive utility is... troubling.

  • @australianman8566
    @australianman8566 4 месяца назад

    does anyone know wehere I can find the bench marking script?

  • @rahmanramsi
    @rahmanramsi 4 месяца назад

    i need the code to try it myself

  • @davidharting3119
    @davidharting3119 4 месяца назад

    Do you need to run the pragma to set WAL mode every time a process connects to SQLite? Or is it a durable config?

    • @ricky2629
      @ricky2629 4 месяца назад +1

      It's a one time thing, you only need to do it when you initially create the db

    • @davidharting3119
      @davidharting3119 4 месяца назад

      Awesome thanks!

    • @brunoseys6705
      @brunoseys6705 Месяц назад

      @@ricky2629 Is it possible to change to WAL mode (or other mode) at a later stage without any annoying side effect ?

  • @luismex5575
    @luismex5575 4 месяца назад

    Why we stop seeing you fron planetscale videos ?

    • @aarondfrancis
      @aarondfrancis  4 месяца назад

      I got laid off

    • @luismex5575
      @luismex5575 4 месяца назад +1

      ​@aarondfrancis sorry to hear that, your videos of MySQL were the best , I think they made a mistake

    • @luismex5575
      @luismex5575 4 месяца назад

      ​@@aarondfrancis😢

    • @pjc825
      @pjc825 3 месяца назад

      @@aarondfrancis Wow, that's so sad, your videos were absolutely brilliant 😭

  • @Pbertrand_dev
    @Pbertrand_dev 4 месяца назад +9

    WAL mode should be a paid feature, im suprised its included in the lite plan

    • @patelmalavdev
      @patelmalavdev 4 месяца назад

      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

    • @SAsquirtle
      @SAsquirtle 4 месяца назад +1

      @@patelmalavdev I think it's a joke about the lite in sqlite

    • @patelmalavdev
      @patelmalavdev 4 месяца назад

      @@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

  • @kevinbatdorf
    @kevinbatdorf 4 месяца назад

    When not to use WAL mode?

    • @OldKing11100
      @OldKing11100 4 месяца назад

      Server is subject to random poweroff creating corruption.

    • @aarondfrancis
      @aarondfrancis  4 месяца назад +1

      WAL mode is safe through power loss! I can't think of a single reason to not use WAL anymore

    • @OldKing11100
      @OldKing11100 4 месяца назад

      @@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.

  • @abhilashkr1175
    @abhilashkr1175 3 месяца назад

    You will have to consider purchasing power parity when pricing the courses in different countries

  • @the-avid-engineer
    @the-avid-engineer 4 месяца назад +1

    *nods head first 20 seconds*

  • @tanko.reactions176
    @tanko.reactions176 2 месяца назад

    DOOD

  • @PainHardcore
    @PainHardcore 4 месяца назад

    php? Seriously?