現代のブロックチェーンインデックス作成スタートアップが直面する可能性のあるいくつかの課題があります。
本稿では、Iceberg-Trinoテクノロジースタックがオンチェーンデータの課題にどのように対処するかを探るためのケーススタディとして、フットプリントアナリティクスのテクノロジーアーキテクチャの進化を段階的にレビューします。
フットプリント・アナリティクスは、約22のパブリックブロックチェーンデータ、17のNFTマーケットプレイス、1900のGameFiプロジェクト、100,000を超えるNFTコレクションをセマンティック抽象化データレイヤーにインデックス化しました。 これは、世界で最も包括的なブロックチェーンデータウェアハウスソリューションです。
データアナリストによって頻繁に照会される金融取引の200億行以上のレコードを含むブロックチェーンデータに関係なく。 これは、従来のデータ ウェアハウスのイングレッション ログとは異なります。
増大するビジネス要件を満たすために、過去数か月で3つの主要なアップグレードが発生しました。
フットプリント分析の開始当初は、ストレージおよびクエリエンジンとしてGoogle Bigqueryを使用していました。Bigquery は素晴らしい製品です。 非常に高速で使いやすく、動的な算術パワーと柔軟なUDF構文を提供し、作業をすばやく完了するのに役立ちます。
ただし、Bigquery にはいくつかの問題もあります。
私たちは、非常に人気があるOLAP製品のいくつかに非常に興味を持っていました。 OLAP の最も魅力的な利点は、大量のデータのクエリ結果を返すのに通常数秒かかるクエリ応答時間であり、数千の同時クエリもサポートできます。
最高のOLAPデータベースの1つであるDorisを選んで試してみました。 このエンジンはうまく機能します。 しかし、ある時点で、すぐに他のいくつかの問題が発生しました。
残念ながら、Bigquery を Dorisに置き換えることはできなかったため、クエリエンジンとしてのみ使用して、Bigquery から Dois に定期的にデータを同期する必要がありました。 この同期プロセスには多くの問題がありましたが、その 1 つは、OLAP エンジンがフロントエンド クライアントへのクエリの処理でビジー状態のときに、更新の書き込みがすぐに積み重なることでした。 その後、書き込みプロセスの速度に影響がかかり、同期に時間がかかり、場合によっては完了できなくなることさえありました。
OLAPは私たちが直面しているいくつかの問題を解決でき、特にデータ処理パイプラインのフットプリント分析のターンキーソリューションにはなれないことに気づきました。 私たちの問題はより大きく、より複雑であり、クエリ エンジンとしての OLAP だけでは十分ではなかったと言えます。
基盤となるアーキテクチャの完全なオーバーホールであるフットプリント分析アーキテクチャ3.0へようこそ。 アーキテクチャ全体をゼロから再設計し、データのストレージ、計算、クエリを3つの異なる部分に分離しました。 フットプリント分析の2つの以前のアーキテクチャから教訓を得て、Uber、Netflix、Databricksなどの他の成功したビッグデータプロジェクトの経験から学びます。
まず、構造化データと非構造化データの両方に対応する新しいタイプのデータストレージであるデータレイクに注目しました。 データレイクは、オンチェーンデータの形式が非構造化生データから構造化抽象化データまで多岐にわたるため、オンチェーンデータストレージに最適です。 データレイクを使用してデータストレージの問題を解決し、理想的にはSparkやFlinkなどの主流のコンピューティングエンジンもサポートするため、フットプリント分析の進化に合わせてさまざまなタイプの処理エンジンと統合するのが面倒ではありません。
Icebergは、Spark、Flink、Trino、その他の計算エンジンと非常によく統合されており、各メトリックに最も適切な計算を選択できます。 例えば:
Iceberg がストレージと計算の問題を解決したので、クエリ エンジンを選択する方法を考える必要がありました。 利用可能なオプションは多くありませんが、私たちが検討した代替案は
方向性を決定したら、Trino + Icebergの組み合わせでパフォーマンステストを行い、ニーズを満たすことができるかどうかを確認しましたが、驚いたことに、クエリは非常に高速でした。
Presto + HiveがすべてのOLAP誇大宣伝の中で何年にもわたって最悪の比較対象であったことを知って、Trino + Icebergの組み合わせは完全に私たちの心を吹き飛ばしました。
これが私たちのテストの結果です。
ケース 1 : 大規模なデータセットを結合する
800 GB のテーブル 1 が別の 50 GB のテーブル 2 を結合し、複雑なビジネス計算を行う
ケース 2: 大きな 1 つのテーブルを使用して個別のクエリを実行する
テストSQL:日ごとにテーブルグループから個別の(アドレス)を選択します
トリノ+アイスバーグの組み合わせは、同じ構成のドリスよりも約3倍高速です。
これに加えて、Icebergは寄木細工の床、ORCなどのデータ形式を使用してデータを圧縮して保存できるため、別の驚きがあります。 Iceberg のテーブル ストレージは、他のデータ ウェアハウスの約 1/5 のスペースしか占有しません。 3 つのデータベース内の同じテーブルのストレージ サイズは次のとおりです。
注:上記のテストは、実際の本番環境で遭遇した個々の例であり、参照用です。
・アップグレード効果
パフォーマンステストレポートは、チームが移行を完了するのに約2か月かかるほどのパフォーマンスを提供し、これはアップグレード後のアーキテクチャの図です。
2021年8月の立ち上げ以来、Footprint Analyticsチームは、最高のデータベーステクノロジーのメリットを暗号ユーザーにもたらすという幅広い願望と決意、および基盤となるインフラストラクチャとアーキテクチャの実装とアップグレードの堅実な実行のおかげで、1年半足らずで3つのアーキテクチャのアップグレードを完了しました。
フットプリント・アナリティクスのアーキテクチャー・アップグレード3.0は、ユーザーに新しいエクスペリエンスを提供し、さまざまなバックグラウンドを持つユーザーが、より多様な使用法やアプリケーションに関する洞察を得ることができるようになりました。
現代のブロックチェーンインデックス作成スタートアップが直面する可能性のあるいくつかの課題があります。
本稿では、Iceberg-Trinoテクノロジースタックがオンチェーンデータの課題にどのように対処するかを探るためのケーススタディとして、フットプリントアナリティクスのテクノロジーアーキテクチャの進化を段階的にレビューします。
フットプリント・アナリティクスは、約22のパブリックブロックチェーンデータ、17のNFTマーケットプレイス、1900のGameFiプロジェクト、100,000を超えるNFTコレクションをセマンティック抽象化データレイヤーにインデックス化しました。 これは、世界で最も包括的なブロックチェーンデータウェアハウスソリューションです。
データアナリストによって頻繁に照会される金融取引の200億行以上のレコードを含むブロックチェーンデータに関係なく。 これは、従来のデータ ウェアハウスのイングレッション ログとは異なります。
増大するビジネス要件を満たすために、過去数か月で3つの主要なアップグレードが発生しました。
フットプリント分析の開始当初は、ストレージおよびクエリエンジンとしてGoogle Bigqueryを使用していました。Bigquery は素晴らしい製品です。 非常に高速で使いやすく、動的な算術パワーと柔軟なUDF構文を提供し、作業をすばやく完了するのに役立ちます。
ただし、Bigquery にはいくつかの問題もあります。
私たちは、非常に人気があるOLAP製品のいくつかに非常に興味を持っていました。 OLAP の最も魅力的な利点は、大量のデータのクエリ結果を返すのに通常数秒かかるクエリ応答時間であり、数千の同時クエリもサポートできます。
最高のOLAPデータベースの1つであるDorisを選んで試してみました。 このエンジンはうまく機能します。 しかし、ある時点で、すぐに他のいくつかの問題が発生しました。
残念ながら、Bigquery を Dorisに置き換えることはできなかったため、クエリエンジンとしてのみ使用して、Bigquery から Dois に定期的にデータを同期する必要がありました。 この同期プロセスには多くの問題がありましたが、その 1 つは、OLAP エンジンがフロントエンド クライアントへのクエリの処理でビジー状態のときに、更新の書き込みがすぐに積み重なることでした。 その後、書き込みプロセスの速度に影響がかかり、同期に時間がかかり、場合によっては完了できなくなることさえありました。
OLAPは私たちが直面しているいくつかの問題を解決でき、特にデータ処理パイプラインのフットプリント分析のターンキーソリューションにはなれないことに気づきました。 私たちの問題はより大きく、より複雑であり、クエリ エンジンとしての OLAP だけでは十分ではなかったと言えます。
基盤となるアーキテクチャの完全なオーバーホールであるフットプリント分析アーキテクチャ3.0へようこそ。 アーキテクチャ全体をゼロから再設計し、データのストレージ、計算、クエリを3つの異なる部分に分離しました。 フットプリント分析の2つの以前のアーキテクチャから教訓を得て、Uber、Netflix、Databricksなどの他の成功したビッグデータプロジェクトの経験から学びます。
まず、構造化データと非構造化データの両方に対応する新しいタイプのデータストレージであるデータレイクに注目しました。 データレイクは、オンチェーンデータの形式が非構造化生データから構造化抽象化データまで多岐にわたるため、オンチェーンデータストレージに最適です。 データレイクを使用してデータストレージの問題を解決し、理想的にはSparkやFlinkなどの主流のコンピューティングエンジンもサポートするため、フットプリント分析の進化に合わせてさまざまなタイプの処理エンジンと統合するのが面倒ではありません。
Icebergは、Spark、Flink、Trino、その他の計算エンジンと非常によく統合されており、各メトリックに最も適切な計算を選択できます。 例えば:
Iceberg がストレージと計算の問題を解決したので、クエリ エンジンを選択する方法を考える必要がありました。 利用可能なオプションは多くありませんが、私たちが検討した代替案は
方向性を決定したら、Trino + Icebergの組み合わせでパフォーマンステストを行い、ニーズを満たすことができるかどうかを確認しましたが、驚いたことに、クエリは非常に高速でした。
Presto + HiveがすべてのOLAP誇大宣伝の中で何年にもわたって最悪の比較対象であったことを知って、Trino + Icebergの組み合わせは完全に私たちの心を吹き飛ばしました。
これが私たちのテストの結果です。
ケース 1 : 大規模なデータセットを結合する
800 GB のテーブル 1 が別の 50 GB のテーブル 2 を結合し、複雑なビジネス計算を行う
ケース 2: 大きな 1 つのテーブルを使用して個別のクエリを実行する
テストSQL:日ごとにテーブルグループから個別の(アドレス)を選択します
トリノ+アイスバーグの組み合わせは、同じ構成のドリスよりも約3倍高速です。
これに加えて、Icebergは寄木細工の床、ORCなどのデータ形式を使用してデータを圧縮して保存できるため、別の驚きがあります。 Iceberg のテーブル ストレージは、他のデータ ウェアハウスの約 1/5 のスペースしか占有しません。 3 つのデータベース内の同じテーブルのストレージ サイズは次のとおりです。
注:上記のテストは、実際の本番環境で遭遇した個々の例であり、参照用です。
・アップグレード効果
パフォーマンステストレポートは、チームが移行を完了するのに約2か月かかるほどのパフォーマンスを提供し、これはアップグレード後のアーキテクチャの図です。
2021年8月の立ち上げ以来、Footprint Analyticsチームは、最高のデータベーステクノロジーのメリットを暗号ユーザーにもたらすという幅広い願望と決意、および基盤となるインフラストラクチャとアーキテクチャの実装とアップグレードの堅実な実行のおかげで、1年半足らずで3つのアーキテクチャのアップグレードを完了しました。
フットプリント・アナリティクスのアーキテクチャー・アップグレード3.0は、ユーザーに新しいエクスペリエンスを提供し、さまざまなバックグラウンドを持つユーザーが、より多様な使用法やアプリケーションに関する洞察を得ることができるようになりました。