Greenplum アプリケーションのモダナイゼーション

データの増大、そして始まる VMware Greenplum の快進撃!?

VMware Greenplum (以降 Greenplum とも表記) とよばれるデータウェアハウスプラットフォーム( DWH ) が今あらためて、日本国内のお客様から注目を集めています。生まれてからすでに 20 年以上が経とうとしているこの製品がなぜ注目されているか、このブログでは、大量データ、アナリティクス、エコシステム、そして AI/ML といったキーワードを中心に VMware Greenplum をご紹介していきます。

VMware Greenplum とは?

VMware Greenplum はもともとは、同名のスタートアップ企業から誕生したものであり、EMC、Pivotal と買収されながら、今は VMware の製品です。

以下の特徴をもっています。

  • DWH ソリューション
  • クラウドやオンプレミスなどの展開場所を選ばない
  • SQLのインタフェース
  • スケールアウト製品として大量のデータを保持が可能
  • 行指向型テーブルとともに、アナリティクスで優位な列指向型テーブルの両方をサポート
  • アナリティクス機能の提供
  • 構造および非構造データ両方のサポート

以下パデュー大学での活用事例です。短い動画ながらコロナ禍で発生した課題をどう Greenplum で乗り切ったかは参考になります。
https://www.youtube.com/watch?v=FGWKADfyCYc

 

さまざまな買収をつづけながら 20年以上生きている製品の Greenplum がなぜ 今、話題にされているのか背景を “10TB” という数字で解説します。

10TB は「多い」か?「少ない」か?

10TB という数字を聞いて、皆様はどう思いますでしょうか?10年前であれば、この数字はとんでもないデータ容量、つまり「多い」と思う方が大多数だったと思います。ところが、現代であれば印象は変わってきているかと思います。そこには二つの要因が出てきます。

第一の要因がハードウェア、特にストレージそのもののコストが劇的に安くなっている点です。それこそ一般家庭用のストレージ装置ですら 10TB が販売もされている時代です。10TB という数字自体も見る機会が増えており、文字が与えるコストのインパクトが少しづつ弱まっています。

そして、第二の要因が企業における「データ」の意識の変革です。ChatGPT などで急激に着目を浴びた Large Language Models (LLMs)、これの登場により、AI/ML ブームが沈静化するどころか加速することが予想されています。 AI/ML が企業の差別化を出す武器になっていく世の中において、データの単純な量が必要になっていきます。いままでは、廃棄していた履歴情報や個々のパソコンに配置された情報も企業にとってより「宝の山」として認識されることが予想されます。

こういった背景から、10TB は次第に「所詮10TB」、さらにその先、100TB 、ペタバイトといった単位も見据えていきます。このデータ量の増大とともに Greenplum が改めて見直されてきた背景があります。

その 10TB 以上のデータをどこに置くか?

いまあなたが大量のデータを蓄積する先としてどこが思いつきますでしょうか?それを蓄積する場所が非常に選択肢が限られていることにお気づきでしょうか?

まず一番シンプルに思いつくのが、企業内のファイルサーバーやクラウドのオブジェクトストレージなどの領域です。これら方法の優位性は、圧倒的な気軽さがあるという点です。データの配置方法になんらルールはありません。ユーザーは気軽にいかなるデータ(ここまでの表現だとファイルのほうがイメージしやすいでしょうが)を配置できています。そして、その上で最大データ容量の上限値も比較的に高く設定されており、すくなくとも10 TBぐらいであれば、気軽に保持できます。ところが、いわゆるファイルサーバーやオブジェクトストレージの難点は、データの抽出の方法です。蓄積されたデータを元に、分析をしたいと思っても手段が限られます。そもそもそれは、蓄えることのみを意識されており、分析のために設計されていないからです。なんらかの分析手段を自作しても、メンテナンスがしにくい状況が生まれてしまいます。検索能力もデータ増大とともにパフォーマンスや欲しい情報を的確にみつけられないなどの悩みも増えていきます。

次に思いつくのが、データベースです。データベースが得意とするのはなんといってもデータの抽出です。データベースの中でも圧倒的な人気を誇るのがリレーショナルデータベース(RDB)、そしてそのクエリ手段であるSQLです。(執筆時点で、Jetbrains社の主な開発言語のランキングでSQLがJavaなどを差し置いて4位に登場しています)SQLのクエリにより、データの検索や取得ができるだけでなく、アプリケーションとの連携やビジネスインテリジェンス (BI) ツールとの親和性も高く、可視化する様々な手段が提供されています。RDB の一つの考慮点が、スキーマとして構造化されたデータである必要がある点ですが、これも NoSQL のデータベースを利用してより気軽にデータ配置することも検討できます。さらには GraphQL などの新しいクエリ手段に挑戦するのもいいことでしょう。ところが、これらのデータベース、往々にして問題になるのが、10 TB以上のデータ量を扱う設計がされていない、特にデータ量の増大とともにパフォーマンスが極端に悪くなっていく点です。RDB に限って言えば、いまなお大多数がスケールアップ型でのリソース増強のみでパフォーマンス要件をみたすことが前提になっています。リソース増強にも限界はあり、どうしてもパフォーマンスが頭打ちをしているケースが散見されます。こういった背景からデータベースは企業のミッションクリティカルなデータ、もしくはWebアプリにつかうための一時データ、いずれも業務トランザクションにのみ使っているケースがほとんどでしょう。アナリティクスを目的にデータベースに蓄えているケースは今なおもすくないと思われます。端的にいえば、データベースにとって10 TB は「多い」数字なわけです。

上記の背景の中、改めて注目、もしくは過去に投資をしたものの見直されている分野があります。それがデータウェアハウス( DWH ) です。古参ベンダー、スタートアップ、SaaS などそれぞれのベンダーが、上記にあげた「大量データの保管」と「データの抽出」をいかにバランスよくできるかソリューションを出し合っています。ここに近年ならではの関心として「AI/ML との親和性」もはいってきており、ユーザーとしては、ソリューションの成熟度と天秤にかける必要がでてきます。

この流れの中、我々の VMware Greenplum が注目されています。「大量データの保管」でいえば、10TB どころか、次の単位であるペタバイト以上の保管ができます。「データの抽出」の観点では、人気の SQL が実行できます。そして「AI/ML との親和性」も、エコシステムにより最新の機能が利用できます。これらに加え、20年以上、エンタープライズでの高い実績を誇ります。

PostgreSQL の延長として使える VMware Greenplum の優位性

VMware Greenplum がなぜ「大量データの保管」「データの抽出」「AI/MLとの親和性」といったニーズを満たすことができ、この業界で優勢があるのか?  その答えは、 「 Greenplum PostgreSQL 」にあります。

どういうことか、Greenplumのアーキテクチャを掘り下げてみましょう。このアーキテクチャ図に登場する仮想マシン、すべてに PostgreSQL がインストールされたクラスタとして構成されます。(厳密にはカスタマイズされた PostgreSQL)

 

 

アプリケーションは通常マスターノードを介して実行されます。マスターノードはそこからクエリを分解して、セグメントホストに処理すべきデータベースの行を分散していきます。このアーキテクチャはスケールアウト RDB を実現する他のソリューションと一線を画しており、データ量とアナリティクス型のクエリのパフォーマンスをあげることに割り切った構成になっています。極端な例ですが例えば10個のセグメントホストがあれば、10 TB のクエリが10分割され、1 TB づつがセグメントノードで処理されます。20のセグメントホストであれば、0.5 TB づつに。通常の PostgreSQL のシングルノードで頭打ちになるパフォーマンスが、セグメントホスト数を増やせば増やすだけ、データ総量とパフォーマンスと維持することができます。なので、PostgreSQL の機能をそのままにスケールアウト構成をとることで、「大量データの保管」をクリアすることができています。

 

次にクエリ方法です。繰り返しですが、Greenplum は PostgreSQL です。アプリケーションは通常の PostgreSQL のドライバーでデータの抽出をすることができます。管理ツールとしても、 pgAdmin / DBeaver などの PostgreSQL で使われているツールがそのまま使えます。「SQLが使える」と称しながら、実は強い制約を設ける DWH 製品も多い中、Greenplum であれば「データの抽出」に慣れ親しんだ方法、数多くの選択肢を利用できるのが特徴です。

そして、最後に「AI/MLとの親和性」です。PostgreSQL が人気の要因の一つが強力なエコシステムであり、そこにさまざまなイノベーションがあるからです。例えば空間解析データベースのランキングで高い人気を誇る Postgisがありますが、これの実態は PostgreSQL の拡張であり、PostgreSQL で空間解析を可能にするためのものです。Greenplum でも Postgis をサポートしており、データ上限のない、また高い並列処理が求められる場合にパフォーマンスを発揮することができます。このほかにも PL/Python や Madlib などの Postgres をベースとしたアナリティクスの拡張を Greenplum の高い並列度の恩恵を受けて実行することができます。

さらに LLM の登場、それとともに PostgreSQL のコミュニティで熱く議論されているのが pgvector と呼ばれる拡張です。これは PostgreSQL に非構造化されたデータを保持、 Embeddings とよばれるベクター情報を付与しながら、自然言語をベースにした検索を可能にするものです。非構造データにあたる、文章、画像や動画を RDB として蓄えることの意義や効率的な検索を可能にする大きなイノベーションです。執筆時点では、この拡張はまだサポートされていないものの、Greenplum の次期バージョンに合わせた研究や発表がすでにされています。ぜひ、ブログセミナーの動画を参照ください。

これもエコシステムの成長にあやかりながら、より大量データに即した Greenplum へと応用が可能になる強みかと思います。

本来であれば、これ以外にも事細かに紹介したいところですが、いまは「Greenplum は Postgres 」という文脈のもと、この分野での特色と優位性について解説させていただきました。

まとめ

VMware Greenplumの概要、求められる背景、そして「Greenplum は Postgres 」という特色のもと、解説しました。VMware のブログでは、今回取り上げられなかった Greenplum の機能をさらに取り上げる予定ですので、ご期待ください。