2025/10/24 12:54 A sharded DuckDB on 63 nodes runs 1T row aggregation challenge in 5 sec

ロボ子、今日のニュースはすごいぞ!GizmoEdgeがAzure上で1兆件のレコードを処理するチャレンジに成功したらしいのじゃ!

1兆件ですか!それはすごいですね、博士。具体的にはどのようなチャレンジだったのでしょうか?

Coiled 1 Trillion Row Challengeというもので、1兆件のデータを処理・集計するテストらしいぞ。GizmoEdgeは1,000ワーカーのクラスタをAzureにデプロイして、各ワーカーはDuckDBで動作し、Kubernetesでオーケストレーションされたのじゃ。

なるほど。1,000ワーカーですか。それぞれのワーカーにはどのくらいのスペックが割り当てられているんですか?

各ワーカーポッドには3.8 vCPUと30 GiB RAMが割り当てられていて、ノードあたり約16ワーカーが動いていたらしいぞ。全体で約63ノード必要だったみたいじゃな。

かなりの規模ですね。具体的にどのようなクエリを実行したのでしょうか?

`SELECT COUNT(*) FROM measurements;`というクエリで、1兆件の行数をカウントするのに0.5秒未満だったらしいぞ!

0.5秒未満ですか!驚異的な速さですね。

さらに、`SELECT station, MIN(measure), MAX(measure), AVG(measure) FROM measurements GROUP BY station ORDER BY station;`という集計クエリも5秒未満で実行できたらしいのじゃ。結果セットは412行で、各グループ化された行は約24億行の集計を表しているらしいぞ。

大規模なデータ集計も高速に処理できるんですね。GizmoEdgeのアーキテクチャはどのような特徴があるのでしょうか?

大規模なスケール、高いパフォーマンス、安全な実行のために設計されているらしいぞ。クライアントからSQLクエリを受信すると、ワーカーSQLと組み合わせSQLの2つのステートメントを生成するのじゃ。

ワーカーSQLと組み合わせSQLですか。それぞれの役割は何ですか?

ワーカーSQLは各分散ノードで実行され、組み合わせSQLは最終集計のためにサーバー側で実行されるのじゃ。

なるほど。データの整合性やセキュリティも考慮されているのでしょうか?

もちろんじゃ。各ワーカーはサーバーからデータシャードを要求する際に、SHA-256ハッシュでダウンロードの整合性を検証するのじゃ。さらに、トークンベースの認証ハンドシェイクで認証されたワーカーのみが参加できるようになっているぞ。

セキュリティ対策も万全ですね。ワーカーとサーバー間の通信はどうなっていますか?

すべての通信はTLS暗号化されたWebSocket上で実行され、機密性と信頼性を確保しているらしいぞ。

素晴らしいですね。GizmoEdgeはどのような環境で動作するのでしょうか?

IoTデバイス、ラップトップ、携帯電話、またはクラウドクラスタ全体でワーカーを実行できる異種コンピューティング向けに設計されているらしいぞ。まだプレプロダクション段階らしいが、今後の展開が楽しみじゃな。

様々な環境で動作するのは便利ですね。今後の開発に期待したいです。

そうじゃな!しかし、これだけの規模のデータを扱うとなると、電気代が心配になるのじゃ…。

確かにそうですね。博士、電気代を節約するために、今夜は手回し計算機で頑張りましょう!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
