データ分析の動的な状況では、分析プラットフォームの選択がビジネスの収益に大きな影響を与える可能性があります。この教育記事では、Snowflake、BigQuery、ClickHouse という 3 つの有力な分析候補を探求します。私たちはそのコスト モデルを詳しく掘り下げ、コスト効率の高い分析技術を習得するのに役立つ貴重な戦略を明らかにします。これは、データ ゲームを変革できる洞察を探求する旅です。
データ分析において費用対効果の高い意思決定を行うには、分析データベース管理システム (DBMS) の背後にあるコスト モデルを理解することが重要です。一般的な出発点は、クラウドベースのビジネスのコスト構造を調査することです。
そこで、まず、クラウドベースの分析データベースと、クラウドで実行する際のコストの処理方法について説明します。これを想像してみてください。これは 2013 年以前のことであり、データ ウェアハウスのセットアップには、複数のベンダー、ハードウェアのボトルネック、構成に対処する必要があり、最大で数か月かかることがありました。その後2013 年に Amazon Redshift が登場し、クレジット カードだけで 20 分以内にデータ ウェアハウスを開始できるようになりました。これはかなりの進歩です。これにより、 BigQuery 、 Snowflake 、Snowflake を運用するクラウド サービスなど、他のクラウドベースのデータ ウェアハウスへの道が開かれました。
ほとんどの開発者は、クラウドの請求書を受け取り始めるとすぐに、コスト効率の重要性について学びます。たとえば、BigQuery で長時間実行されるクエリを実行すると、最終的に数百ドル、場合によっては数千ドルの費用がかかる可能性があります。次のツイート/X 投稿から引用してください。これは孤立した出来事ではありません。
最近、このトピックについてさらに詳しく説明するウェビナーを開催しました。ロバート ホッジス (Altinity Inc. CEO) が各オプションの詳細なコスト分析に踏み込み、最後に代替の DIY ソリューションを示します。この記事を読み終わったら、 ウェビナーの録画をオンデマンドで自由に視聴してください。
それでは、これらのデータベースがどのように機能するのか、そしてさらに重要なことに、サービスの価格設定がどのように行われるのかを詳しく見てみましょう。
Snowflake から始めますが、そのアーキテクチャに入る前に、ビジネスの話をします。 Snowflake は上場企業であるため、その財務状況を調査する機会が与えられます。最近のレポートでは、彼らは総収益でなんと 20 億ドルを稼ぎ出しました。興味深いのは、サービスの提供にかかるコストで、およそ 7 億 1,700 万ドルです。このコストは販売商品原価とも呼ばれ、Snowflake がショーを運営するために必要なコストです。
Snowflake のクラウド サービスの実行コストを理解することは、隠された宝探しのようなものです。数字を計算してみると、それは総収入のおよそ 3 分の 1、もしかしたらもう少し多いかもしれません。つまり、わかりやすく言うと、そのコストがすべてクラウド費用に直接費やされ、他には何も使われない場合、請求時におよそ 3 倍の値上げが行われることになります。
しかし、もちろん、それほど単純ではありません。 Snowflake のような強力な企業を運営する実際のコストは、仮想マシンの実行や Amazon S3 へのデータの保管だけではありません。さて、もう一度計算してみると、コストはどれくらい上がるのでしょうか? 5倍くらいですね。
これは、お尻のポケットに入れて持ち歩くのに最適なベンチマークです。値上がり率が 5 倍を超えるものがある場合、それは Snowflake の価格設定の世界で大きく存在していることになります。逆に、5 倍未満の場合は、より予算に優しいオプションを検討していることになります。それは、コストパズルを解読するための秘密のデコーダーリングを持っているようなものです。
コスト効率の高い分析をマスターするために、Snowflake、BigQuery、ClickHouse のコスト モデルを詳しく分析してみましょう。
それでは、Snowflake のコストを分析してみましょう。データは S3 オブジェクト ストレージに存在する「仮想データ ウェアハウス」モデルを使用します。 SQL クエリを実行すると、クレジットを利用した仮想データ ウェアハウス、つまりストレージからデータを取得するホスト型の処理ユニットが作成されます。これらの仮想マシンの料金は、価格に記載されているように、1 時間あたり約 2 ~ 4 ドルの範囲です。心に留めておいてください。これは最も倹約的な選択ではありません。
この興味深いひねりがなければ、Snowflake のコスト分析はこれで終わりになります。Snowflake の最近のバグにより、仮想データ ウェアハウスのクレジットが c5d2x ラージ インスタンスに変換されることが多く、1 時間あたり約 38 セントのコストがかかることが明らかになりました。注目すべきことに、Snowflake はオブジェクト ストレージを大幅に値上げしておらず、価格は Amazon の S3 のコストと同様、テラバイトあたり月額 23 ~ 40 ドルです。代わりに、実際のマークアップはコンピューティングで発生し、ストレージよりも 5 ~ 10 倍高価になる可能性があります。
クラウド データベース分析のもう 1 つの有力なツールである BigQuery について詳しく見てみましょう。 BigQuery は、「サーバーレス」または「オンデマンド」と呼ばれる独自の料金モデルを提供します。この設定では、ほとんどのクラウド サービスで使用される一般的なオブジェクト ストレージではなく、独自の分散ストレージ システムにデータを保存します。ただし、少なくとも非圧縮データの場合、価格はオブジェクト ストレージの料金と同様に非常に競争力があります。ストレージの料金は月額 1 GB あたり 0.016 ~ 0.023 ドルからで、より予算に優しい価格になりました。
ここに問題があります。クエリを実行すると、BigQuery は必要に応じてコンピューティング リソースを動的に割り当てます。クエリ処理中にスキャンされたデータ 1 テラバイトごとに 6.25 ドルが課金されます。この料金体系は、分散ストレージからの大量のデータのスキャンが含まれる場合、一見無害に見えるクエリでもコストがかさんでしまう可能性があることを意味します。
さて、BigQuery のコストと標準のクラウド リソースを比較するのは簡単ではありません。実際の費用は、クエリの実行頻度やデータの保存方法など、さまざまな要因によって異なります。たとえば、クエリを散発的に実行する場合、BigQuery の方が費用対効果が高い可能性があります。ただし、クエリを年中無休で実行している場合は、コストが高くなる可能性があります。したがって、ワークロードを理解し、実際のコストを慎重に評価することが重要です。
これまで説明してきたモデルは通常、データ処理のためにオブジェクト ストレージ、またはそれによく似たものに依存しています。ただし、別のクラウド データベース運用アプローチがあり、これは 10 年前にRedshiftによって最初に導入されたものです。これを「Buy-the-Box」モデルと呼びましょう。
これが契約です。SSD ブロック ストレージが接続された dc28x ラージなどの仮想マシン (VM ) をレンタルします。たとえば、Amazon us-west-2 では、この VM の料金は 1 時間あたり約 4.80 セントになります。では実際にかかる費用を見ていきましょう。この VM は、ローカル SSD ストレージを備えた古い Amazon インスタンス タイプである i38x ラージ インスタンスに対応している可能性があります。このタイプのインスタンスの料金は 1 時間あたり約 2.50 ドルで、ほぼ同じ量の RAM を提供します。
マークアップの観点から見ると、Redshift は同様の VM を自分でセットアップする場合よりも 92% 高価ですが、提供するストレージは 66% 少なくなります。興味深いことに、Redshift のマークアップは、コンピューティング リソースに対してより多くの料金を請求する傾向がある Snowflake などの他のサービスと比較して比較的低いです。
以前のモデルのコスト効率を向上させるために、まず ClickHouse についてご紹介します。これは、無料で有名なオープンソースのリアルタイム分析データベースです。 ClickHouse のアーキテクチャは、特に複製されたテーブルを使用したシームレスなデータ複製が可能な相互接続されたサーバーを中心に展開しています。このシステムは、データが圧縮配列に存在する効率的な列指向ストレージを採用しており、ストレージ コストを削減するだけでなく、クエリのパフォーマンスも向上します。
当初、ClickHouse はブロック ストレージに限定されていましたが、S3 互換のオブジェクト ストレージをサポートするように進化し、汎用性が高く、S3 API を備えたオブジェクト ストレージ ソリューションと統合できるようになりました。レプリケーション コンセンサスを効率的に管理するために、ClickHouse は ClickHouseKeeper または ZooKeeper のいずれかに依存します。
クリックハウスについて詳しく読む
ここで、これをクラウド サービス パラダイムとして想像してみましょう。これを「最新の Buy-the-Box」と呼んでいます。下の画像の左側は従来の Redshift アーキテクチャであり、右側はイノベーションを取り入れています。古い i3 インスタンスをより高速な Intel ベースの m6is に置き換え、大幅な速度向上を実現します。革新的なのは、EBS (Elastic Block Storage) gp3 ストレージの使用であり、帯域幅とスループットの制御が可能になります。これを Redshift に似た効率的な VM と組み合わせると、1 時間あたりおよそ 2.64 セントのコストがかかります。
本当の魔法は、ストレージとコンピューティングを分離することで起こります。この柔軟なアプローチにより、同じストレージを維持しながら CPU と VM のタイプを簡単に調整できるため、コストをスケールアップまたはスケールダウンできます。 Altinity.Cloud で ClickHouse アプリケーションを管理した経験は、この効率性を反映しています。
以下のグラフでは、オールイン オンデマンドのコストが表示されます。
要約すると、クラウドでホストされる 3 つの分析データベース モデルとそのコストへの影響について調べてきました。比較では、これらのモデルがどのように比較されるかを明確にするために、財布サイズの表を作成しました。
「Buy-the-Box」アプローチでは、コスト効率の高いコンピューティングが提供されますが、ブロック ストレージを使用するため、ストレージの価格が高くなります。一方、Snowflake と BigQuery は経済的なストレージを提供しますが、さまざまな点でコストがかかる可能性があります。 Snowflake はコンピューティングの観点から比較的高価になる傾向がありますが、BigQuery のオンデマンド クエリ モデルは大規模なデータ スキャンを処理すると高価になる可能性があります。各モデルには長所と短所があるため、特定の分析ニーズに合わせて調整することが不可欠です。 「Buy-the-Box」は、予測不可能なワークロードを伴う顧客向け分析に適していますが、仮想データ ウェアハウス モデルと BigQuery は特定のシナリオでは優れていますが、予期せぬ事態を避けるために慎重なコスト管理が必要です。この概要は、環境を効果的にナビゲートするのに役立ちます。
分析に関しては、コスト効率が最も重要です。 Snowflake、BigQuery、ClickHouse などの人気のあるプラットフォームのコスト モデルを理解することは、情報に基づいた意思決定を行うために不可欠です。各プラットフォームの長所と短所を評価し、コスト構造を考慮することで、組織は特定のニーズに合わせたコスト効率の高い分析ソリューションを構築できます。オープンソース ソリューションと教育リソースを活用することでコストをさらに最適化し、組織が予算を考慮しながら分析目標を確実に達成できるようにします。
この記事は、 Altinity.comウェビナーから派生したものです。