Building Production Applications Using Go & SQLite

Building Production Applications Using Go & SQLite

Gopher Academy via YouTube Direct link

Intro

1 of 21

1 of 21

Intro

Class Central Classrooms beta

YouTube playlists curated by Class Central.

Classroom Contents

Building Production Applications Using Go & SQLite

Automatically move to the next video in the Classroom when playback concludes

  1. 1 Intro
  2. 2 About me Ben Johnson
  3. 3 Client/server & cloud databases
  4. 4 What applications are good for SQLite? • Originally used by embedded software • Improvements in concurrency have made it more general purpose . Great for read-heavy workloads • Small to moderate requ…
  5. 5 Connecting to SQLite import
  6. 6 Configuring SQLite: Journal Mode • Journal mode configures how SQLite writes transactions . You almost always want it as "WAL" (write ahead log)
  7. 7 Configuring SQLite: Busy timeout • Busy timeout sets how long write transactions will wait to start . If unset, writes will fail immediately if another write is running . I find that 5 seconds is a g…
  8. 8 Configuring SQLite: Foreign keys • For historical reasons, foreign keys are not enforced by default. . Please use foreign keys.
  9. 9 SQLite Type System
  10. 10 Benchmarking SQLite tests
  11. 11 Parallelizing in-memory SQLite
  12. 12 The data durability spectrum How safe is your data?
  13. 13 Improving data durability Trade-off of cost, complexity, & performance
  14. 14 No data loss is good ...but not all data loss is catastrophic . GitLab lost 6 hours of data in 2017 .Postgres primary replica configuration • Data deleted by operator error
  15. 15 Option #1: Regular backups Data durability in SQLite
  16. 16 Litestream
  17. 17 Clustered SQLite
  18. 18 Performance between SQL databases How to choose?
  19. 19 Benchmarking network latency point query performance 1000
  20. 20 Horizontally scaling SQLite Thinking the unthinkable
  21. 21 Conclusion Improved production experience

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.