📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Cloud Lake vs. Snowflake: データ取り込みベンチマーク



概要

TiDB Cloud Lake と Snowflake を評価するために、次の 4 つのベンチマークを実施しました。

  1. TPC-H SF100 データセットのロード: 大規模データセット(100GB、約 6 億行)のロード性能とコストに焦点を当てます。
  2. ClickBench Hits データセットのロード: ワイドテーブルのデータセット(76GB、約 1 億行、105 カラム)のロード効率をテストし、多数のカラムに伴う課題を重視します。
  3. 1 秒の鮮度: 1 秒という厳しい鮮度要件内でデータを取り込むプラットフォームの能力を測定します。
  4. 5 秒の鮮度: 5 秒の鮮度制約下での各プラットフォームのデータ取り込み能力を比較します。

プラットフォーム

  • Snowflake: スケーラブルなコンピュートとデータ共有を重視した、広く知られたクラウドデータプラットフォームです。
  • TiDB Cloud Lake: スケーラビリティとコスト効率に重点を置いたクラウドネイティブのデータウェアハウスです。

ベンチマーク条件

同じ S3 バケットのデータを使用し、Small-Size Warehouse で実施しました。

性能とコストの比較

  • TPC-H SF100 データ: TiDB Cloud Lake は Snowflake と比べて 48% のコスト削減を実現します。
  • ClickBench Hits データ: TiDB Cloud Lake は 84% のコスト削減を達成します。
  • 1 秒の鮮度: TiDB Cloud Lake は Snowflake より 400 倍多くのデータをロードします。
  • 5 秒の鮮度: TiDB Cloud Lake は 27 倍超のデータをロードします。

データ取り込みベンチマーク

Data loading benchmark

TPC-H SF100 データセット

指標SnowflakeTiDB Cloud Lake説明
合計時間695s446sデータセットのロードにかかる時間。
合計コスト$0.77$0.40データロードのコスト。
  • データ量: 100GB
  • 行数: 約 6 億

ClickBench Hits データセット

指標SnowflakeTiDB Cloud Lake説明
合計時間51m 17s9m 58sデータセットのロードにかかる時間。
合計コスト$3.42$0.53データロードのコスト。
  • データ量: 76GB
  • 行数: 約 1 億
  • テーブル幅: 105 カラム

鮮度ベンチマーク

Freshness benchmark

1 秒鮮度ベンチマーク

1 秒の鮮度要件内で取り込まれるデータ量を評価します。

指標SnowflakeTiDB Cloud Lake説明
合計時間1s1sロード時間枠。
合計行数100 Rows40,000 Rows1 秒以内に正常に取り込まれたデータ量。

5 秒鮮度ベンチマーク

5 秒の鮮度要件内で取り込めるデータ量を評価します。

指標SnowflakeTiDB Cloud Lake説明
合計時間5s5sロード時間枠。
合計行数90,000 Rows2,500,000 Rows5 秒以内に正常に取り込まれたデータ量。

ベンチマークの再現

以下の手順に従って、このベンチマークを再現できます。

ベンチマーク環境

このベンチマークでは、Snowflake と TiDB Cloud Lake の両方を同様の条件でテストしています。

パラメータSnowflakeTiDB Cloud Lake
Warehouse サイズSmallSmall
価格$4/hour$3.2/hour
AWS Regionus-east-2us-east-2
ストレージAWS S3AWS S3
  • TPC-H SF100 データセットは、Amazon Redshift をソースとしています。
  • ClickBench データセットは、ClickBench をソースとしています。

前提条件

データ取り込みベンチマーク

データ取り込みベンチマークは、次の手順で再現できます。

TPC-H データロード
  1. Snowflake のデータロード:

  2. TiDB Cloud Lake のデータロード:

ClickBench Hits データロード
  1. Snowflake のデータロード:

  2. TiDB Cloud Lake のデータロード:

鮮度ベンチマーク

鮮度ベンチマークのデータ生成とデータ取り込みは、次の手順で再現できます。

  1. TiDB Cloud Lake で 外部 stage を作成します。

    CREATE STAGE hits_unload_stage URL = 's3://unload/files/' CONNECTION = ( ACCESS_KEY_ID = '<your-access-key-id>', SECRET_ACCESS_KEY = '<your-secret-access-key>' );
  2. データを外部 stage にアンロード (unload) します。

    CREATE or REPLACE FILE FORMAT tsv_unload_format_gzip TYPE = TSV, COMPRESSION = gzip; COPY INTO @hits_unload_stage FROM ( SELECT * FROM hits limit <the-rows-you-want> ) FILE_FORMAT = (FORMAT_NAME = 'tsv_unload_format_gzip') DETAILED_OUTPUT = true;
  3. 外部 stage から hits テーブルにデータをロード (load) します。

    COPY INTO hits FROM @hits_unload_stage PATTERN = '.*[.]tsv.gz' FILE_FORMAT = (TYPE = TSV, COMPRESSION=auto);
  4. ダッシュボードで結果を測定します。

このページは役に立ちましたか?