GitHub user honam-data created a discussion: When using Lance as the lakehouse 
format, does Fileset become redundant for unstructured data management?

Background
I'm exploring Gravitino as a unified metadata governance layer for an AI/ML 
pipeline. My data architecture is:
Raw unstructured data (PDFs, images, audio) 
    → stored in S3 (MinIO)
    → built into Lance tables (with embeddings, metadata, vector indexes)
    → governed by Gravitino
>From what I understand:
1. Fileset is Gravitino's abstraction for managing non-tabular, schema-free 
data (training datasets, raw files). It manages file locations, credentials, 
and lifecycle on HDFS/S3/Local.
2. Lance (via lakehouse-generic catalog, format=lance) is Gravitino's 
integration for the Lance columnar format — managing table schemas, columns, 
and vector indexes.
The Confusion
In practice, Lance itself is a multimodal lakehouse format that already handles 
the full unstructured data lifecycle:
- Raw files are stored in S3 (e.g., s3://lance-bucket/)
- Lance tables are built on top, providing typed columns, metadata, vector 
embeddings, and indexes — all self-contained in the same S3 location
- Through Gravitino's Lance integration, I get schema management, permission 
control, and REST API access
This means Lance already covers the Fileset use case end-to-end. I can manage 
raw unstructured data entirely through Lance tables under Gravitino, without 
ever touching Fileset.
The Question
1. Does Lance make Fileset redundant? When you're already using Lance as the 
lakehouse format, what value does Fileset add? Or are they meant for different 
stages of the data pipeline?
2. What's the intended relationship? Are Fileset and Lance complementary legs 
of the same journey (raw ingestion → structured table), or are they independent 
alternatives with overlapping scopes?
3. What's the practical guidance? When should a user choose Fileset vs. Lance 
Table for managing unstructured data in a real AI/ML pipeline?
Why This Matters
As Lance adoption grows (it's increasingly positioned as the standard format 
for AI/multimodal lakehouses), this architectural ambiguity could confuse 
newcomers. Clarifying the positioning would help users decide which abstraction 
to use when.
I'd love to hear from maintainers and the community — is there a design 
rationale behind keeping these two abstractions separate, or is this something 
that may evolve as the Lance integration matures?

GitHub link: https://github.com/apache/gravitino/discussions/11953

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to