Slide 1

Slide 1 text

André Arko / Friendly.rb / September 10, 2025 Rails on SQLite exciting new ways to cause outages

Slide 2

Slide 2 text

Litestack litedb litecache litejob litecable litesearch litemetric Rails 8 sqlite3 solidcache solidqueue solidcable - -

Slide 3

Slide 3 text

Litestack litedb litecache litejob litecable litesearch litemetric Rails 8 sqlite3 solidcache solidqueue solidcable - -

Slide 4

Slide 4 text

who?

Slide 5

Slide 5 text

who? @indirect [email protected]

Slide 6

Slide 6 text

bundler.io @indirect [email protected]

Slide 7

Slide 7 text

bundler.io spinel.coop @indirect [email protected]

Slide 8

Slide 8 text

bundler.io spinel.coop feedyour.email @indirect [email protected]

Slide 9

Slide 9 text

feedyour.email

Slide 10

Slide 10 text

feedyour.email

Slide 11

Slide 11 text

feedyour.email

Slide 12

Slide 12 text

it’s “lite” by not having a process

Slide 13

Slide 13 text

instead it’s just a fi le

Slide 14

Slide 14 text

persist that fi le

Slide 15

Slide 15 text

one fi le is easy

Slide 16

Slide 16 text

too easy?

Slide 17

Slide 17 text

multi-process or multi-thread

Slide 18

Slide 18 text

now you scale vertically

Slide 19

Slide 19 text

high scale now means 🔒 lots of locks 🔒

Slide 20

Slide 20 text

WALs consolidate writers, allow many readers

Slide 21

Slide 21 text

but WALs mean extra fi les to track and back up

Slide 22

Slide 22 text

and/or: give each library its own database

Slide 23

Slide 23 text

db/production.sqlite3 db/production-cache.sqlite3 db/production-queue.sqlite3

Slide 24

Slide 24 text

db/production/user-1.sqlite3 db/production/user-2.sqlite3 db/production/user-3.sqlite3

Slide 25

Slide 25 text

there’s still just one server

Slide 26

Slide 26 text

deploys might create downtime

Slide 27

Slide 27 text

debugging is more localized

Slide 28

Slide 28 text

networking is simpler

Slide 29

Slide 29 text

migrate in or out with sequel

Slide 30

Slide 30 text

you’re also stuck in one spot now

Slide 31

Slide 31 text

CDNs are still helpful, though

Slide 32

Slide 32 text

backup & replication

Slide 33

Slide 33 text

litestream

Slide 34

Slide 34 text

litestream

Slide 35

Slide 35 text

liteFS

Slide 36

Slide 36 text

liteFS CAP + FUSE, oh boy

Slide 37

Slide 37 text

thanks, sqlite. theqlite.