You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Blog post about using external indexes with Parquet #17010
Thanks! I just skimmed through it quickly. I think it’d be interesting to run an experiment with plots comparing performance with and without the specific indexing to evaluate its impact. I’ll try to carve out some time for it—definitely excited to see what we could find!
Thanks! I just skimmed through it quickly. I think it’d be interesting to run an experiment with plots comparing performance with and without the specific indexing to evaluate its impact. I’ll try to carve out some time for it—definitely excited to see what we could find!
Good idea , may be we can add simple clickbench example, to rewrite with some external indexes, and the performance becomes better?
Thanks! I just skimmed through it quickly. I think it’d be interesting to run an experiment with plots comparing performance with and without the specific indexing to evaluate its impact. I’ll try to carve out some time for it—definitely excited to see what we could find!
Good idea , may be we can add simple clickbench example, to rewrite with some external indexes, and the performance becomes better?
Yes, exactly. I’ll also go through the video and the draft blog—hopefully that’ll help me come up with something more concrete.
Thanks! I just skimmed through it quickly. I think it’d be interesting to run an experiment with plots comparing performance with and without the specific indexing to evaluate its impact. I’ll try to carve out some time for it—definitely excited to see what we could find!
Here is a crazy specific idea:
I think something that would be broadly interesting (aka get a log of clicks / likely to make Hacker news) would be a some example of fast single row lookups with Parquet -- this is a common usecase that is cited by new file formats
The narrative could go something like
Parquet is often used for analytical, scan heavy queries and the built in indexing structures and writer properties are optimized for this case
However, you can combine external indexes and the appropriate writer properties (e.g 100 row pages so the overhead of decoding a page is low) to build a system that works well for single row lookups
Look we prototyped an example using DataFusion that can do single row lookups in under 1ms with the data is locally in cache
If I’m not mistaken, that aligns pretty well with my understanding of Lance v2.
Also, I’m not sure if it’s a good idea, but could we try reproducing this experiment setup with a Parquet with a special index — or adapt it: https://blog.lancedb.com/benchmarking-random-access-in-lance/
I just wanted to mention—there’s a small typo in my name in the post. If it’s possible to update it, that would be great. Also, here’s my LinkedIn page for reference: https://www.linkedin.com/in/jigao-luo/ Thanks again
Yes, of course . I am very sorry about that. Do you mean this one? I tried really hard to copy/paste from github and I don't see the typo. I must be missing something
Activity
[-]Blog post about using external indexes[/-][+]Blog post about using external indexes with Parquet[/+]zhuqi-lucas commentedon Aug 1, 2025
Thank you @alamb, great idea, i can help review and contribute.
JigaoLuo commentedon Aug 1, 2025
Thanks! I just skimmed through it quickly. I think it’d be interesting to run an experiment with plots comparing performance with and without the specific indexing to evaluate its impact. I’ll try to carve out some time for it—definitely excited to see what we could find!
zhuqi-lucas commentedon Aug 1, 2025
Good idea , may be we can add simple clickbench example, to rewrite with some external indexes, and the performance becomes better?
JigaoLuo commentedon Aug 1, 2025
Yes, exactly. I’ll also go through the video and the draft blog—hopefully that’ll help me come up with something more concrete.
alamb commentedon Aug 1, 2025
Here is a crazy specific idea:
I think something that would be broadly interesting (aka get a log of clicks / likely to make Hacker news) would be a some example of fast single row lookups with Parquet -- this is a common usecase that is cited by new file formats
The narrative could go something like
JigaoLuo commentedon Aug 1, 2025
If I’m not mistaken, that aligns pretty well with my understanding of Lance v2.
Also, I’m not sure if it’s a good idea, but could we try reproducing this experiment setup with a Parquet with a special index — or adapt it: https://blog.lancedb.com/benchmarking-random-access-in-lance/
alamb commentedon Aug 8, 2025
The blog is ready for review
PR:
Rendered Preview: https://datafusion.staged.apache.org/blog/2025/08/15/external-parquet-indexes/
alamb commentedon Aug 15, 2025
And the post is live:
JigaoLuo commentedon Aug 15, 2025
Hi @alamb
Thanks so much for inviting me and for sharing the post on LinkedIn! I really appreciate it. https://www.linkedin.com/posts/apache-datafusion_using-external-indexes-metadata-stores-activity-7362130830053289984-nBag?utm_source=share&utm_medium=member_desktop&rcm=ACoAACyRbsYBcsi6ISDnXZC-xALLzcpTAPF-LHQ
I just wanted to mention—there’s a small typo in my name in the post. If it’s possible to update it, that would be great. Also, here’s my LinkedIn page for reference: https://www.linkedin.com/in/jigao-luo/ Thanks again
alamb commentedon Aug 15, 2025
Yes, of course . I am very sorry about that. Do you mean this one? I tried really hard to copy/paste from github and I don't see the typo. I must be missing something
I am very 🤦 sorry about that.
JigaoLuo commentedon Aug 15, 2025
No. I mean the LinkedIn thing above and also here:
alamb commentedon Aug 15, 2025
Ah, thank you @JigaoLuo -- I will fix that asap
alamb commentedon Aug 15, 2025
Fixed