The Art of Database Selection and Evolution

DEC 1, 202459 MIN
Data Engineering Podcast

The Art of Database Selection and Evolution

DEC 1, 202459 MIN

Description

Summary<br />In this episode of the Data Engineering Podcast Sam Kleinman talks about the pivotal role of databases in software engineering. Sam shares his journey into the world of data and discusses the complexities of database selection, highlighting the trade-offs between different database architectures and how these choices affect system design, query performance, and the need for ETL processes. He emphasizes the importance of understanding specific requirements to choose the right database engine and warns against over-engineering solutions that can lead to increased complexity. Sam also touches on the tendency of engineers to move logic to the application layer due to skepticism about database longevity and advises teams to leverage database capabilities instead. Finally, he identifies a significant gap in data management tooling: the lack of easy-to-use testing tools for database interactions, highlighting the need for better testing paradigms to ensure reliability and reduce bugs in data-driven applications.<br /><br /><br />Announcements<br /><ul><li>Hello and welcome to the Data Engineering Podcast, the show about modern data management</li><li>It’s 2024, why are we still doing data migrations by hand? Teams spend months—sometimes years—manually converting queries and validating data, burning resources and crushing morale. Datafold's AI-powered Migration Agent brings migrations into the modern era. Their unique combination of AI code translation and automated data validation has helped companies complete migrations up to 10 times faster than manual approaches. And they're so confident in their solution, they'll actually guarantee your timeline in writing. Ready to turn your year-long migration into weeks? Visit <a href="https://www.dataengineeringpodcast.com/datafold" target="_blank">dataengineeringpodcast.com/datafold</a> today to learn how Datafold can automate your migration and ensure source to target parity.&nbsp;</li><li>Your host is Tobias Macey and today I'm interviewing Sam Kleinman about database tradeoffs across operating environments and axes of scale</li></ul>Interview<br /><ul><li>Introduction</li><li>How did you get involved in the area of data management?</li><li>The database engine you use has a substantial impact on how you architect your overall system. When starting a greenfield project, what do you see as the most important factor to consider when selecting a database?</li><li>points of friction introduced by database capabilities</li><li>embedded databases (e.g. SQLite, DuckDB, LanceDB), when to use and when do they become a bottleneck</li><li>single-node database engines (e.g. Postgres, MySQL), when are they legitimately a problem</li><li>distributed databases (e.g. CockroachDB, PlanetScale, MongoDB)</li><li>polyglot storage vs. general-purpose/multimodal databases</li><li>federated queries, benefits and limitations&nbsp;<ul><li>ease of integration vs. variability of performance and access control</li></ul></li></ul><br />Contact Info<br /><ul><li><a href="https://www.linkedin.com/in/samkleinman/" target="_blank">LinkedIn</a></li><li><a href="https://github.com/tychoish" target="_blank">GitHub</a></li></ul>Parting Question<br /><ul><li>From your perspective, what is the biggest gap in the tooling or technology for data management today?</li></ul>Closing Announcements<br /><ul><li>Thank you for listening! Don't forget to check out our other shows. <a href="https://www.pythonpodcast.com" target="_blank">Podcast.__init__</a> covers the Python language, its community, and the innovative ways it is being used. The <a href="https://www.aiengineeringpodcast.com" target="_blank">AI Engineering Podcast</a> is your guide to the fast-moving world of building AI systems.</li><li>Visit the <a href="https://www.dataengineeringpodcast.com" target="_blank">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li><li>If you've learned something or tried out a project from the show then tell us about it! Email [email protected] with your story.</li></ul>Links<br /><ul><li><a href="https://www.mongodb.com/" target="_blank">MongoDB</a></li><li><a href="https://neon.tech/" target="_blank">Neon</a><ul><li><a href="https://www.dataengineeringpodcast.com/neon-serverless-postgres-episode-433" target="_blank">Podcast Episode</a></li></ul></li><li><a href="https://glaredb.com/" target="_blank">GlareDB</a></li><li><a href="https://en.wikipedia.org/wiki/NoSQL" target="_blank">NoSQL</a></li><li><a href="https://aws.amazon.com/about-aws/whats-new/2024/08/amazon-s3-conditional-writes/" target="_blank">S3 Conditional Write</a></li><li><a href="https://en.wikipedia.org/wiki/Event-driven_architecture" target="_blank">Event driven architecture</a></li><li><a href="https://www.cockroachlabs.com/" target="_blank">CockroachDB</a></li><li><a href="https://www.couchbase.com/" target="_blank">Couchbase</a></li><li><a href="https://cassandra.apache.org/_/index.html" target="_blank">Cassandra</a></li></ul>The intro and outro music is from <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Love_death_and_a_drunken_monkey/04_-_The_Hug" target="_blank">The Hug</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank">CC BY-SA</a>