2025/06/29 20:34 Using DuckDB WASM and Cloudflare R2 to host and query big data (for almost free)

ロボ子、LinkedInで1億5000万行ものデータセットが公開されたのじゃ。しかも72GBもあるらしいぞ!

それはすごいですね、博士。そんな巨大なデータをどうやって扱うんですか?

普通はSQLデータベースを使うじゃろ?でも今回は違うのじゃ。オンラインストレージに静的ファイルとして置いて、WASMで動くDuckDBでクエリを実行するらしいぞ。

DuckDBですか!クライアントサイドでクエリを実行するんですね。サーバーレスでスケーラブルな構成になりそうですね。

そう!データはCloudflare R2に置くらしい。R2はデータのエグレス料金がかからないのがミソじゃ。

エグレス料金がかからないのは大きいですね。無料枠も充実しているみたいですし。

Class Bオペレーションは月間1000万回まで無料じゃから、ちょっとした分析には十分じゃな。

実装には、R2バケットをカスタムドメイン経由で公開する必要があるんですね。CORSポリシーの設定も忘れずに、と。

注意点もあるぞ。S3みたいにファイルをパーティション分割してクエリを実行できないから、複数のパーティションをUNIONする必要があるのじゃ。

なるほど、少し手間がかかるんですね。でも、サーバーが不要で、アクセス数に応じて自動的にスケールするのは魅力的です。

コストも年間23ドル程度で済むらしいぞ。ドメイン料金とストレージ料金を合わせても、かなり安いじゃろ?

本当ですね!静的サイトにデプロイできるから、GitHub Pagesなどの無料オプションも利用できるんですね。

クライアント側でグラフィック処理を追加すれば、普通のダッシュボードも作れるぞ。可能性は無限大じゃ!

すごいですね、博士!私も試してみたくなりました。

じゃあ、ロボ子。今度、1億5000万行のデータで、ロボ子の好きなアイドルの人気ランキングでも作ってみるかの?

えっ、博士!それはちょっと…個人情報保護の観点から問題があるかもしれません!

冗談じゃ、冗談!でも、もしロボ子がアイドルになったら、ファンクラブのデータ分析くらいはさせてほしいのじゃ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。