Database School

Database School

Follow Database School
Share on
Copy link to clipboard

Join database educator Aaron Francis as he gets schooled by database professionals.

Try Hard Studios


    • May 29, 2025 LATEST EPISODE
    • monthly NEW EPISODES
    • 1h 19m AVG DURATION
    • 15 EPISODES


    Search for episodes from Database School with a specific topic:

    Latest episodes from Database School

    From Prisma Founder to LiveStore: Building local-first apps with Johannes Schickling

    Play Episode Listen Later May 29, 2025 91:40


    Johannes Schickling, original founder of Prisma, joins me to talk about LiveStore, his ambitious local-first data layer designed to rethink how we build apps from the data layer up.We dive deep into event sourcing, syncing with SQLite, and why this approach might power the next generation of reactive apps.

    How Durable Objects and D1 Work: A Deep Dive with Cloudflare's Josh Howard

    Play Episode Listen Later May 14, 2025 74:40


    Josh Howard, Senior Engineering Manager at Cloudflare, joins me to explain how Durable Objects and D1 work under the hood—and why Cloudflare's approach to stateful serverless infrastructure is so unique. We get into V8 isolates, replication models, routing strategies, and even upcoming support for containers. Want to learn more about SQLite? Check out my SQLite course: https://highperformancesqlite.com/?ref=podcast Follow Josh: Twitter: https://twitter.com/ajoshhoward LinkedIn: https://www.linkedin.com/in/joshthoward Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more.Database school on YouTube: https://www.youtube.com/playlist?list=PLI72dgeNJtzqElnNB6sQoAn2R-F3Vqm15Database school audio only: https://databaseschool.transistor.fm Chapters 00:00 - Intro 00:37 - What is a Durable Object? 01:43 - Cloudflare's serverless model and V8 isolates 03:58 - Why stateful serverless matters 05:14 - Durable Objects vs Workers 06:22 - How routing to Durable Objects works 08:01 - What makes them "durable"? 08:51 - Tradeoffs of colocating compute and state 10:58 - Stateless Durable Objects 12:49 - Waking up from sleep and restoring state 16:15 - Durable Object storage: KV and SQLite APIs 18:49 - Relationship between D1, Workers KV, and DOs 20:34 - Performance of local storage writes 21:50 - Storage replication and output gating 24:15 - Lifecycle of a request through a Durable Object 26:46 - Replication strategy and long-term durability 31:25 - Placement logic and sharding strategy 36:35 - Use cases: agents, multiplayer games, chat apps 40:33 - Scaling Durable Objects 41:14 - Globally unique ID generation 43:22 - Named Durable Objects and coordination 46:07 - D1 vs Workers KV vs Durable Objects 47:50 - Outerbase acquisition and DX improvements 49:49 - Querying durable object storage 51:20 - Developer Week highlights and new features 52:44 - Read replicas and sticky sessions 53:49 - Containers and the future of routing 56:47 - Deployment regions and infrastructure expansion 57:43 - Hiring and how to connect with Josh

    20 years of hacking Postgres with Heikki Linnakangas (cofounder of Neon)

    Play Episode Listen Later May 6, 2025 120:11


    In this episode of Database School, I talk with Heikki Linnakangas, co-founder of Neon and longtime PostgreSQL hacker, to talk about 20+ years in the Postgres community, the architecture behind Neon, and the future of multi-threaded Postgres. From paternity leave patches to branching production databases, we cover a lot of ground in this deep-dive conversation. Links: Let's make postgres multi-threaded: https://www.postgresql.org/message-id/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi Hacker News discussion: https://news.ycombinator.com/item?id=36284487 Follow Heikki: LinkedIn: https://www.linkedin.com/in/heikki-linnakangas-6b58bb203/ Website: https://neon.tech Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more.Database school on YouTube: https://www.youtube.com/playlist?list=PLI72dgeNJtzqElnNB6sQoAn2R-F3Vqm15Database school audio only: https://databaseschool.transistor.fm 00:00 - Introduction and Heikki's background 01:19 - How Heikki got into Postgres 03:17 - First major patch: two-phase commit 04:00 - Governance and decision-making in Postgres 07:00 - Committer consensus and decentralization 09:25 - Attracting new contributors 11:25 - Founding Neon with Nikita Shamgunov 13:01 - Why separation of compute and storage matters 15:00 - Write-ahead log and architectural insights 17:03 - Early days of building Neon 20:00 - Building the control plane and user-facing systems 21:28 - What "serverless Postgres" really means 23:39 - Reducing cold start time from 5s to 700ms 25:05 - Storage architecture and page servers 27:31 - Who uses sleepable databases 28:44 - Multi-tenancy and schema management 31:01 - Role in low-code/AI app generation 33:04 - Branching, time travel, and read replicas 36:56 - Real-time point-in-time query recovery 38:47 - Large customers and scaling in Neon 41:04 - Heikki's favorite Neon feature: time travel 41:49 - Making Postgres multi-threaded 45:29 - Why it matters for connection scaling 50:50 - The next five years for Postgres and Neon 52:57 - Final thoughts and where to find Heikki

    Building a serverless database replica with Carl Sverre

    Play Episode Listen Later Apr 18, 2025 88:59


    Want to learn more SQLite? Check out my SQLite course: https://highperformancesqlite.com In this episode, Carl Sverre and I discuss why syncing everything is a bad idea and how his new project, Graft, makes edge-native, partially replicated databases possible. We dig into SQLite, object storage, transactional guarantees, and why Graft might be the foundation for serverless database replicas. SQLSync: https://sqlsync.dev Stop syncing everything blog post: https://sqlsync.dev/posts/stop-syncing-everything Graft: https://github.com/orbitinghail/graft Follow Carl: Twitter: https://twitter.com/carlsverre LinkedIn: https://www.linkedin.com/in/carlsverre Website: https://carlsverre.com/ Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more. Chapters: 00:00 - Intro and Carl's controversial blog title 01:00 - Why “stop syncing everything” doesn't mean stop syncing 02:30 - The problem with full database syncs 03:20 - Quick recap of SQL Sync and multiplayer SQLite 04:45 - How SQL Sync works using physical replication 06:00 - The limitations that led to building Graft 09:00 - What is Graft? A high-level overview 16:30 - Syncing architecture: how Graft scales 18:00 - Graft's stateless design and Fly.io integration 20:00 - S3 compatibility and using Tigris as backend 22:00 - Latency tuning and express zone support 24:00 - Can Graft run locally or with Minio? 27:00 - Page store vs meta store in Graft 36:00 - Index-aware prefetching in SQLite 38:00 - Prefetching intelligence: Graft vs driver 40:00 - The benefits of Graft's architectural simplicity 48:00 - Three use cases: apps, web apps, and replicas 50:00 - Sync timing and perceived latency 59:00 - Replaying transactions vs logical conflict resolution 1:03:00 - What's next for Graft and how to get involved 1:05:00 - Hacker News reception and blog post feedback 1:06:30 - Closing thoughts and where to find Carl

    Postgres on bare metal with the CEO of Prisma

    Play Episode Listen Later Feb 17, 2025 84:03


    Prisma started as a GraphQL backend and pivoted into one of the most widely used ORMs in the world. Now, they've launched Prisma Postgres, and CEO Søren Bramer Schmidt is here to break down the journey, the challenges, and the massive technical innovations behind it—including bare-metal servers, Firecracker microVMs, and unikernels. If you care about databases, performance, or scaling, this one's for you.Want to learn more Postgres? Check out my Postgres course: https://masteringpostgres.com.Follow Søren:Twitter: https://twitter.com/sorenbsGitHub: https://github.com/prisma/prismaPrisma Postgres: https://www.prisma.io/postgresFollow Aaron:Twitter:  https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancisWebsite: https://aaronfrancis.com - find articles, podcasts, courses, and more.Chapters:00:00 - Introduction01:15 - The Origins of Prisma: From GraphQL to ORM02:55 - Why Firebase & Parse Inspired Prisma04:04 - The Pivot: From GraphQL to Prisma ORM06:00 - Why They Abandoned Backend-as-a-Service08:07 - The Open Source Business Model Debate10:15 - The Challenges of Monetizing an ORM12:42 - Building Prisma Accelerate & Pulse14:55 - How Prisma Accelerate Optimizes Database Access17:00 - Real-Time Database Updates with Prisma Pulse20:03 - How Prisma Pulse Handles Change Data Capture (CDC)23:15 - Users Wanted a Hosted Database (Even When Prisma Didn't)25:40 - Why Prisma Finally Launched Prisma Postgres27:32 - Unikernels, Firecracker MicroVMs & Running Millions of Databases31:10 - Bare Metal Servers vs. AWS: The Controversial Choice34:40 - How Prisma Routes Queries for Low Latency38:02 - Scaling, Cost Efficiency & Performance Benefits42:10 - The Prisma Postgres Roadmap & Future Features45:30 - Why Prisma is Competing with AWS & The Big Cloud Players48:05 - Final Thoughts & Where to Learn More

    Moving from Redis to SQLite with Mike Buckbee

    Play Episode Listen Later Nov 26, 2024 69:14


    Want to learn more SQLite? Check out my SQLite course: https://highperformancesqlite.com In this episode, I sit down with Mike Buckbee to dive into the nitty-gritty of web application firewalls and his journey from using Redis to SQLite in Wafris. We talk about database architecture, operational challenges, and the fascinating ways SQLite improves performance and usability in cybersecurity tools. Get production ready SQLite with Turso: https://tur.so/af. Follow Mike: Twitter: https://twitter.com/mbuckbee LinkedIn: https://www.linkedin.com/in/michaelbuckbee Wafris website: https://wafris.org Rearchitecting Redis to SQLite article: https://wafris.org/blog/rearchitecting-for-sqlite Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more. Chapters: 00:00 - Introduction and Guest Overview 01:06 - What is Wafris? 02:43 - Naming and Origins of Wafris 04:00 - Mike's Cybersecurity Background 07:17 - Challenges with Web Application Firewalls 10:01 - Wafris Architecture Overview 16:15 - Why Switch to SQLite? 18:01 - Handling IP Address Ranges 24:00 - Wild Redis Data Structures Explained 28:51 - Transitioning to SQLite 32:02 - Operational Advantages of SQLite 37:04 - How Wafris Leverages Threat Lists 40:13 - Performance Gains with SQLite 46:51 - Splitting Reads and Writes in the New Architecture 52:29 - Closing Thoughts and Where to Learn More

    Bootstrapping an email service provider (with Jesse Hanley)

    Play Episode Listen Later Oct 14, 2024 81:59


    Want to learn more Postgres? Get on the waiting list for the full course: https://masteringpostgres.com. In this interview, I talk with Jesse Hanley, founder of Bento, about running a lean email service from Japan. We chat about the challenges of scaling infrastructure, managing databases, and maintaining a calm business while serving a global customer base. Links Mentioned: Bento: https://bentonow.com Database school on YouTube: https://www.youtube.com/playlist?list=PLI72dgeNJtzqElnNB6sQoAn2R-F3Vqm15 Database school audio only: https://databaseschool.transistor.fm Follow Jesse: Twitter: https://twitter.com/jessethanley Bento on Twitter: https://twitter.com/Bento Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more. Chapters: 00:00 - Introduction to Jesse Hanley 01:02 - Running Bento from Japan 01:48 - The Lean Team Structure at Bento 03:00 - Managing Support via Discord 05:01 - Benefits of Using Discord for Customer Support 06:45 - The Role of Community in Customer Feedback 09:01 - How Bento Gained Traction 13:00 - Bootstrapping Bento and Profitable Growth 16:00 - Running Your Own Mail Servers 19:03 - The Economics and Redundancy of Email Delivery 21:00 - Bento's Heroku Setup and Scaling Challenges 26:00 - Handling and Querying Massive Data in Bento 29:52 - Leveraging Elasticsearch for Data Queries 35:40 - Moving Toward Multi-Database Solutions 37:45 - Exploring Crunchy Data and Citus for Database Scaling 42:00 - Optimizing Bento for Performance and Scalability 54:02 - Jesse's Advice on Building a Calm and Profitable Business 57:00 - How Bento Uses WebSockets and Background Jobs 1:00:00 - Optimizing Bento with Action Cable 1:02:25 - Avoiding N+1 Queries with WebSockets 1:04:50 - Scaling Redis and Postgres at Bento 1:09:00 - Jesse's Approach to Managing Growth and Multiple Services 1:11:00 - Final Thoughts on Scaling and Optimizing Databases 1:13:10 - Advice for Aspiring Builders: Stay Patient and True to Your Vision 1:16:00 - Bento's Unique Approach to Email Marketing and Transactional Emails 1:19:50 - Closing Thoughts and Where to Find Jesse Hanley Online

    Creating a Postgres platform with Monica & Tudor from Xata.io

    Play Episode Listen Later Oct 7, 2024 61:21


    Want to learn more Postgres? Get on the waiting list for the full course: https://masteringpostgres.com. Production ready Postgres for teams that ship fast: https://xata.io In this interview, I talk with Monica Sarbu and Tudor Golubenco from Xata about their journey from Elastic to founding Xata. We deep dive on building a Postgres hosting platform, handling schema changes, and how they've made their free tier economical. Links Mentioned: Xata.io: https://xata.io/ The economics of a Postgres free tier: https://xata.io/blog/postgres-free-tier Follow Monica & Tudor: Monica on Twitter: https://twitter.com/monicasarbu Monica on LinkedIn: https://www.linkedin.com/in/monicasarbu Tudor on Twitter: https://twitter.com/tudor_g Tudor on LinkedIn: https://www.linkedin.com/in/tudorgolubenco/ Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more. Chapters: 00:00 - Introduction 00:26 - What is Xata? Overview and Mission 01:32 - Open Source Projects: PG Roll and PG Stream 02:33 - Synchronizing Data: Postgres to Elastic Search 03:12 - Monica and Tudor's Background & Journey to Elastic 04:00 - Founding of Packetbeat: The Start of Open Source Monitoring 06:08 - Transition from Elastic to Starting Xata 07:00 - Launching a Nonprofit and Insights on Database Challenges 08:29 - The Idea Behind Xata: Simplifying Application Development 10:00 - Tudor Joins Xata: The Decision to Start Again 10:47 - The Technical Vision for Xata's Platform 12:06 - Founding Xata During the Pandemic 13:11 - Funding Journey: From Seed to Series A 15:07 - Building a Platform, Not Just a Hosted Database 17:20 - Introducing Postgres to Xata's Stack 20:19 - Navigating Postgres as a DBA 22:44 - Open Source Strategy & Community Building 27:48 - PG Stream Use Cases & Postgres Replication 32:08 - PG Roll for Zero Downtime Schema Changes 36:05 - Implementing Safe and Fast Schema Changes 39:49 - Blob Storage and Cloudflare Integration 45:11 - Xata's Unique Features: Serving Builders and Larger Teams 49:20 - Free Tier Economics and Why It Matters 56:04 - Working as a Husband-Wife Team

    Heroku's glory days & Postgres vs the world, w/ Craig Kerstiens

    Play Episode Listen Later Sep 24, 2024 62:46


    Want to learn more Postgres? Get on the waiting list for the full course: https://masteringpostgres.com. In this interview, I dive deep with Craig Kerstiens from Crunchy Data into the world of Postgres, covering its rise to prominence, scaling at Heroku, and the power of Postgres extensions. Craig also shares insights on database sharding, the future of Postgres, and why developers love working with it. Follow Craig: Twitter: https://twitter.com/craigkerstiens Crunchy Data Blog: https://www.crunchydata.com/blog Follow Aaron: Twitter: https://twitter.com/aarondfrancis LinkedIn: https://www.linkedin.com/in/aarondfrancis Website: https://aaronfrancis.com - find articles, podcasts, courses, and more. Chapters: 00:00 - Introduction: Welcome to Database School 00:20 - Guest Introduction: Craig Kerstiens and Crunchy Data 01:40 - Craig's Journey from Heroku to Crunchy Data 02:55 - Scaling Postgres at Heroku 04:50 - Mastering Postgres Course Announcement 05:30 - The Importance of Postgres at Heroku 07:50 - The Value of Live SQL with Data Clips 09:25 - Data Clips for Business Intelligence and Real-Time Analytics 11:05 - Heroku's Unique Company Culture and How Data Clips Came to Be 12:30 - Postgres Extensions and Marketplace 14:00 - Citus: Scaling Postgres for Multi-Tenant Applications 15:40 - The Challenges of Sharding in Databases 18:00 - Managing Large Databases and Sharding Keys with Citus 24:00 - The Evolution of Postgres and Its Growing Popularity 31:00 - Postgres for Developers and the Importance of Extensions 35:00 - Extensions as Proving Grounds for Core Postgres Features 37:50 - Building an Extension Marketplace for Postgres 41:00 - Postgres as a Data Platform and Developer Flexibility 46:00 - Why Developers Love Postgres: Stability, Extensions, and Ownership 51:00 - DuckDB: A Fascinating New Database Approach 53:30 - Crunchy Data: What They Offer and Why It Matters 58:30 - Expanding Postgres with DuckDB for Data Warehousing 01:00:00 - Wrapping Up: Where to Find Craig and Crunchy Data

    Ruby on Rails + SQLite with Stephen Margheim

    Play Episode Listen Later Aug 8, 2024 103:09


    Want to learn more about SQLite? Check out the full course: https://highperformancesqlite.com/ Get production ready SQLite with Turso: https://turso.tech/tryhard. In this interview, I talk to Stephen Margheim about his work with SQLite and Ruby on Rails. Links: Database school on YouTube: https://www.youtube.com/playlist?list=PLI72dgeNJtzqElnNB6sQoAn2R-F3Vqm15 Database school audio only: https://databaseschool.transistor.fm/ Aaron on Twitter: https://twitter.com/aarondfrancis Stephen on Twitter: https://twitter.com/fractaledmind Stephen's blog: https://fractaledmind.github.io/ Stephen's book: https://fractaledmind.gumroad.com/l/sqlite-on-rails Aaron's conference talk: https://www.youtube.com/watch?v=2YaEtaXYVtI

    Migrating from Postgres to SQLite with Kent C. Dodds

    Play Episode Listen Later Jun 20, 2024 51:30


    Join the waitlist for my SQLite course launching in June: https://highperformancesqlite.com/ Get production ready SQLite with Turso: https://turso.tech/tryhard. In this interview, I talk to Kent C. Dodds about SQLite, LiteFS and the React ecosystem. Carl: https://twitter.com/kentcdodds EpicWeb: https://www.epicweb.dev/ The Epic Stack: https://www.epicweb.dev/epic-stack Fly.io: https://fly.io/ LiteFS: https://fly.io/docs/litefs/ Litestream: https://litestream.io/

    Production SQLite with Turso and libSQL

    Play Episode Listen Later Jun 14, 2024 100:47


    Join the waitlist for my SQLite course launching in June: https://highperformancesqlite.com/Get production ready SQLite with Turso: https://turso.tech/tryhard.In this interview I talk to Glauber Costa, CEO of Turso.

    Offline-first, multiplayer SQLite

    Play Episode Listen Later Jun 13, 2024 86:36


    Join the waitlist for my SQLite course launching in June: https://highperformancesqlite.com/ Get production ready SQLite with Turso: https://turso.tech/tryhard. 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: https://twitter.com/carlsverre PartyKit: https://www.partykit.io SQLSync: https://sqlsync.dev Carl's new company: https://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 -----

    Distributed SQLite with Litestream and LiteFS

    Play Episode Listen Later Jun 13, 2024 57:42


    Join the waitlist for my SQLite course launching in June: https://highperformancesqlite.com/ Get production ready SQLite with Turso: https://turso.tech/tryhard Ben and Aaron discuss replication and backups in SQLite, Litestream and LiteFS, and future mad scientist projects Ben is working on. • Ben Johnson on Twitter: https://x.com/benbjohnson • Litestream: https://litestream.io/ • LiteFS: https://fly.io/docs/litefs/

    DHH discusses SQLite (and Stoicism)

    Play Episode Listen Later Jun 13, 2024 53:40


    Join the waitlist for my SQLite course launching in June: https://highperformancesqlite.com/ DHH and Aaron discuss modern SQLite, the one-person framework, conceptual compression, stoicism, and ONCE.com's newest product: Workbook. Get production ready SQLite with Turso: https://turso.tech/tryhard

    Claim Database School

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel