Data Engineering Podcast

Bring Vector Search And Storage To The Data Lake With Lance


Listen Later

Summary
The rapid growth of generative AI applications has prompted a surge of investment in vector databases. While there are numerous engines available now, Lance is designed to integrate with data lake and lakehouse architectures. In this episode Weston Pace explains the inner workings of the Lance format for table definitions and file storage, and the optimizations that they have made to allow for fast random access and efficient schema evolution. In addition to integrating well with data lakes, Lance is also a first-class participant in the Arrow ecosystem, making it easy to use with your existing ML and AI toolchains. This is a fascinating conversation about a technology that is focused on expanding the range of options for working with vector data.
Announcements
  • Hello and welcome to the Data Engineering Podcast, the show about modern data management
  • Imagine catching data issues before they snowball into bigger problems. That’s what Datafold’s new Monitors do. With automatic monitoring for cross-database data diffs, schema changes, key metrics, and custom data tests, you can catch discrepancies and anomalies in real time, right at the source. Whether it’s maintaining data integrity or preventing costly mistakes, Datafold Monitors give you the visibility and control you need to keep your entire data stack running smoothly. Want to stop issues before they hit production? Learn more at dataengineeringpodcast.com/datafold today!
  • Your host is Tobias Macey and today I'm interviewing Weston Pace about the Lance file and table format for column-oriented vector storage
Interview
  • Introduction
  • How did you get involved in the area of data management?
  • Can you describe what Lance is and the story behind it?
    • What are the core problems that Lance is designed to solve?
      • What is explicitly out of scope?
  • The README mentions that it is straightforward to convert to Lance from Parquet. What is the motivation for this compatibility/conversion support?
    • What formats does Lance replace or obviate?
  • In terms of data modeling Lance obviously adds a vector type, what are the features and constraints that engineers should be aware of when modeling their embeddings or arbitrary vectors?
    • Are there any practical or hard limitations on vector dimensionality?
  • When generating Lance files/datasets, what are some considerations to be aware of for balancing file/chunk sizes for I/O efficiency and random access in cloud storage?
  • I noticed that the file specification has space for feature flags. How has that aided in enabling experimentation in new capabilities and optimizations?
  • What are some of the engineering and design decisions that were most challenging and/or had the biggest impact on the performance and utility of Lance?
  • The most obvious interface for reading and writing Lance files is through LanceDB. Can you describe the use cases that it focuses on and its notable features?
    • What are the other main integrations for Lance?
    • What are the opportunities or roadblocks in adding support for Lance and vector storage/indexes in e.g. Iceberg or Delta to enable its use in data lake environments?
  • What are the most interesting, innovative, or unexpected ways that you have seen Lance used?
  • What are the most interesting, unexpected, or challenging lessons that you have learned while working on the Lance format?
  • When is Lance the wrong choice?
  • What do you have planned for the future of Lance?
Contact Info
  • LinkedIn
  • GitHub
Parting Question
  • From your perspective, what is the biggest gap in the tooling or technology for data management today?
Links
  • Lance Format
  • LanceDB
  • Substrait
  • PyArrow
  • FAISS
  • Pinecone
    • Podcast Episode
  • Parquet
  • Iceberg
    • Podcast Episode
  • Delta Lake
    • Podcast Episode
  • PyLance
  • Hilbert Curves
  • SIFT Vectors
  • S3 Express
  • Weka
  • DataFusion
  • Ray Data
  • Torch Data Loader
  • HNSW == Hierarchical Navigable Small Worlds vector index
  • IVFPQ vector index
  • GeoJSON
  • Polars
The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA
...more
View all episodesView all episodes
Download on the App Store

Data Engineering PodcastBy Tobias Macey

  • 4.6
  • 4.6
  • 4.6
  • 4.6
  • 4.6

4.6

134 ratings


More shows like Data Engineering Podcast

View all
Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

265 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

285 Listeners

The Cloudcast by Massive Studios

The Cloudcast

155 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

43 Listeners

Data Skeptic by Kyle Polich

Data Skeptic

475 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

580 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

624 Listeners

The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence) by Sam Charrington

The TWIML AI Podcast (formerly This Week in Machine Learning & Artificial Intelligence)

439 Listeners

AWS Podcast by Amazon Web Services

AWS Podcast

203 Listeners

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

Super Data Science: ML & AI Podcast with Jon Krohn

295 Listeners

Python Bytes by Michael Kennedy and Brian Okken

Python Bytes

214 Listeners

DataFramed by DataCamp

DataFramed

266 Listeners

Practical AI by Practical AI LLC

Practical AI

196 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

137 Listeners