Data Engineering Podcast

Database Refactoring Patterns with Pramod Sadalage - Episode 22


Listen Later

Summary

As software lifecycles move faster, the database needs to be able to keep up. Practices such as version controlled migration scripts and iterative schema evolution provide the necessary mechanisms to ensure that your data layer is as agile as your application. Pramod Sadalage saw the need for these capabilities during the early days of the introduction of modern development practices and co-authored a book to codify a large number of patterns to aid practitioners, and in this episode he reflects on the current state of affairs and how things have changed over the past 12 years.

Preamble
  • Hello and welcome to the Data Engineering Podcast, the show about modern data infrastructure
  • When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at dataengineeringpodcast.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your data pipelines or trying out the tools you hear about on the show.
  • Go to dataengineeringpodcast.com to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.
  • You can help support the show by checking out the Patreon page which is linked from the site.
  • To help other people find the show you can leave a review on iTunes, or Google Play Music, and tell your friends and co-workers
  • Your host is Tobias Macey and today I’m interviewing Pramod Sadalage about refactoring databases and integrating database design into an iterative development workflow
  • Interview
    • Introduction
    • How did you get involved in the area of data management?
    • You first co-authored Refactoring Databases in 2006. What was the state of software and database system development at the time and why did you find it necessary to write a book on this subject?
    • What are the characteristics of a database that make them more difficult to manage in an iterative context?
    • How does the practice of refactoring in the context of a database compare to that of software?
    • How has the prevalence of data abstractions such as ORMs or ODMs impacted the practice of schema design and evolution?
    • Is there a difference in strategy when refactoring the data layer of a system when using a non-relational storage system?
    • How has the DevOps movement and the increased focus on automation affected the state of the art in database versioning and evolution?
    • What have you found to be the most problematic aspects of databases when trying to evolve the functionality of a system?
    • Looking back over the past 12 years, what has changed in the areas of database design and evolution?
      • How has the landscape of tooling for managing and applying database versioning changed since you first wrote Refactoring Databases?
      • What do you see as the biggest challenges facing us over the next few years?

      • Contact Info
        • Website
        • pramodsadalage on GitHub
        • @pramodsadalage on Twitter
        • Parting Question
          • From your perspective, what is the biggest gap in the tooling or technology for data management today?
          • Links
            • Database Refactoring
              • Website
              • Book

              • Thoughtworks

              • Martin Fowler

              • Agile Software Development

              • XP (Extreme Programming)

              • Continuous Integration

                • The Book
                • Wikipedia

                • Test First Development

                • DDL (Data Definition Language)

                • DML (Data Modification Language)

                • DevOps

                • Flyway

                • Liquibase

                • DBMaintain

                • Hibernate

                • SQLAlchemy

                • ORM (Object Relational Mapper)

                • ODM (Object Document Mapper)

                • NoSQL

                • Document Database

                • MongoDB

                • OrientDB

                • CouchBase

                • CassandraDB

                • Neo4j

                • ArangoDB

                • Unit Testing

                • Integration Testing

                • OLAP (On-Line Analytical Processing)

                • OLTP (On-Line Transaction Processing)

                • Data Warehouse

                • Docker

                • QA==Quality Assurance

                • HIPAA (Health Insurance Portability and Accountability Act)

                • PCI DSS (Payment Card Industry Data Security Standard)

                • Polyglot Persistence

                • Toplink Java ORM

                • Ruby on Rails

                • ActiveRecord Gem

                • The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA

                  Support Data Engineering Podcast

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

                  Data Engineering PodcastBy Tobias Macey

                  • 4.5
                  • 4.5
                  • 4.5
                  • 4.5
                  • 4.5

                  4.5

                  142 ratings


                  More shows like Data Engineering Podcast

                  View all
                  This Week in Startups by Jason Calacanis

                  This Week in Startups

                  1,299 Listeners

                  The Changelog: Software Development, Open Source by Changelog Media

                  The Changelog: Software Development, Open Source

                  288 Listeners

                  The a16z Show by Andreessen Horowitz

                  The a16z Show

                  1,106 Listeners

                  Software Engineering Daily by Software Engineering Daily

                  Software Engineering Daily

                  630 Listeners

                  Risky Business by Risky Business Media

                  Risky Business

                  372 Listeners

                  Talk Python To Me by Michael Kennedy

                  Talk Python To Me

                  583 Listeners

                  Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

                  Super Data Science: ML & AI Podcast with Jon Krohn

                  309 Listeners

                  NVIDIA AI Podcast by NVIDIA

                  NVIDIA AI Podcast

                  346 Listeners

                  Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                  Syntax - Tasty Web Development Treats

                  987 Listeners

                  Practical AI by Practical AI LLC

                  Practical AI

                  210 Listeners

                  Dwarkesh Podcast by Dwarkesh Patel

                  Dwarkesh Podcast

                  550 Listeners

                  The Data Engineering Show by The Firebolt Data Bros

                  The Data Engineering Show

                  10 Listeners

                  Latent Space: The AI Engineer Podcast by Latent.Space

                  Latent Space: The AI Engineer Podcast

                  104 Listeners

                  This Day in AI Podcast by Michael Sharkey, Chris Sharkey

                  This Day in AI Podcast

                  227 Listeners

                  The AI Daily Brief: Artificial Intelligence News and Analysis by Nathaniel Whittemore

                  The AI Daily Brief: Artificial Intelligence News and Analysis

                  680 Listeners