Disseminate: The Computer Science Research Podcast

Kevin Gaffney | SQLite: Past, Present, and Future | #11


Listen Later

Summary:

In this episode Kevin Gaffney tells us about SQLite, the most widely deployed database engine in existence. SQLite is found in nearly every smartphone, computer, web browser, television, and automobile. Several factors are likely responsible for its ubiquity, including its in-process design, standalone codebase, extensive test suite, and cross-platform file format. While it supports complex analytical queries, SQLite is primarily designed for fast online transaction processing (OLTP), employing row-oriented execution and a B-tree storage format. However, fueled by the rise of edge computing and data science, there is a growing need for efficient in-process online analytical processing (OLAP). DuckDB, a database engine nicknamed “the SQLite for analytics”, has recently emerged to meet this demand. While DuckDB has shown strong performance on OLAP benchmarks, it is unclear how SQLite compares... Listen to the podcast to find out more about Kevin's work on identifying key bottlenecks in OLAP workloads and the optimizations he has helped develop.


Questions:
  • How did you end up researching databases? 
  • Can you describe what SQLite is? 
  • Can you give the listener an overview of SQLite’s architecture? 
  • How does SQLite provide ACID guarantees? 
  • How has hardware and workload changed across SQLite’s life? 
  • What challenges do these changes pose for SQLite?
  • In your paper you subject SQLite to an extensive performance evaluation, what were the questions you were trying to answer? 
  • What was the experimental set up? What benchmarks did you use?
  • How realistic are these workloads? How closely do these map to user studies? 
  • What were the key results in your OLTP experiments?
  • You mentioned that delete performance was poor in the user study, did you observe why in the OLTP experiment?
  • Can you talk us through your OLAP experiment?
  • What were the key analytical data processing bottlenecks you found in SQLite?
  • What were your optimizations? How did they perform? 
  • What are the reasons for SQLite using dynamic programming?
  • Are your optimizations available in SQLite today? 
  • What were the findings in your blob I/O experiment? 
  • Progress in research is non-linear, from the conception of the idea for your paper to the publication, were there things you tried that failed? 
  • What do you have planned for future research? 
  • How do you think SQLite will evolve over the coming years? 
  • Can you tell the listeners about your other research?
  • What do you think is the biggest challenge in your research area now? 
  • What’s the one key thing you want listeners to take away from your research?


Links:
  • SQLite: Past, Present, and Future
  • Database Isolation By Scheduling
  • Kevin's LinkedIn
  • SQLite Homepage

Hosted on Acast. See acast.com/privacy for more information.

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

Disseminate: The Computer Science Research PodcastBy Jack Waudby

  • 5
  • 5
  • 5
  • 5
  • 5

5

6 ratings


More shows like Disseminate: The Computer Science Research Podcast

View all
The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

284 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

621 Listeners

The Daily by The New York Times

The Daily

111,864 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

47 Listeners

Developer Voices by Kris Jenkins

Developer Voices

28 Listeners

localfirst.fm by localfirst.fm

localfirst.fm

18 Listeners

Better Offline by Cool Zone Media and iHeartPodcasts

Better Offline

491 Listeners