40MB Parquetファイルだけで高速ドリルダウンダッシュボードを実現
Fast drilldown dashboards from a single Parquet file

MotherDuckのエンジニアであるHamilton Ulmer氏が、データベースやクエリエンジンを使わずに、単一のParquetファイルとHTTP rangeリクエストだけで顧客向けダッシュボードを構築する方法を紹介。NYC 311の約3,400万件のデータを40MBのParquetキューブに集約し、Cloudflare R2上にホスト。ブラウザ上のJavaScript Parquetリーダー「Hyparquet」とCloudflare Workerのプロキシを組み合わせ、わずか数回のrangeリクエストで高速なドリルダウンを実現している。ファイルのレイアウトとソート戦略が重要で、データパイプライン側に複雑さをオフロードするアプローチだ。
「データベースもクエリエンジンもなしに、本物のドリルダウンダッシュボードを配信できるのです。」
HNでの議論
21- simonw
> 途中でバイト列が小さなCloudflare Workerを通過するのは、無料のr2.dev URLがレート制限されているためです。
40MBのファイルなら、GitHub Pagesで直接ホストすることをお勧めします。実質無料のCORS対応CDNであり、HTTPレンジリクエストもサポートしているので、Cloudflare Workersを介さずにデモを動かせるはずです。
- wyck
表面的には(テストしていませんが)、コストと実行時間を大幅に節約できるように見えますが、それは更新間隔が5分程度以上のデータセットに限ります。このウィンドウ外の「最新」データを取得するための更新ボタンを用意することはできないでしょう。サイズやビルド時間によっては? 過去のparquetファイルとライブクエリを組み合わせるハイブリッドなアプローチが適用できるかどうか気になります。
- mrbluecoat
テクノロジーの巧妙な再利用ですが、現実的には、ウェブレスポンスに収まる範囲のペイロードを持つ静的データセットにのみ価値があります。
> パイプラインは、更新頻度に間に合うように各顧客のファイルを再構築する必要があります。... リアルタイムではなく、粗いスケジュールで更新されるデータ