Это видео недоступно.
Сожалеем об этом.

Offline-first, multiplayer SQLite

Поделиться
HTML-код
  • Опубликовано: 18 авг 2024
  • Want to learn more SQLite? Check out the full course: highperformanc....
    Get production ready SQLite with Turso: tur.so/af.
    In this interview I talk to Carl Sverre about his new project: SQLSync. It's an offline-first, collaborative wrapper around SQLite. We cover event sourcing, conflict resolution, VFSes, and more!
    Carl: / carlsverre
    PartyKit: www.partykit.io
    SQLSync: sqlsync.dev
    Carl's new company: orbitinghail.dev
    -------
    00:00 Intro and Background
    01:56 What is SQLSync
    02:30 Amplify
    05:08 SQLSync Use Case
    07:35 Multiplayer Explained
    09:41 Durable Objects
    12:00 Compare to PartyKit
    13:08 Local First
    22:46 SQLSync Terminology
    24:28 SQLSync Replication Flow
    27:33 Virtual File System
    33:51 Transactions in WASM
    39:41 Sync to Coordinator
    43:22 Conflict Resolution as Business Logic
    52:03 Sync to Clients
    1:01:12 Goals for SQLSync
    1:04:14 Scaling Limitations
    1:07:30 Graft Storage Engine
    1:14:47 Graft as a SQLite Extension
    1:17:08 What's Next
    -----

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

  • @bluesbr09
    @bluesbr09 2 месяца назад +8

    I can’t remember the last time I was having so much fun listening to someone, period. Carl is so intoxicatingly passionate, I love it! And you are so good at extracting that passion for us all to see. That combined with your enthusiasm has resulted in my favorite tech talk to date. Thank you very much for this Carl and Aaron!

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

      Right! He's excited about what he's doing and that's exciting to listen to

  • @emanuelturis4132
    @emanuelturis4132 2 месяца назад +13

    Wow! One of the best tech interviews/podcast episodes that I've seen, ever. And I'm only at minute 30. This is crazy good! Thanks Aaron!

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

      I'm so glad you're enjoying it! I really love having these chats

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

    00:00 Intro and Background
    01:56 What is SQLSync
    02:30 Amplify
    05:08 SQLSync Use Case
    07:35 Multiplayer Explained
    09:41 Durable Objects
    12:00 Compare to PartyKit
    13:08 Local First
    22:46 SQLSync Terminology
    24:28 SQLSync Replication Flow
    27:33 Virtual File System
    33:51 Transactions in WASM
    39:41 Sync to Coordinator
    43:22 Conflict Resolution as Business Logic
    52:03 Sync to Clients
    1:01:12 Goals for SQLSync
    1:04:14 Scaling Limitations
    1:07:30 Graft Storage Engine
    1:14:47 Graft as a SQLite Extension
    1:17:08 What's Next

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

    Man, this is cool! Always awesome to see what people are building.
    I'm busy with a multi-tenant project right now and considering how trivial it is to create a new SQLite db in code, it's looking like a really good option.

  • @jit-r5b
    @jit-r5b 2 месяца назад

    Finally an intro that is actually not annoying!!

  • @charliesta.abc123
    @charliesta.abc123 2 месяца назад +2

    I'm glad I'm here before 100K subs.
    Aaron will be the biggest Laravel/PHP influencer and he is gonna make it all relevant. Most of us were tuned to hate on PHP without ever using it. He is fixing that

  • @kasmanialisaad
    @kasmanialisaad 2 месяца назад

    Absolutely loving all the SQLite content. 👏

  • @gnatinator
    @gnatinator 2 месяца назад

    Sadly still single writer- no horizontal write scaling- the holy grail for SQLite.
    Happy to see more SQLite coverage!

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

    Wow, fantastic interview. both these guys are very smart. a pleasure to hear them discuss this complex topic. (although i'm not sure i got it all... ;)) thanks for sharing!

  • @JohnoScott
    @JohnoScott 2 месяца назад

    yep, fantastic interview

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

    1) As in all P2P/Sync Databases, how do you do Authentication and Authorization?
    Imagine you are writing a banking app.
    2) how do you prevent people from seeing other peoples balance/info (that is not explicitly shared)?
    3) how do you prevent duplication of transactions/money?
    4) how do you prevent transactions without consent (impersonation)?

  • @maik8143
    @maik8143 2 месяца назад

    Great interview!

  • @KentCDodds-vids
    @KentCDodds-vids 2 месяца назад +2

    This is very cool

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

      Thanks Kent! There is sooo much going on in the SQLite world. What a blast

  • @David-iq1kd
    @David-iq1kd 20 дней назад

    When would you choose SQLSync over ElectricSQL?

  • @100timezcooler
    @100timezcooler 23 дня назад

    Im working on turning my application into a local/mobile first PWA and always wondered how hard it would have been to roll my own solution to syncing offline and online state. Might see if sqlsync could help with that. sounds like just what i need tbh

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

    This sounds identical to Replicache as far as the ideas and APIs go (but implemented differently)

  • @BarakaAndrew
    @BarakaAndrew 2 месяца назад

    WebAssembly code within the db, that would be kinda sick if it can also work with transactions.

  • @BradleyBernard
    @BradleyBernard 2 месяца назад

    Me trying to listen to this on the plane: 😵 any thoughts on making podcast versions of these? Would be nice to have :)

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

      Yes, I shall consider it! I think it's a great idea.

  • @panggilmeiam
    @panggilmeiam 2 месяца назад

    I am also create Native libSQL Native Extension for PHP, Turso Driver Laravel, and Turso Doctrine DBAL!

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

      Heck yeah you are! You're doing great work

  • @pxkqd
    @pxkqd 2 месяца назад

    Can this be used peer to peer from browser to browser? Or does it need a server coordinator for two clients to sync?

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

      As far as I understood it needs one central source of truth

  • @stevendavis7628
    @stevendavis7628 2 месяца назад

    Aaron... I'm an old, dusty programmer and I'm looking to ship fast.
    Laravel and PHP look like the answer.
    (A programmers job is to write as little code as possible to solve a problem..right?)
    ...
    Besides your channel ;),
    ...any good recommendations for books and such to get up to speed fast?
    ..and read the manuals of course.
    Steve

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

      I would *definitely* recommend laracasts.com. By far the best way to get up to speed!

    • @stevendavis7628
      @stevendavis7628 2 месяца назад

      @@aarondfrancis - thank you.
      I enjoyed the geeking out...definitely slick tech.
      I'm not sure I love it for actual game multi-player as you've got potential problems at the Business layer (above logical and physical) both with synch issues and hacking and cheating (my old areas).

  • @fredguth1315
    @fredguth1315 2 месяца назад

    Could this work with duckdb?

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

      I'm not sure! I sent your question to Carl and he said he'd pop over. You might ask in their discord too!

  • @jonathancrowder3424
    @jonathancrowder3424 2 месяца назад

    SQL + sync =? SynQL

  • @badpotato
    @badpotato 2 месяца назад

    I would also like to know, what kind of drug Carl Sverre is on...

  • @michaelscofield2652
    @michaelscofield2652 2 месяца назад

    One more SQLite shilling video and I’m gone man

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

      That's ok! Teaching is not shilling. Learning is not shilling. I'm going to talk about things I find interesting and enjoy and I invite you to tune in or out as you see fit. No pressure to stick around!

    • @michaelscofield2652
      @michaelscofield2652 2 месяца назад

      When you actively promote some mid company like Turso it becomes shilling for me.