「意識的な切り離し:ストレージ、コンピュート、および現代のデータスタックにおいて、どこまでが適切なのか?」

Conscious separation How far is appropriate in storage, compute, and modern data stacks?

正解はないかもしれませんが、多くの組織のデータプラットフォームにはおそらく最適なポイントが存在します。それを見つけるために、読み進めてみてください。

写真:Kelly Sikkema氏によるUnsplash

データエンジニアは、2014年にグウィネス・パルトロウとクリス・マーティンが意識的に別れることの利点を発見しました。

もちろん、エンジニアたちは人生のパートナーではなく、Snowflake(2012年)、Databricks(2013年)、BigQuery(2010年)などの新興技術を用いて、ストレージとコンピュートを楽しく切り離すことを始めていました。

これは、オンプレミスのデータベースに比べて、コストとスケールの観点から驚くべき利点がありました。あるフォーチュン500社のデータエンジニアリングマネージャーは、オンプレミスの制約の苦しみを次のように表現しました:

「分析担当者が望むクエリを望むタイミングで実行できませんでした。データウェアハウスはデータの変換とローディングのために毎日12時間オフラインになっていました…このプロセスを説明するために私が使える唯一の言葉は、苦痛です。」

10年後、データ管理業界では、異なるデータプラットフォームがストレージとコンピュートのカップリングまたは切り離しに関してどのように展開されるか、そしてそれらのプラットフォームが関連するデータサービス(データの取り込みや変換からデータガバナンスや監視まで)をどのようにまとめたり分割したりしているか、という問題に関する革新が盛んに行われています(次のセクションで例を紹介します)。

それは、これらのサービスをパワーと統合する結びつきの材料が、テーブル形式(ストレージ)のメタデータやクエリ/ジョブログ(コンピュート)に頻繁に見られるからです。データプラットフォーム内でこれらの側面をどのように管理するかは、パフォーマンス、コスト、使いやすさ、パートナーエコシステム、将来の持続性に対して大きな影響を与えます。

どの種類のデータプラットフォームとどの程度の切り離しが正しいかを尋ねることは、SQLコードの正しい形式を尋ねることと同じです:個人の好みと専門的な要件に大きく依存するでしょうが、満足できる可能性のある範囲はごく一部です。

私は現在の時点で、データプラットフォームの範囲がアリストテレスの中庸に従うと信じています。多くの場合、中間のオプションが最も適していますが、極端な状況では非常に特殊なユースケースの一部の人に向けられます。

それでは、現在の状況と最近の進化について詳しく見てから、なぜそうなるのかをより詳しく見てみましょう。

ストレージ&コンピュートデータプラットフォームのスペクトラム

画像:著者提供

「クラウドは高価だからサーバーラックに戻ろう」という動きは、一部の人々の間で話題になりました。それは一部の人々にとって正当な戦略かもしれませんが、急速に減少している少数派です。

たった先週、Pragmatic Engineerは、Twitterのレート制限と重要なユーザーエクスペリエンスの問題にスポットを当てました。これは、彼らがGCPからの機械学習モデルの移行を行い、3つのデータセンターに完全に依存していたために起こったものです。

ストレージとコンピュートを独立してスケーリングし、消費する能力は、コスト効率が高くパフォーマンスが良いですが、同じデータプラットフォーム内でこれらの別々の機能を持つことにも利点があります。

最適化されていない平均的なSQLクエリは、通常、そのまま使いやすく調整されたプラットフォームでより高速に実行されます。プラットフォームレベルでストレージとコンピュートを切り離したアーキテクチャは、重いワークロードを実行する際に非常に費用効果が高いですが、それには高度に訓練されたスタッフがワークロードを最適化するために時間を費やす必要があります。

ストレージとコンピュートを組み合わせたが切り離したデータプラットフォームは、いくつかの重要なデータオプスタスクに対してより堅牢な統合ユーザーエクスペリエンスを提供します。たとえば、データガバナンスです。これらのプラットフォームはアクセス制御を行うための集中管理機構を提供しますが、切り離されたアーキテクチャでは、複数のクエリエンジン間で役割を連携させる必要があります。これは簡単なタスクではありません。

デカップリングされたが統合されたアプローチは、Snowflakeの最も一般的なレビューの1つである「すべてがうまく機能する」という魔法を作り出しました。最近、SnowflakeはトランザクションワークロードのためにUnistoreを強化し、Pythonおよびその他のデータサイエンス(計算)ワークロードをサポートするためにSnowparkを開放しました。

Databricksは、Spark処理フレームワークに焦点を当てることで驚異的な成長を遂げましたが、メタデータとACIDライクなトランザクションをDeltaテーブル内に追加し、Unityカタログ内のガバナンス機能も追加した後に新たな成長のレベルを開放したのは偶然ではありません。彼らは最近も追い打ちをかけ、Delta、Apache、およびHudiで読み取り可能な形式でDeltaテーブル(ストレージ)内のメタデータを書き込むようにしました。

挑戦者プラットフォーム

これが、最新の新興データエンジニアリング技術の多くがベンダーレベルでストレージとコンピュートを分離し始めているのを見ることが興味深い理由です。たとえば、Tabularは「コンピュートを除くデータウェアハウスのすべてが備わっている」と説明しています。

さらに進んで、一部の組織は、バックエンドインフラの「自己管理」とTrinoなどの別個のクエリエンジンを使用して、データレイク内のApache Icebergテーブルに移行しています。これは、高性能で費用効果の高い対話型クエリが必要な顧客向けユースケースに最も一般的に使用されます。

DuckDBはストレージとコンピュートを組み合わせていますが、モダンデータスタックの無限のコンピュートを犠牲にして、開発者のシンプルさとコスト削減を優先しています。

したがって、疑問は残ります。これらのイノベーションは、既存のクラウドネイティブデータプラットフォームを置き換える可能性があるのでしょうか?

再び、その答えは、あなたが誰であるかに依存します。DuckDBは非常に人気のあるツールであり、多くのデータアナリストが気に入っていますが、おそらくデータプラットフォームを構築する基盤ではないでしょう。最終的に、私たちはこのような分布を見ており、そして私はこれが続くと信じています。

Image courtesy of the author.

私は、いくつかの主要な次元に沿って、モダンデータスタックとデータプラットフォームのタイプを見ながら、なぜそうなるのかを説明します。

統合の程度と目的

B2Bのベンダーは「シングルペインオブグラス」という言葉を尊敬して頻繁に参照します。単一の傘の下に複数のサービスを持つことには価値がありますか?それは各サービスの品質とあなたのニーズにどのように対応するかに依存します。

シングルペインオブグラスの価値は、通常は分かれた情報を単一のストーリーに統合すること、または分離されたアクションを単一のワークフローに統合することから生じます。このコンセプトの例として、Microsoft 365を使用しましょう。

彼らのTeamsコラボレーションアプリケーション内にビデオとメールが統合されていることは価値があります。なぜなら、それらは会議のスケジュールとビデオ会議プロセスの中心的な要素だからです。Swayが彼らのアプリスイート内にあることが同じくらい価値があるでしょうか?再び、それは対話型レポートの要件に戻ります。

データユニバースに戻って、ストレージとコンピュートはその単一のストーリー(データオプスの誰、何、いつ、どこ、なぜ、どのように)およびコスト、品質、アクセス管理などのキーワークフローに不可欠です。そのため、これらのプラットフォームは最も堅牢なパートナーエコシステムとシームレスな統合を持つでしょう。これは、iPhoneやAndroidではなく、WindowsやFire Phoneを使用していたタイプの人でない限り、おそらくあなたにとって重要な基準になるでしょう。

ChoozleのCEOであるAdam Woodsは、昨年、彼のデータプラットフォームを取り巻く堅牢で緊密に統合されたパートナーエコシステムの重要性について私たちのチームに語りました。

「私のデータスタックが常に最新で、パッチを適用する必要がないことが大好きです。開発者やデータベースアナリストがアップデートとインフラストラクチャの心配をするために費やす時間を、優れた顧客体験を構築するために再投資することができます」と彼は言いました。

もちろん、常に例外はあります。大規模なスケールでエッジケースがある場合は、真のデータレイク、ヘッドレスデータウェアハウス、またはその他のより複雑なプラットフォームが理想的かもしれません。

セマンティックレイヤー、データ品質、アクセス制御、カタログ、BI、変換、インジェスション、およびその他のツールをすべて同じプラットフォームにまとめるべきでしょうか?このスペクトル全体にわたって有効な視点があると思いますが、他のすべての部門と同様に、ほとんどのデータチームは、自分たちの要件に最も適したツールのコレクションを持っているでしょう。

まとめ:

  • ほとんどのデータリーダーは、コンピュートとストレージの両方のサービスを持つデータプラットフォームを優先して使用し、”シングルストーリー”を実現し、多様なパートナーエコシステムをサポートすることを望むでしょう。

パフォーマンス vs 使いやすさ

一般的に言えば、カスタマイズ可能なプラットフォームほど、さまざまなユースケースで優れたパフォーマンスを発揮できる一方で、使いやすさは低下します。これは避けられないトレードオフであり、ストレージとコンピュートサービスをベンダー間で分離する際に行われているものです。

データプラットフォームの「使いやすさ」について考える際には、プラットフォームの日常的な使用だけでなく、管理やカスタマイズの簡単さも考慮すると役立ちます。

私の経験では、多くのチームがプラットフォームのパフォーマンスに過剰にフィットさせています。私たちの技術的なバックグラウンドは、それらのプラットフォームを車のように比較し始めます。「このワークロードの馬力は何ですか? あのワークロードはどうですか?」

誤解しないでください、最適化されたデータプラットフォームは年間数百万ドルの節約につながることがあります。それは重要です。ただし、S3の設定を管理するために追加のエンジニアを雇う必要がある場合や、ビジネスの新しい側面をデータプラットフォームに組み込むために毎四半期マルチ月間プロジェクトを立ち上げる必要がある場合、それには高いコストがかかります。

同じ意思決定のパラダイムは、オープンソースのソリューションでも展開されます。初期コストは無視できるほど小さいですが、インフラストラクチャの保守にかかる時間コストはかなり大きいです。

ソリューションのコストとエンジニアの給与コストは同じではなく、この偽の同等性は将来的に問題を引き起こす可能性があります。その理由は2つあります:

  • 使用状況が静的なままであると仮定すると(重要な注意点ですが)、ソリューションのコストは一般的に同じままで効率が向上します。それはSaaSベンダーが常に新機能を提供しているためです。一方、より手動の実装の効率は時間とともに低下します。主要な担当者が退職し、新しいチームメンバーがオンボードされる必要があるためです。
  • インフラストラクチャの保守にほとんどの時間を費やしていると、データチームは重要な点を見失ってしまいます。目標は徐々にビジネス価値の最大化からインフラストラクチャの最高のパフォーマンスを維持することに変わります。インフラに関するミーティングが増えます。ニッチなインフラストラクチャのスキルが組織内で重要な役割を果たし、これらの専門家がより目立つ存在になります。組織の文化は重要であり、チームが解決している主要なタスクと問題によってしばしば形成されます。

この2番目のポイントは、Swimplyのデータ責任者であるマイケル・シェルドン氏にとって特に重要でした。

「データチームとして企業全体をサポートするという使命を持っていたため、2つの中心的な問題を解決するためのデータスタックが必要でした」とマイケルは述べています。「1つは、会社のさまざまな部分からのすべてのデータを一つの安定した場所に集約し、真理の源として誰もが利用できるようにすること。そして2つは、洞察に焦点を当てるだけでなく、データインフラ自体にも十分な時間を割くことができるようにすることです」。

インフラストラクチャについて話しているのか、ビジネス価値について話しているのか? Desola Lanre-Ologun氏による写真、Unsplashより引用

もちろん、ビジネスのユースケースによってはプレミアムなパフォーマンスが必要な場合もあります。

高レイテンシのクレジットカード詐欺データ製品は時間の無駄です。ユーザーに死のぐるぐるを提供する顧客向けアプリは受け入れられません。おそらく、高パフォーマンスなクエリエンジンを展開する必要があります。ただし、ほとんどの場合、データウェアハウスや管理されたデータレイクハウスは十分にスケーリングされます。それ以外の要件を再確認してください。

まとめ:

  • 使いやすさとパフォーマンスは相互に関連する変数であり、バランスを取る必要がありますが、多くのデータリーダーは相対的に見えにくいメンテナンスおよび文化のコストのために、使いやすさに対してバイアスを持ちたいと思うでしょう。競争優位性は、複雑なインフラの維持よりも、第一手のデータの充実と適用により頻繁に見つけることができます。

MDSの擁護

モダンデータスタックを批判することは流行っています(そしてそれを使わずに仕事を完了させる必要がないかもしれません)、しかし、そのすべての欠点にもかかわらず、多くのデータチームにとっては最良の選択肢になるでしょう。それは、クイックな価値の生成と長期的な投資の将来性を理想的に組み合わせたものです。

新興技術の多くは非常に価値がありますが、より狭い用途に向けられています。これらの技術がどのように進化し、データエンジニアリングの実践を形作るのかを見るのは興味深いでしょう。

ただし、コンピュートとストレージは別々に動作しスケーリングする必要がありますが、それらのサービスと対応するメタデータを同じプラットフォーム内に持つことは、無視できないほど強力で多くの利点があります。

VoAGIで私に従って、データリーダーシップ、データサイエンスの応用、関連するトピックについてのさらなるストーリーをご覧ください。メールボックスにストーリーを配信するために購読してください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more