事例公開日:2023年2月21日
KNN3 Network社は、分散型アプリケーション「d/Apps」(Decentralized Applicationsの略語。単一のコンピュータではなく、ブロックチェーンやコンピュータのP2Pネットワーク上に存在し、実行されるアプリケーションやプログラムを指します。) とスマートコントラクトのためのWeb3ユーザーセントリックのDataFi (Data For Implementation) ソリューションをワンストップで提供するWeb3のパイオニア企業です。このソリューションによって、d/Appsとスマートコントラクトは、様々なアルゴリズムに適した方法で、クロスプラットフォームのユーザーセントリックデータと相互作用することができます。
緊急に必要なストレージ
Web3のデータは毎秒、あらゆるブロックチェーン上で爆発的に増加しているため、KNN3 Network社が各ブロックチェーンネットワークからデータを取得して統合することは容易ではありません。以下の要件が必要となります。
- よりスケーラブルなデータベース。
- 分析処理とトランザクション処理のハイブリッド機能。分析クエリは増加していますが、データが大きすぎてトランザクション処理では間に合わないものもあります。そのため、ハイブリッドなワークロードに対応できるデータベースが必要とされています。
- ストリーミングデータの膨大なスループットをリアルタイムで処理できること。
- 費用対効果の高いソリューション。KNN3 Network社はWeb3のスタートアップ企業なので、コストとパフォーマンスと将来的な柔軟性のバランスが求められます。
従来のデータベースソリューションの問題点
下図は、KNN3 Network社のこれまでのデータベース・ソリューションのアーキテクチャを示したものです。ClickHouse、PostgreSQL、Neo4j、Amazon S3、MongoDBなど複数のデータベースが複雑に組み合わされていました。
KNN3 Network社の従来のデータベース・アーキテクチャ
このソリューションには、次のような役割がありました。
- ClickHouseは、さまざまなブロックチェーンネットワークから受信した生データを保存するためのプライマリーデータベースでした。
- PostgreSQLは、ClickHouseから加工・変換されたデータを同期して保存するためのセカンダリデータベースでした。
- Neo4jは、グラフの結果を納めるためのデータベースでした。
- Amazon S3とMongoDBは、定型の分析クエリを処理していました。
このソリューションはしばらくの間、機能していました。しかし、ブロックチェーンのデータサイズが急増し、ビジネスが成長するにつれて、このアーキテクチャは苦しくなりました。
- KNN3 Network社のバックエンドエンジニア、すなわち4人だけの小さなエンジニアチームにとっては、運用や保守があまりにも複雑でした。
- リアルタイムで膨大なスループットを持つストリーミングデータを扱うことはできませんでした。
- バックエンドのAmazon S3がデータ書き込みに時間を要するため、エンドユーザーにリアルタイムのデータインサイトが提供できませんでした。
- ストレージコンポーネントが多く組み合わされすぎていて、コストがかかっていました。また、メンテナンスコストも高額でした。
旧来のインフラをTiDB Cloudにリプレース
数ヶ月に及ぶリサーチとテストの後、KNN3 Network社のチームは最終的にTiDB Cloudを選択しました。現在のストレージアーキテクチャでは、KNN3 Network社のストレージコンポーネントの大半がTiDB Cloudに置き換えられています。
TiDB Cloudで大幅に簡素化したストレージのアーキテクチャ
ブロックチェーンの生データはClickHouseに吸い上げられた後、TiDBに直接同期され、リアルタイムのトランザクション処理と分析処理の両方が行われます。これにより、データ処理フローが短縮され、パフォーマンスが向上し、コストが削減されます。
データフローの短縮
TiDB Cloudがもたらすメリット
よりシンプルで使いやすいストレージアーキテクチャ
現在、KNN3 Network社のレガシーデータベースシステムの少なくとも4~5つのコンポーネントはTiDB Cloudに置き換えられ、データ処理フローを短縮しています。さらに、現在TiDBソリューションの運用・保守に必要なエンジニアは、多くても2名です。
トランザクションと分析のハイブリッド機能
TiDB Cloudは、2in1アーキテクチャ、つまりHTAPアーキテクチャを採用しています。トランザクションと分析のワークロードは、もはや別々のデータベースで別々に処理する必要はありません。1つのTiDBシステムで両方のワークロードを同時に処理することができるのです。
大幅なコストダウン
TiDB Cloudは、KNN3 Network社のほとんどのストレージコンポーネントを置き換え、そのコストを大幅に削減しました。さらに、エンジニアがメンテナンスするデータベースの数も減ったため、メンテナンスコストも下げられました。
シームレスで水平、透過的、かつ自動的なスケーラビリティ
TiDB Cloudは、リアルタイムの読み書きトラフィックの増減に応じて、弾力的かつ容易にスケールアウトすることが可能です。これは、Web3業界が活況を呈しているKNN3 Network社のビジネスニーズに見事に合致しています。ビジネスが拡大しても、ストレージアーキテクチャを再設計する必要はありません。
将来的な統合を見据えたクラウドネイティブ設計
TiDBはクラウドネイティブのデータベースであるため、シンプルで簡単にエコシステムと統合することができます。これにより、今後の展開や様々なパートナーとの協業に活路が開かれるでしょう。
未来への展望
TiDB Cloudを利用することで、KNN3 Network社はストレージアーキテクチャを簡素化し、ストレージコストを削減し、サービスパフォーマンスを最適化することができました。今後、KNN3 Network社はTiDB Cloudへの移行をさらに進め、残りのストレージコンポーネントをTiDB Cloudに置き換える予定です。
この記事は、Virtual HTAP SummitでのKNN3 Networks社の共同創業者であるThomas Yu氏の講演をもとに作成しています。