LoginSignup
3
0

watsonx.dataでのコンピュートとストレージの分離

Last updated at Posted at 2023-12-16

はじめに

コンピュートとストレージの分離とは、データの処理において、データを処理するクエリーエンジン(コンピュート)とデータを保存するストレージを、物理的あるいは論理的に分けるアーキテクチャのことです。
SnowflakeやBigQueryのような主要なクラウドデータウェアハウスサービスで採用されています。

従来のシステムでは、これらの機能が同じハードウェア上で一体化されていました。
コンピュートとストレージを分離することで、それぞれのリソースをより柔軟に利用することができるようになります。
具体的には、データ処理の要求に応じて異なるクエリーエンジンを選択できるようになります。
そのため、例えば処理速度が重要なタスクでは高性能なクエリーエンジンを使用し、速度がそれほど重要でないタスクでは低スペックなクエリーエンジンを選択することで、効率とコストのバランスを最適化できます。

IBMのデータレイクハウスソリューションである「watsonx.data」でも、このアーキテクチャを採用しています。
本記事ではwatsonx.dataでの挙動をご紹介します。

watsonx.dataでのコンピュートとストレージの分離

watsonx.dataのアーキテクチャは、下図のように3つの主要な層で構成されています。

  1. データに対する処理を実行するエンジン
  2. データの定義(メタデータ)を保持するカタログ
  3. データの実体を保存するバケット(ストレージ)

image.png

カタログの中にはサンプルデータとして、下図のようにmyschemaスキーマと、3つの列で構成されたaddressesテーブルがあります。
image.png

なお、データの実体はバケット(今回はIBM Cloud Object Storage)の中にparquetファイルとして保存されています。
image.png

エンジン"presto1"を削除してみます。
image.png

新しいエンジン"presto2"を追加します。
エンジンとカタログ間の接続を示す線を繋げていないことにご注目ください。
image.png

カタログへの接続を行っていないため、データ・マネージャー画面ではまだカタログのデータを参照することができず、空になっています。
image.png

エンジン"presto2"をカタログに接続します。
image.png

エンジン"presto1"を接続していたときと同様に、エンジン"presto2"でもカタログ内のデータを見ることができるようになりました。
image.png

まとめ

このように、watsonx.dataでもコンピュートとストレージの分離により、同じデータに対してエンジンを切り替えることが可能であり、エンジンの柔軟な選択や、処理速度とコストの最適化が実現されます。
さらにwatsonx.data固有の特徴として、PrestoやSparkといった異なる種類のエンジンをサポートすることで、目的に応じたエンジンの使い分けをより柔軟に行うことができるようになります。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0