分析MPPデータベースの概要

分析超並列処理(MPP)データベースは、大規模なデータセットの集約・処理を行う分析ワークロード向けに最適化されたデータベースです。MPPのデータベースはその多くが列指向であるため、テーブルの各行のデータをオブジェクトとして保存(トランザクショナルデータベースの機能)するのではなく、通常は各列のデータをオブジェクトとして保存します。このアーキテクチャにより複雑な分析クエリの処理をより速く、効率的に実行することができます。

この分析データベースは、その名前が示す通り、データセットを多くのマシン(ノード)に分散して大容量データを並列処理します。これらのノードはいずれもそれぞれにストレージとコンピューティングの機能を持っているため、クエリの一部を各ノードで実行できます。

この10年で分析MPPデータベースは急速に普及し、そのコストも低下しています。こうした変化は、データドリブンな組織に対して、かつてないほど大規模なデータセットを運用・分析できる大きなチャンスをもたらしました。このデータベースは、拡大する分析ツールキットをさらに補強するものとして優れた役割を果たしますが、一方でそのアーキテクチャはより複雑になります。

データウェアハウスの真のメリット

通常時の分析ワークロード

MPPデータベースは、ほとんどの一般的な分析ワークロードに対して素晴らしい性能を発揮します。一般的に分析ワークロードは、広範囲の行を集約したカラムのサブセットに対するクエリが特徴です。これは、クエリを完了するために必要な項目のみにアクセスを許可する列指向アーキテクチャによるもので、行の全項目にアクセスしなければならないトランザクショナルデータベースとは対照的です。

このほかにも、列指向アーキテクチャは分析ワークロードに関して役立つ機能を提供します。その機能はデータベースによって異なりますが、主に同様のデータ値の圧縮、大規模なテーブルの効率的なインデックス付け、さまざまな非正規化テーブルの処理などが挙げられます。

データの一元化

組織で分析MPPデータベースを使用する場合、通常はデータウェアハウスとして、または一元管理レポジトリとして用いられ、セールス関連のトランザクションデータやウェブサイトの追跡データ、マーケティングデータ、カスタマーサービスデータ、在庫/ロジスティクスデータ、人事/採用データ、システムログなど組織内で生成されたすべてのデータを保管します。また、分析MPPデータベースは大量のデータを処理できるため、データを保存するだけでなく、さまざまなビジネス部門からの分析ワークロードをサポートするためにも使用されます。

スムーズな拡張が可能

分析MPPデータベースは、システムにサーバーを追加するだけで、段階的に処理能力やストレージを拡張することができます。これとは反対に、処理能力やストレージを垂直方向に拡張するアプローチでは、より大規模で強力なサーバーへのアップグレードを個別に行う必要がある上、拡張が制限されがちです。分析MPPデータベースは素早く簡単に、そして効率的にスケールアウトすることが可能で、クエリのサイズに応じてシステムのスケールアップまたはスケールダウンを行う、オンデマンドデータベースベンダーによる自動プロセスを利用することができます。

データウェアハウスソリューション

セルフマネージドMPPデータベース

オンデマンドMPPデータベース

分析MPPアーキテクチャ

超並列処理では、データベースに読み込んだテーブルをクラスタの各ノードに分散します。そしてクエリを発行すると、すべてのノードが同時にそのデータを処理します。

分散アーキテクチャ

分析MPPデータベースは、多くの個別サーバーまたはノードでクエリを並列実行する設計になっています。このため、クラスタにノードを追加すれば、ワークロードをより多くのサーバーに分散して処理時間を短縮することができます。

分析MPPデータベースは特定の側面でスケールアップできる場合がありますが、その最大の強みは、システムにノードを追加することで比較的容易にデータベースシステムを水平に拡張できる点です。

超並列処理(MPP)

データのストレージとクエリの処理を統合し、ノード間でデータを移動するためのアプローチはシステムごとに異なりますが、どんなMPPシステムでも、そのスピードが低下することはありません。なぜなら、「リーダー」がまずクエリプランを作成し、クエリ実行という実際の作業を多くのノードに分散させることができるからです。

導入形態:ホスト型とオンプレミスの比較

分析MPPデータベース自体は数十年前から存在しています。かつては管理が複雑でコストもかかりましたが、ここ10年ほどで大幅に改善されました。また、長らく自己ホスト型が唯一のオプションでしたが、つい最近クラウドへの移行が完了しました。

一部の分析データウェアハウスは、ホスト型アーキテクチャでのみ提供されます。たとえば、Amazon Redshift、Snowflake、Google BigQueryはクラウドでのみ利用できます。一方、Teradataなど他のシステムは、オンプレミスや機器のパッケージ(ソフトウェアとハードウェアのバンドル)、あるいはクラウド内のホスト型モデルでも導入が可能です。

HPE Verticaは分析MPPデータベースの中で唯一、商用ハードウェア上に独自の分析データベースを構築できるソフトウェアを提供しています。より大規模な導入には、特殊なユースケースにもより柔軟なカスタマイズで対応できるこのタイプのソリューションが適しています。

分析MPPデータベースの制約

複雑さ

分散型MPPデータベースに関する主な制約は、トランザクショナルデータベースとは異なるプランニングやセットアップが必要になる点です。ソースからデータウェアハウスへデータを移動させるETL(Extract-Transform-Load)処理を最初にセットアップするのは、大変な作業です(ただし、現在は多くのベンダーがこのプロセスを簡略化するサービスを提供しています)。

拡張性

また、複数のデータソースを使用している場合、特にこれらのデータソースから抽出するデータの量を完全にコントロールすることができないときは、クラスタ内で必要となるリソースのプランニングが難しくなります。クラウドホスト型MPPデータベース技術の多くは自動スケーリングに対応していますが、そうでないものもあります。

バッチローディング/レイテンシ

一般に分析MPPデータべースはバッチロード向けに最適化されているため、その構造上、より「リアルタイム」に近いデータを求めれば求めるほど、より高度なデータエンジニアリングが必要となります。クラスタ全体に分散された読み込みデータに最適な形でデータストレージを調整するのは、非常に手間のかかる作業です。分散型MPPデータベースの中には、この問題に対応するために、ハイブリッドストレージや追加のサービスを提供しているものもあります。多くの組織は、データセットのスライスにリアルタイムでアクセスするためだけに、トランザクショナルデータベースの複製を維持しています。

分析MPPデータベースの最適化

分析MPPデータベースのパフォーマンスチューニングをする際の注意事項は、オンデマンドのMPPデータベースソリューションまたはマネージドMPPデータベースソリューションのどちらを使っているかによって大きく異なります。

ここで重要なのは、同程度のコストで比較した場合、MPPデータベースソリューションは概して、トランザクショナルデータベースよりもはるかに多くのデータを処理できるという点です。このため、最適化やチューニングを気にすることもないかもしれません。

パフォーマンスのチューニングが必要になった場合は、ユーザー側の作業が多い自己ホスト型ソリューションよりも、マネージドMPPソリューションの方がより細かく調整できるでしょう。

アナリティクスを快適に

ビジネスインテリジェンス、ビッグデータ分析、顧客の360°ビュー。
Lookerはお客様のどんなニーズにもお応えします。当社のデータエキスパートにご相談ください。

デモをリクエスト