米Hewlett-Packard Enterprise(HPE)は、2017年から社内のサーバ基盤をクラウドへと移行している。2014年時点で物理サーバは全体の90%を占めたが、2017年以降はこれを10%に減らし、プライベートクラウド(50%)と、Salesforce.comなどのSaaSサービス(40%)に置き換える。2019年2月現在、75~80%の業務システムがクラウド環境に移行済みだ。
「HPE社内では、リレーショナルデータベースはSAP HANA以外の全てのケースでHPE NonStop SQL/MXを使っている。スケールアウト型の分散データベースでありながら、システム障害発生時でも無停止で動き続ける。用途に合わせてデータベースを使い分ける必要がないので、データベースのサイロ化を防げる」-- Mission Critical Solutions担当バイスプレジデントを務めるJeff Kyle氏はこう語る。
HPE Mission Critical Solutions担当バイスプレジデントを務めるJeff Kyle氏
クラウドへの移行に当たってHPEが注力したポイントが、リレーショナルデータベース管理システム(RDBMS)のシンプル化だ。「HPEは従来、データベース環境がサイロ化していた」と、Kyle氏は振り返る。UNIX上でOracle Databaseを使っていたり、Windows上でSQL Serverを使っていたりした。2017年からのクラウド移行ではこれを改めた。
HPEは今後、ERP(統合基幹システム)のSAP S/4HANAについてはデータベースとしてSAP HANAを使うが、これ以外の用途は全てHPEの無停止型データベースソフト「HPE NonStop SQL/MX」に統一する。非構造化データについては各種のデータストアを活用するが、SQLを使うRDBMSについては、他のデータベースソフトは一切使わない。「データベースを統一すれば、データベースのサイロ化を回避できる」(Kyle氏)
データベースを動作させるサーバ基盤には、プライベートクラウドを使う。SAP HANAについては、プライベートクラウドではなく、スケールアップ型で性能を追求したSMP(対称型マルチプロセッシング)サーバ機「HPE Superdome Flex」を使う。一方、ERP以外の全用途をカバーするHPE NonStop SQL/MXについては、プライベートクラウドの仮想サーバ環境(Linux KVM)を利用する。HPE NonStop SQL/MXは、HPEが取り組む業務システムのクラウド化にとって、重要な意味を持っている。
仮想サーバでありながらプロセス冗長化で耐障害性を確保
HPE NonStop SQL/MXは、HPEの無停止型サーバ「HPE Integrity NonStop」専用のRDBMSだ。最大の特徴は、HPE Integrity NonStopと合わせてシステム障害時でも無停止で動き続けること。NonStopブランドは、停止することが許されないミッションクリティカルな業務システムにおいて使われてきた歴史がある。
今回HPEは、HPE NonStop SQL/MXをプライベートクラウド環境で使うため、HPE Integrity NonStopのラインアップの1つで、サーバ仮想化環境(KVMまたはVMware ESXi)で動作する仮想アプライアンス版の無停止サーバ「HPE Virtualized NonStop」を採用した。これにより、必要に応じて動的にデータベースを配備したり、性能を拡張したりできるようにした。
HPE Virtualized NonStopの特徴は、仮想環境で動作する仮想サーバでありながら、ハードウェア型の無停止型サーバ(HPE Integrity NonStop)と同様に、実行プロセスの冗長化(プロセスペア技術)やトランザクションの一貫性保持といった、無停止のための機能を備えることだ。
プロセスペア技術では、異なる仮想CPU上でプライマリとバックアップの2つのプロセスを同時に実行させておき、プライマリプロセスに障害が発生した場合に、瞬時にバックアッププロセスに処理を引き継ぐ。実行中のプロセスに障害が発生した場合でも、システムを再起動することなく処理を引き継げるため、ユーザーが障害に気付くことはない。
スケールアウト型の分散データベースと耐障害性を両立
無停止で動作する可用性の高さだけが、HPE NonStop SQL/MXのメリットではない。HPE NonStop SQL/MXは、近代的なアプリケーションが要求するスケールアウト型の分散データベースでもある。最大4000ノードまで台数を増やして拡張できる。小規模なアプリケーションから大規模なアプリケーションまで、単一のアーキテクチャのまま広範な用途に適用できる。
分散型データベースの採用に当たっては、Apache Cassandraなどオープンソースソフトウェア(OSS)も検討したとKyle氏は言う。しかし、検討したOSSはいずれもHPE NonStop SQL/MXとは異なり、広範な用途に適用するだけの可用性が足りなかった。多くのユーザー企業は、用途に合わせてOracle DatabaseやOSSを使い分けるが、複数のデータベースを使うと環境がサイロ化してしまう。
HPE NonStop SQL/MXの場合、OSSの分散データベースが備えるスケールアウトなどのメリットと、無停止で動作する可用性の高さを両立できる。全ての用途に使えることから、社内のデータベースをHPE NonStop SQL/MXに統一し、これによりデータベース環境のサイロ化を回避可能とする。
単一のアーキテクチャのままで広範な用途に使える
「Oracle Databaseと比べてもシンプルだ」とKyle氏はアピールする。Oracle Databaseの場合、可用性を高めるためにRAC(Real Application Clusters)を導入すると、システムのアーキテクチャが変わってしまう。拡張に合わせてハードウェアをOracle Exadataに変更することもあり、こうした変化に応じて管理の負荷が掛かる。一方、HPE NonStop SQL/MXではノードを増やすだけでよく、アーキテクチャが変わることはない。
Oracle Databaseからの移行も容易だとKyle氏は言う。Oracle Databaseからの移行を見据え、Oracle Databaseとの互換性を確保している。Oracle Databaseに特有の独自関数やデータ型を実装しているほか、PL/SQLで記述したストアドプロシージャ(データベース側で動作するロジック)も動作するという。
HPEでは、「どんなに小規模なアプリケーションでも、RDBMSを使う場合はHPE NonStop SQL/MXを使う」とKyle氏。HPE社内では実際に、ポータル画面から簡単にデータベースを調達して配備できるDBaaS(サービスとしてのデータベース)を運営している。利用部門は、パブリッククラウドで仮想サーバを調達するのと同様に、HPE NonStop SQL/MXを分単位で配備できるという。