The TMPDIR podcast

Databases


Listen Later

Available on your favorite podcast platform.

In this episode, we are joined by Blake Miner

to discuss databases.

Show notes:

  • Introduction
    • Blake’s background, what type of work he does, company information, etc.
    • Data has substantial value
    • What is a database?
      • General overview - store data, process it, and look it up later
      • Important that data stays intact in the event of a app/system crash, power
      • loss, etc.
      • Important that conflicting concurrent changes are handled appropriately
      • What safety guarantees do I get? -> Transactions / ACID - Atomicity,
      • Consistency, Isolation, Durability
        • atomicity -> abortability guarantee for a group of writes (i.e. upon
        • failure)
        • consistency -> guarantee that certain (app-specific; sometimes
        • database-specific) constraints are not violated
        • isolation -> describes how database handles concurrent edits of the same
        • data. Serializable is the strongest guarantee. Snapshot isolation is very
          common.
        • durability -> storage guarantee (i.e. upon commit, data has fsync‘ed to
        • disk). Study: SSDs get 1 bad block in first 4 years; disaster could wipe
          out an entire data center; nothing is perfect.
        • Storage / lookup: Data models / data structures
        • Derived data; caching
        • Concurrency; consistency & isolation
        • Reactivity/Realtime
          • tradeoffs between reacting to DB changes vs using a message bus
          • streaming platforms such as NATS Jetstream and Kafka
          • SQL
            • Tables and rows -> array of structs
            • SQL -> Declarative query language (query engine determines implementation
            • details at runtime)
            • B-tree Indexes
            • NoSQL Databases
              • “NoSQL” -> a marketing term
              • Redis
                • Data structure store
                • In-memory vs. disk-based
                • Embedded databases (i.e. API vs. commands over TCP)
                • Designing Data-Intensive Applications by Martin
                • Kleppmann. Blake recommends this book.

                  Discuss this episode at our

                  community site.

                  ...more
                  View all episodesView all episodes
                  Download on the App Store

                  The TMPDIR podcastBy TMPDIR

                  • 5
                  • 5
                  • 5
                  • 5
                  • 5

                  5

                  3 ratings


                  More shows like The TMPDIR podcast

                  View all
                  Fresh Air by NPR

                  Fresh Air

                  38,189 Listeners

                  The Changelog: Software Development, Open Source by Changelog Media

                  The Changelog: Software Development, Open Source

                  284 Listeners

                  Freakonomics Radio by Freakonomics Radio + Stitcher

                  Freakonomics Radio

                  32,260 Listeners

                  LINUX Unplugged by Jupiter Broadcasting

                  LINUX Unplugged

                  265 Listeners

                  CppCast by Timur Doumler & Phil Nash

                  CppCast

                  108 Listeners

                  This Week in Linux by TuxDigital Network

                  This Week in Linux

                  36 Listeners

                  All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

                  All-In with Chamath, Jason, Sacks & Friedberg

                  9,170 Listeners