Published Sep 3, 2019

Episode 199: Michael Stonebraker on Current Developments in Databases

Database visionary Michael Stonebraker delves into optimization techniques, critiques Hadoop's limitations, and discusses the evolution towards NewSQL systems over traditional architectures, shedding light on market shifts and the obsolescence of older technologies.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Transaction Optimization

    Optimizing transactions in database systems is crucial for enhancing performance and efficiency. explains that distributed transactions, which cross node boundaries, are inherently expensive due to the need for complex concurrency control mechanisms like two-phase commits 1. He emphasizes the importance of designing applications where most transactions are confined to a single chunk to avoid performance penalties.

    Volt is optimized for the case that most transactions go to a single chunk, and Volt is blindingly fast.

    ---

    Additionally, Stonebraker discusses the role of command logging in modern OLTP systems, which reduces recovery time by leveraging replication for high availability 2.

       

    Concurrency Control

    Concurrency control is a critical aspect of database efficiency, with various methods offering different benefits. outlines multi-version concurrency control, which assumes transactions will succeed and checks for conflicts only at commit time, contrasting it with dynamic locking that waits for potential issues 3. He notes that conditions have changed, making optimistic concurrency control more viable in main memory systems.

    In optimistic concurrency control, you just continue to the end on the assumption that it isn't going to be a problem.

    ---

    Stonebraker also highlights the inefficiency of record-level locking and advocates for alternatives like timestamp ordering, which can enhance performance by avoiding traditional overheads 4.

Related Episodes