Oracle Exadata Database Machineは、Oracle Databaseのパフォーマンス、コスト効率、および可用性が大幅に改善するように設計されています。高性能データベースサーバー、最先端のストレージ・キャッシング・テクノロジーを備えたスケールアウト型インテリジェント・ストレージ・サーバー、クラウドスケールのRDMA対応内部ネットワーク・ファブリックを備えたOracle Exadata Database Machineは、Oracle Databaseを実行するのに最適なプラットフォームです。
2022年6月、バージョン2.5
Exadataの成功を裏付けているのは、ほぼすべての業界で、最大規模かつもっとも影響力の大きい組織に採用されているという事実です。金融サービスでは、小売銀行、保険会社、クレジット・カード発行会社の上位10社のうち9社と、投資銀行の上位10社のうち7社がExadataを使用しています。また、大手ヘルスケア・プロバイダ10社すべてと、小売企業上位10社のうち9社も同様です。ExadataはFortune Global 100企業の87 %に採用されており、そのうちの1/3近くがOracle CloudにExadata Cloud Serviceをデプロイしています[11]。
Oracle Exadata Database Machine[66](Exadata)は、Oracleデータベースの実行に特化したコンピューティングおよびストレージ・プラットフォームです。
Exadataの目標[2]は、あらゆるレベルでハードウェアとソフトウェアを統合して最適化し、データベースのアルゴリズムとインテリジェンスをストレージおよびネットワーキングに移行することで、従来の汎用サーバー[3]のレイヤーをバイパスして、コストを削減しながらパフォーマンスと可用性を引き上げることです。
Exadataはハードウェアとソフトウェアを組み合わせたプラットフォームで、スケールアウト型コンピューティング・サーバー、スケールアウト型インテリジェント・ストレージ・サーバー、超高速ネットワーキング、パーシステント・メモリ(PMem)、NVMeフラッシュ、専用のExadataソフトウェア[4]を搭載しており、さまざまなシェイプと価格で提供されています。Exadata Storage Serverは高性能サーバーで、データを保存するだけでなく、データ集中型のデータベース処理用にExadataソフトウェアを共有ストレージ層で直接実行します。
Exadataは、2008年にオラクル初のエンジニアド・システム・ファミリー製品[6]としてリリースされ[5]、当初は"プライベート・クラウド"としてデプロイされる企業データセンターでの使用向けでした。2015年、Oracle Cloudのサブスクリプション・サービスとして、Exadata Cloud Service[7]の提供が開始されました。
Exadata Cloud Service[8]にデプロイされるOracle Databaseは、オンプレミスのExadataにデプロイ済みのデータベースと互換性が100%あるため、顧客はアプリケーションを一切変更することなくOracle Cloudに移行することができます。このサービス(ハードウェア、ネットワーク、Linuxソフトウェア、Exadataソフトウェアを含む)はオラクルによって管理されますが、顧客データベースは顧客側で完全なコントロールを維持できます。
2017年の早期に、3番目となるExadataのデプロイ・オプションが提供開始されました。Exadata Cloud@Customer[9]は、オンプレミス(顧客のファイアウォール内)にデプロイされ、Oracle Cloudエキスパートによって管理されるExadata Cloud Serviceテクノロジーです。Exadata Cloud@CustomerもExadata Cloud Serviceと同様、オラクルによって所有および管理され、従量課金制のサブスクリプションで利用されます。Oracle Cloud@Customer[10]プログラムは、オラクルのパブリック・クラウドが持つメリットをすべて生かしながら、潜在的なネットワーク待機時間、セキュリティ、規制に関する問題に対処しています。
2018年、Oracleはクラウドベースの自動運転、自己保護、自己保護型データベースであるOracle Autonomous Database[64]を発表し、管理コストを削減しながら、ミッション・クリティカルな可用性とセキュリティを提供します。Oracle Autonomous Databaseは、Exadata Cloud ServiceおよびCloud@Customerデプロイメントで使用できます。
2019年のExadata X8Mリリースでは、パーシステント・メモリ(PMem)とRDMA(Remote Direct Memory Access)over Converged Ethernet(RoCE)[65]という2つの重要な画期的技術が追加され、Exadataのパフォーマンスが大幅に向上しました。Oracle Exadata X8MはRDMAを直接使用して、データベースからスマート・ストレージ・サーバー内のパーシステント・メモリにアクセスするため、OS、I/O、ネットワーク・ソフトウェア・スタックはすべてバイパスします。これにより、飛躍的に待機時間が短縮され、スループットが向上します。
2021年、Exadata X9MリリースでPCI Expressバージョン4.0が追加され、更にパフォーマンスが向上し、RoCEネットワーク・ファブリックとNVMeフラッシュのネットワーク・スループットとストレージ・スループットが向上しました。Exadataソフトウェアのバージョン21.2には、顧客によるExadataへの投資を強化する新機能だけでなく、X9Mハードウェアを補完する、圧縮解除および復号化アルゴリズムなどの機能も含まれています。X9Mでハードウェアとソフトウェアの両方が強化された結果として、OLTP処理と分析処理がそれぞれ70%と87%改善されています。
Exadataは、どのようなOracle Databaseワークロードでも、ワークロードの組み合わせ(OLTPアプリケーションと分析処理の同時実行など)でも、最適に実行するように設計されています。Exadataプラットフォームは、それまで専用データベース・サーバーで実行されていた多数のデータベースの統合によく使用されます。Exadataのスケールアウト・アーキテクチャは、当然、コンピューティング要件を動的に増減できるOracle Cloudでの実行に適しています。
従来、特化型のデータベース・コンピューティング・プラットフォームは、データウェアハウスなどの特定ワークロード専用に設計されており、OLTPを含むその他のワークロードでの使用はできないか、できても十分ではありませんでした。Exadataには、あらゆるデータベース・ワークロード向けの最適化機能が実装されているため、混合ワークロードでシステム・リソースを適切に共有できます。また、リソース管理機能により、システム・リソースの割当てに優先順位を付けることができるため、たとえば、同じデータにアクセスする場合でも、インタラクティブ・ユーザーに対応するワークロードをレポートおよびバッチよりも常に優先することができます。
データウェアハウス、レポート、バッチ・ジョブ、アナリティクスに特有の長時間実行リクエストの実行が、Exadata以外の従来型データベース・サーバーと比較して何倍も高速になります[12]。顧客事例の紹介では、10倍以上のパフォーマンス向上が挙げられることがよくあります。また、分析ワークロードでExadataのOracle Database In-Memory[13]オプションを使用すると、さらなる高速化が可能です。Exadata上のインメモリ・データベースは、DRAMの何倍もの容量を持つフラッシュ・メモリのメリットを生かして拡張されています。ExadataのHybrid Columnar Compression[4]機能は、データウェアハウスとアーカイブ・データのストレージ消費量を減らし、I/O回数の削減によってパフォーマンスを高めることを目的としています。
Exadataのトランザクション(OLTP)ワークロードでは、Exadataのストレージ階層に組み込まれたパーシステント・メモリおよびフラッシュ・メモリと、DRAM、パーシステント・メモリ、フラッシュ/ディスク・ストレージ間でのデータの自動"階層化"が活用されます。ログ書込みなど、応答時間が重視されるデータベース操作では、特別なアルゴリズムによってパーシステント・メモリとフラッシュが最適化されます。要求の非常に厳しいOLTPでは、オールフラッシュ・ストレージによってディスク・メディアの待機時間が完全に解消されます。
Exadataの設計をよく理解するには、それぞれが独自に動作する別々のハードウェアとソフトウェアを組み合わせた従来のデータベース・コンピューティング・プラットフォームと比較すると良いでしょう。
標準的なデータベース・コンピューティング・プラットフォームを構成するハードウェア・コンポーネントは、ネットワーク経由でストレージ・アレイに接続されるコンピューティング・サーバーです。このコンピューティング・サーバーでデータベース・ソフトウェアが実行され、ネットワーク経由でストレージ・アレイとの間でデータが送受信されます。ハードウェア・コンポーネントの相互通信には標準ソフトウェア・プロトコルが使用されます。標準インタフェースを介して分離されているため、汎用コンピューティング・プラットフォームは、多種多様なワークロードと各種ベンダーのソフトウェアおよびハードウェアを実行することができます。あらゆるアプリケーション・ロジックとデータ処理がコンピューティング・サーバー上で実行され、そこにすべてのデータを送信する必要があります。このアプローチにより、さまざまなソフトウェア・アプリケーションに1つのコンピューティング・プラットフォームを使用できますが、特定のアプリケーションに合わせた最適化は行われません。
Exadataが目指したのは、Oracle Databaseに合わせて最適化したソフトウェアとハードウェアから成る完全なスタックを構築し、最適な場所で処理を実行することです。Exadataで処理するのはOracle Databaseリクエストだけであるため、ソフトウェア・レイヤー全体でOracle Databaseのメリットを生かすことができます。ハードウェア設計には、非常に高速なRoCEイーサネット・ネットワーク、フラッシュ・メモリ、パーシステント・メモリなどのテクノロジーが含まれ、Oracle Databaseアプリケーションにもっとも有利になるように、アーキテクチャに統合されています。オラクルはデータベースにとってのデータ・ストレージの重要性を踏まえ、特にこの観点からExadataプラットフォームを最適化することに注力しました。
オラクルが目指したのは、Exadataのストレージ・レイヤーを容易にスケールアウトできるものにし、Oracle Databaseのリクエストを並列化できるようにすることです。Exadata Storage Serverにフラッシュ・メモリと(後から)パーシステント・メモリが追加されたことで、ストレージ・レイヤーのパフォーマンスを最適化できる可能性がさらに広がりました。例を挙げると、フラッシュ・ストレージのパフォーマンスおよび容量が急速に拡張されたため、従来型のデータベース・プラットフォームではネットワークがボトルネックになりました。Exadataはデータベース処理をExadata Storage Serverにオフロードすることでこの問題を解消しました。後からExadataストレージ・レイヤーにパーシステント・メモリが追加されたことで、従来型プラットフォームの制限がいっそう際立っています。
Exadataの考案段階で、オラクルはすでに数十年のデータベース・ソフトウェア開発経験があり、従来型コンピューティング・プラットフォームによる制限とパフォーマンス・ボトルネック[16]を十分認識していました。Exadataの目的を果たすためには、容易にスケールアウトでき、Oracle Databaseリクエストを並列処理できるストレージ・レイヤーが必要でした。また、オラクルは、ストレージにデータを保存および送信するだけでなく、データベース・リクエスト処理との連携の可能性についても理解していました。たとえば、少数のレコードを検索するためにデータベース表全体をネットワーク経由でコンピューティング・サーバーに送信するのではなく、ストレージ側でデータ・フィルタリングを実行することで、結果レコードのみをネットワーク経由で送信できるようになります。
つまり、オラクルは、ストレージ・アレイの役割を果たしながら、インテリジェント・データベース・ソフトウェアを実行できるパワフルなサーバーが必要であり、データベースの拡張に合わせて簡単に容量とパフォーマンスを拡大できるモジュール式設計でなければならないと理解していました。このため、データベース・リクエストの実行時にコンピューティング・サーバーと連携する"データベース認識型"ストレージ・サーバーを構築することが重要な課題となりましたが、オラクルは、Oracle Databaseに合わせてExadataを最適化することでこれを実現しました。
従来型ストレージ・アレイを置き換える目的でオラクルが開発した、このデータベース認識型のExadata Storage Server[17][18]がExadataの基礎となっています。
Exadataが最大の効果を発揮できるようにするため、オラクルは、時と場所を選ばず、全体が緊密に統合される状態で改善が協調的に実施されるように、プラットフォームのソフトウェアとハードウェアのコンポーネントを制御しなければなりませんでした。
Exadataを考案したとき、オラクルはすでに広範なソフトウェア製品のポートフォリオを有しており、データベース・プラットフォームの実行に必要なソフトウェア・レイヤーの大部分(Oracle Linuxオペレーティング・システム、ストレージ管理ソフトウェア、監視および管理ツール、仮想マシン・ソフトウェア、Oracle Database、オプション・ソフトウェアなど)が含まれていました。
2008年のExadata(V1)初期リリースは、オラクル(ソフトウェア)とHewlett-Packard(ハードウェア)による共同開発でした。第2世代(V2)のハードウェアはSun Microsystemsに切り替えられましたが、その後まもなくオラクルはSun Microsystemsの買収を通じて、Exadataのメイン・ハードウェア・コンポーネントの所有権を獲得しました。
オラクルはExadataのメイン・ハードウェア・コンポーネントの所有者となったことで、コンピューティング・プラットフォーム全体をOracle Databaseに合わせて最適化できるように開発する能力を手にしました。これにより、Exadataプラットフォーム全体が1社のベンダーによりサポートされるという新たな利点が顧客にもたらされました。これは、さまざまなベンダーのハードウェア・コンポーネントとソフトウェア・コンポーネントで構成される従来型コンピューティング・プラットフォームでは実現できないメリットです。
Exadataのコンセプトがもたらす価値が初期バージョンで実証されたため、オラクルは、新たなソフトウェア機能の定期的リリース・スケジュールを最先端ハードウェア・コンポーネントのリリースおよび組込みと緊密に連携させて開始しました。
Oracle Databaseの形式およびアルゴリズムとアプリケーション・ワークロードの知識を利用して拡張された"スマート"なソフトウェア機能を、プラットフォーム上のOracle Databaseおよびすべてのソフトウェア/ファームウェアで実行することで、従来型データベース・プラットフォームの性能を大きく上回る可能性が見込まれました。Exadata Storage Server SoftwareでOracle Databaseルーチンを実行できる機能が、この利点の主要な実現要因となりました。
Exadata専用のソフトウェア機能強化によって、ハードウェアとソフトウェアが統合された結果として、いくつかの領域でパフォーマンス向上が達成されました。たとえば、OLTPアプリケーションでデータベース・ソフトウェアにトランザクションがコミットされるとき、Exadataはそのリクエストを重要な操作と見なし、ネットワークとストレージ・サーバー上で適宜優先します。これにより、コミット・リクエストは、ネットワーク上とI/Oキュー内で緊急度の低いメッセージを追い越します[15]。
もう1つの例は、分析アプリケーションからアクセスされるデータを、フラッシュ・メモリを使用してキャッシュする方法です。分析ワークロードでは列形式データの方が効果的なので、Exadataがディスクからフラッシュに行データを移動すると、データは自動的に列形式に変換されます[16]。
これらの例は、Oracle Databaseがどのようにアプリケーションの意図を理解し、ネットワークおよびストレージ・ソフトウェアに伝え、それに応じた処理を行うかを表しています。
2008年の登場以来、Exadataソフトウェアは毎年2回以上の重要リリースを行っており、合わせて数十もの"スマート"なソフトウェア拡張機能を提供しています。これらの拡張機能の大半は、少数の重要な技術的基盤に基づいています。ここからは、それらの基盤について説明します。
ストレージへのオフロードとは、データ集中型のデータベース操作(データ・スキャン、表結合、行または列のフィルタ)をExadata Storage Server内で実行することを指します。操作の記述だけを送信して結果を取得できるため、コンピューティング・サーバーとストレージ・サーバーの間のネットワーク・トラフィックが大幅に減少します。このため、従来型アーキテクチャのデータ集中型操作で、コンピューティング・サーバーとストレージの間で大量データの送信が必要になるネットワーク・ボトルネックを回避できます。オフロードが可能になるのは、Exadataストレージが標準サーバー上に構築されており、コンピューティング・サーバーと連携してストレージI/Oと同時にデータベース機能を実行できるからです。オフロードできるデータベース機能とデータ型は、時間とともに増えています。さらに、Exadataストレージが過度にビジー状態になると、"リバース・オフロード"によって処理がコンピューティング・サーバーに戻されます。
ストレージ索引は、列の値を小さいストレージ領域内で追跡することでI/Oを回避します。ストレージ索引は自動的に維持され、Exadata Storage Serverのメモリ内に保持されます。ストレージ索引により、ある領域へのI/Oで一致が見つからないことが示されると、そのI/Oを省略できるので、大きなパフォーマンス上のメリットになります。当初、ストレージ索引は少数の列に含まれる値の範囲を追跡していました。やがて、より多くの列とより複雑な値が追加されるようになったため、回避できるI/O操作クラスが多くなりました。サーバー再起動後も一貫したパフォーマンスを維持するため、ストレージ索引はExadata Storage Server上のローカル・ストレージに保存されます。
フラッシュ・キャッシュとPMemキャッシュは、フラッシュおよびパーシステント・メモリによって待機時間を短縮しながら(高速応答)、低コストのディスクを利用して大規模データベースを保存することで、最小限のコストで最大のI/Oパフォーマンスを実現します。一般に、任意の時点でアクティブになるのはデータベースのごく一部です。たとえば、アクティブ・データだけがフラッシュに格納されている場合、大幅に低いコストでありながら、そのパフォーマンスはオールフラッシュ・ストレージと同一になります。Exadataは現在のワークロードを監視して、もっともアクティブなデータを最適な形式でフラッシュまたはパーシステント・メモリ内に保持します。例として、ExadataはI/Oがデータベース・バックアップの一環である場合、それを踏まえてアクティブ・データ・ブロックとは見なしませんが、従来型プラットフォームはすべてのI/Oを"ホット"ブロックと見なします。フラッシュ・キャッシュは、データが分析用にアクセスされている場合、フラッシュ内で行から列形式に変換します。当初、フラッシュ・キャッシュはデータ読取りのみに使用されていましたが、ログ書込みに拡大され、その他すべての書込みI/Oでも使用されるようになりました。その後、フラッシュは、オラクルのDatabase In-Memory列形式データ・ストアの拡張として使用されるようになり、DRAM容量だけで実現できるものよりも大幅に大きいインメモリ・データベースを可能にしています。Exadata X8Mで導入されたPMemキャッシュは、さらに高速なキャッシュをストレージに追加し、IOPS(1秒あたりのI/O)と待機時間を大幅に向上しました。
Hybrid Columnar Compression(HCC)は、(サイズが非常に大きくなりうる)データウェアハウスなど、更新頻度の低いデータによって消費されるストレージ容量を削減します。従来のデータ圧縮アルゴリズムが実現するのは2倍から4倍の圧縮率ですが、HCCの場合、列形式の圧縮率が高いため、平均で10~15倍を実現します。I/Oサイズが大幅に小さくなることで、パフォーマンスも大きく向上します。当初、HCCの表では行レベル・ロックがサポートされていなかったため、OLTPアプリケーションでの使用には制限がありました。2016年、ExadataのHCCに行レベル・ロックが追加され、HCCデータとの混合ワークロードのパフォーマンスが向上しました。HCCのハイブリッド形式により、列形式のみのデータベースで発生するパフォーマンス低下が回避されます。
リソース管理機能は、CPU、I/O、ネットワーク帯域幅などのExadataシステム・リソースを、優先順位に基づいてデータベース、アプリケーション、またはユーザーに割り当てます。多数のデータベースをExadataに統合する場合、リソース管理機能によって適切なサービス品質が保たれます。I/Oリソース管理はExadata V1で導入されており、ネットワーク・リソース管理はExadata X4で追加されました。
インメモリ・データベースは、コンピューティング・サーバーのDRAMを利用し、分析ワークロードで卓越したパフォーマンスを実現することで、ストレージとネットワークに置かれたExadataの重点を補完します。2014年にExadataに搭載されたOracle Database In-Memoryは、高速InfiniBandネットワークを利用してインメモリのフォルト・トレランスを実現しています。より大きいインメモリ・データベースをサポートするため、Exadata Storage Serverでは、コンピューティング・サーバーで実行される同じインメモリ処理の拡張として、インメモリ・ルーチンとインメモリ・データ形式がExadataフラッシュ内に実装されています。
分析ワークロード向け | OLTPワークロード向け |
---|---|
自動並列処理とストレージへのデータ・スキャンのオフロード | データベース認識型NVMe PCIeフラッシュ・インタフェース |
'where'句に基づいたストレージの行フィルタリング | Exadata Smart Flash Logging |
選択した列に基づいたストレージの行フィルタリング | Write-back Flash Cache |
表の結合に基づいたストレージの行フィルタリング | QoSを保証するためのデータベース、ユーザー、ワークロード別のI/Oリソース管理 |
JSONおよびXMLのオフロード | ネットワーク・リソース管理 |
Hybrid Columnar Compression | Exafusion Direct-to-Wireプロトコルによるノード間のデータ転送 |
ストレージ索引のデータ・スキッピングによるI/O回避 | EXAchkフルスタック検証 |
フラッシュ・キャッシュのインメモリ列形式への自動変換 | Active AWR(エンド・ツー・エンド監視のためのストレージ統計を含む) |
大規模な分析クエリおよび負荷でのフラッシュ・キャッシュへの一時I/O | セル間のリバランスによるフラッシュ・キャッシュの保持 |
高速全索引スキャンのオフロード | インメモリ・コミット・キャッシュ |
暗号化データのスキャンのオフロード(FIPS準拠) | メモリ最適化されたOLTPおよびIoTルックアップ |
LOBとCLOBでのストレージ・オフロード | Persistent Memory Data Accelerator(PMemキャッシュ) |
min/max操作でのストレージ・オフロード | Persistent Memory Commit Accelerator(PMemログ) |
Data Mining Offload | データベース固有のPMem使用制御 |
全ポートがアクティブのInfiniBandメッセージング | セル間のリバランスによるPMemキャッシュの保持 |
ストレージCPUがビジー状態の場合のDBサーバーへのリバース・オフロード | Smart Flash Logのライトバック |
ジャスト・イン・タイムのスマートな列暗号化 | |
列キャッシュによるスマートな集計 | |
高速なインメモリ列形式キャッシュ作成 |
可用性向け | セキュリティ向け |
---|---|
ノードまたはセルの障害の即時検出 | 高速のハードウェアベース(AES)暗号化/復号化 |
スタック・ディスクまたはフラッシュでのI/Oの1秒未満でのフェイルオーバー | フルスタック・セキュリティ・スキャン |
増分バックアップのストレージ・サーバーへのオフロード | 最小限のLinuxディストリビューション(攻撃対象領域の縮小) |
Hardware Assisted Resilient Data(HARD)による検証 | データベースおよびASMスコープのセキュリティ |
即時データファイル作成 | ディスクおよびフラッシュのセキュアな高速消去(暗号化の消去) |
優先順位付けされた重要ファイルのリバランス | InfiniBandパーティション化 |
ハード・ディスクの自動的なスクラブと修復 | すべてのログオンおよび構成変更の監査レコード |
障害発生ドライブの自動電源再投入によるドライブ障害誤検出の解消 | ファイアウォールで保護されたExadata Storage Serverのセキュア・ネットワーク・アクセス |
障害が予測されたディスクの読取り回避 | IPV6サポート |
セル・ソフトウェアの透過的再起動 | セキュア・ブートによるバイナリを使用したシステム起動の制限 |
フラッシュとディスクのライフサイクル管理のアラート | データベースおよびストレージ・サーバーのIntegrated Lights Out Management(ILOM) |
ミラー・サーバー停止時のシャットダウン防止 | サーバー、ネットワーク、データベース、ストレージのレイヤーでの包括的な監視と監査 |
1回の操作でExadataシステムのフリート全体を自動ソフトウェア更新 | 高度な侵入検知環境(AIDE) |
ホット・プラグ可能なフラッシュ・カード | FIPS 140-2認証 |
機械学習を使用したCPU、ネットワーク、メモリの自動監視 | PCI-DSS準拠 |
ExadataのI/O待機時間の制限 | 最小権限:タスク実行に必要な最低限の権限でプロセスを実行 |
Exadata Storage ServerのI/Oタイムアウトしきい値 | 強く制限されたパスワードの適用 |
低パフォーマンス・ディスクの自動識別 | セキュアなコンピューティング・フィルタによるシステム・コールの制限 |
障害が予測されたディスクの自動リバランス | 分離ポリシーによるネットワーク・トラフィック、データベース、ストレージの保護 |
Exadataストレージのスナップショット | セキュアなRDMAファブリックの分離 |
セル間のリバランスによるフラッシュ・キャッシュ・データの保持 | ディスクおよびフラッシュのセキュアなマルチパス消去 |
セカンダリ・ミラー・フラッシュ・キャッシュへのOLTPデータのプリフェッチ | メモリ保護キーによるExadata Storage Server Softwareプロセスの保護 |
オンラインでのLinuxパッチ適用(Ksplice) |
Exadataコンピューティング・サーバーは、Oracle Linux 7オペレーティング・システムに加えて、Oracle Database 11g Release 2 Enterprise EditionからOracle Database 19c(オラクルのLong Term Supportリリース)までをサポートしており、現在はOracle Database 21c Enterprise Editionも追加されています。
Oracle Databaseはコンバージド・データベースとしても知られています。これは、オラクルが過去数十年にわたってOracle Databaseに組み込んできたマルチデータ・モデルのストレージおよび処理サポートを指します。Exadataでは、オラクルのコンバージド・データベースに含まれる多くのデータ型と処理方式が最適化されており、たとえば、JSON/XMLのオフロードやExadata Storage Serverでのデータ・マイニング・スコアリングにより、リレーショナル・データタイプと非リレーショナル・データタイプの両方を使用するアプリケーションのパフォーマンスが向上します。
Exadataのシステム・リソースは、XenベースのOracle VM(X8Mより前)またはKVMベースのOracle VM(X8M以降)を使用して、任意で仮想化することができます。また、Oracle Real Application Clusters、Oracle Multitenant、Oracle Database In-Memory、Oracle Advanced Compression、Oracle Advanced Security、Oracle Partitioning、Oracle Active Data Guard、その他などのすべてのOracle Databaseオプションを、必要に応じてExadataで使用できます。アプリケーションがOracle Databaseのサポート対象バージョンとして認定されていれば、自動的にExadataとの互換性も提供されます。追加の変更や認定は不要です[18]。
オンプレミスのExadataで実行されるのと同じデータベース・ソフトウェアが、Exadata Cloud ServiceおよびExadata Cloud@Customerでも実行できます。また、オンプレミスのソフトウェア・ライセンスは、Oracle CloudまたはCloud@CustomerへのBYOL[19](Bring Your Own License)移行の対象です。
Exadata X8M以降では、内部接続および外部接続用に高速ネットワークが提供されています。コンピューティング・サーバーとストレージ・サーバーの間の内部接続には、100 Gb/秒(100 Gbit/s)のアクティブ/アクティブRDMA over Converged Ethernet(RoCE)ファブリックが使用されており、データセンター接続用には、25 Gbit/sおよび10 Gbit/sのイーサネット・ポートが提供されています。RoCEファブリックは、コンピューティング・サーバー間のクラスタ・インターコネクトとしても使用されています。以前の世代のExadataは、内部接続用に40 Gb/秒(40 Gbit/s)のInfiniBandネットワークを備えていました。Exadataのハードウェア/ソフトウェア・アーキテクチャは全体をオラクルが管理しているため、RoCEファブリックなどの新技術の導入は透過的に実施され、変更に伴う統合やテストが顧客の妨げになることはありません。
Exadataは、カスタム設計されたデータベース指向のプロトコルをイーサネット・ファブリックで使用して、高いパフォーマンスを達成しています。Remote Direct Memory Accessを広く使用し、サーバー間のデータ移動で生じるオペレーティング・システムのオーバーヘッドと余分なコピーを解消することで効率を高めています。また、Exadataには、Direct-to-Wireプロトコル[20]が実装されおり、データベースとRoCEハードウェアとの直接通信が可能です。
ほかにも、Exadataはネットワーク・リソース管理[15]機能でRoCEサービス・クラスを活用して、ネットワーク全体で重要なトラフィックを優先しています。この機能で、Oracle Databaseソフトウェアは、トランザクションのコミット、メッセージのロック、インタラクティブ・ユーザー発行のI/O操作など、待機時間を抑える必要のあるネットワーク・メッセージにタグを付けて、レポート作成やバッチなどの重要度の低い高スループット・ワークロードが発行するメッセージを追い越せるようにしています。その結果は、サイレンを鳴らした緊急車両が混雑した道路を素早く通り抜けるのと同様で、優先度の高いネットワーク・メッセージは、低優先度のメッセージをバイパスしてサーバー、ネットワーク・スイッチ、ストレージ・キューの前に移されるため、応答時間が短縮され、予測もつきやすくなります。
Oracle Enterprise Manager Cloud Control(Oracle EM)は、Exadata Database Machineを含むOracleのソフトウェアおよびハードウェアを管理します。Oracle EMにはExadata管理ツールが組み込まれており、顧客の既存管理ツールやヘルプデスク・ツールも統合できます。Oracle EM用のExadataプラグインを使用すると、コンピューティング・サーバー、ストレージ・サーバー、スイッチ、トポロジを1つの統合ビューで確認できます。また、検出、監視、アラート機能をExadataシステム管理で使用できます。
Exadata Cloud ServiceプラットフォームとExadata Cloud@Customerプラットフォームを管理するのはオラクルですが、コンピューティング・サーバー上で実行されるソフトウェアとデータベースは顧客が管理および制御します。これらのプラットフォームには、Webベースのプロビジョニング・ウィザードが搭載されており、顧客はこれを使用して、選択したExadataシステムとその後のデータベース・インスタンスを手早くプロビジョニングすることができます。また、通常のデータベースとOSの管理作業では、バックアップ、パッチ適用、アップグレードにクラウド自動化を利用できます。
Exadataには、2ソケットのコンピューティング・サーバーを搭載したモデルと、8ソケットのコンピューティング・サーバーを搭載したモデルがあります。2つのモデルの違いは、コンピューティング・サーバーに使用されるハードウェアのみであり、ネットワーク、ストレージ・サーバー、ソフトウェアは同じです。
最新のOracle Exadata Database Machineは、2021年9月にリリースされたX9M[66]世代です。
X9M-2コンピューティング・サーバーは、高さ1 RU(ラック・ユニット)のスモール・フォーム・ファクタを特長としています。各ソケットに32のコンピューティング・コアを搭載した2ソケットのインテルXeonプロセッサを採用しており、コンピューティング・サーバーあたり合計64コアを提供します。最小メモリは512GBで、2TBまで拡張可能です。
Exadata Database Machineの基本構成は、2台のコンピューティング・サーバーと3台のストレージ・サーバーで構成され、クォーター・ラックと呼ばれます。同じハードウェアで1/8ラック構成の場合、プロセッサ能力とストレージ容量がそれぞれ半分になります。データベース・ワークロードやデータ量が増加した場合、Exadataのエラスティック構成を使用してコンピューティング・サーバーとストレージ・サーバーを追加し、処理量を増やして並列処理することができます。
X9M-8コンピューティング・サーバー(X8M-8 Exadata Database Machineから継続)は、高さ5 RUの8ソケット・コンピューティング・サーバーを使用し、サーバーあたり3から6TBの大容量メモリと192のコンピューティング・コアを搭載しています。これにより、1台のコンピューティング・サーバー内で大規模データベース・ワークロードを容易にスケールアップでき、同時に、複数サーバー間でのExadataのスケールアウト拡張性もサポートされます。X8M-8の大容量メモリは、インメモリ・データベースに加え、非常に大規模なOLTP、統合、データウェアハウスのワークロードに適しています。Exadata X9M-8の基本構成はX9M-2と同様に、2台のコンピューティング・サーバーと3台のストレージ・サーバーで構成されますが、スペース消費はハーフ・ラックです。フル・ラックになるまで、コンピューティング・サーバーとストレージ・サーバーを追加できます。
Exadata Storage Serverには、Extreme Flash(EF)、High Capacity(HC)、Extended(XT)という3つの構成があります。
X9M-2 Extreme Flashストレージ・サーバーは、8台のPCIeフラッシュ・ドライブを搭載したオールフラッシュ・ストレージで、合計51.2 TBの物理ストレージ容量と1.5 TBのパーシステント・メモリを提供します。
X9M-2 High Capacityストレージ・サーバーは、12台の18 TBディスクで合計216 TBの物理ストレージ容量を提供します。また、アクティブ・データ・ブロックをキャッシュするために、25.6 TBのPCIeフラッシュと1.5 TBのパーシステント・メモリを備えています。ExadataのPersistent Memory Data Accelerator、Persistent Memory Commit Accelerator、Smart Flash Cache、Smart Flash Log、Columnar Flash Cache、Write-Back Flash Cache機能により、パーシステント・メモリおよびフラッシュ上のデータが自動的に階層化されます。
X9M-2 Extendedストレージ・サーバーは、12台の18 TBディスクで合計216 TBの物理ストレージ容量を提供します。
Exadata Database Machineでは、ストレージ・サーバーの追加だけでなく、Exadata Storage Expansion Rack[22]を使用してストレージ・サーバーを増やすことができます。
フル・ラックのExadata構成でのストレージ・パフォーマンス仕様を次に示します。
Exadata Storage Server | スキャン速度 | 読取りIOPS | 書込みIOPS |
---|---|---|---|
X9M-2 Extreme Flash | 1050 GB/秒 | 27,600,000* | 8,596,000 |
X9M-2 High Capacity | 630 GB/秒 | 22,400,000 | 8,596,000 |
* 10台のコンピューティング・サーバーと12台のストレージ・サーバーから成るエラスティック構成に基づいています。その他すべてのレートは、8台のコンピューティング・サーバーと14台のストレージ・サーバーから成る標準フル・ラック構成に基づいています[23]。
注: IOPS = 1秒あたりの8K I/O操作(SQL実行時)
Exadata Storage Server Extended(XT)は、頻繁にはアクセスしないデータを保管する低コスト・ストレージとして、Exadata X8で導入されました。X9M-2 XTストレージ・サーバーはX9M-2 High Capacityストレージ・サーバーと同じディスク容量を備えていますが、フラッシュ・ストレージやPMemは搭載していません。Exadata Storage Server Softwareライセンスなしで構成することもできます。
従来型コンピューティング・プラットフォームのアーキテクトは常に、システム設計に影響するテクノロジー変更に対処する必要がありました。目標は、ボトルネックを解消することで、ストレージ出力がネットワークを通過し、パフォーマンス低下なしでコンピューティング・サーバーに処理されるようにすることです。アンバランスな状態を解消するには、通常、ネットワーク接続またはコンピューティング・サーバーを高速化するか、数を増やすやり方があります。これは、超高速PCIeフラッシュ・メモリやNVMeフラッシュ・インタフェース、またパーシステント・メモリが登場する前の話です。
フラッシュ・メモリが企業コンピューティングの主流になり始めたのは2010年頃で、ハード・ディスクの手前のキャッシュとして、またはディスク全体を置き換える役割として使用されました。その後年を追うごとに、フラッシュの容量とパフォーマンスは大きく引き上げられました。2017年、最先端フラッシュのパフォーマンスがしきい値を超え、もっとも進んだネットワークでもフラッシュのパフォーマンスに追いつかなくなったため、ネットワークが実質的なボトルネックになりました。たとえば、480基のフラッシュ・カードを搭載した一般的なオールフラッシュ・ストレージ・システムのデータ・スループットは、わずか75 GB/sとみなされていますが、ネットワーク・ボトルネックがなければ、これだけの数のフラッシュ・カードは2,600 GB/sを超えるデータ・スループットを達成するはずです。Exadataストレージへのオフロードは、ネットワーク経由でデータを送信する前にストレージ内で不要なデータを除外することで、このネットワーク・ボトルネックをバイパスします。その後、フラッシュよりも高速なパーシステント・メモリが追加されたため、Exadataオフロードの価値がさらに高くなりました。通常、フラッシュをコンピューティング・サーバーに直接接続すると、ネットワーク・ボトルネックは解消されますが、複数のコンピューティング・サーバーでストレージを共有する能力も失われます。Exadataのアプローチなら、この制限は当てはまりません。
Exadataの世代(2ソケット)* | V1 | V2 | X2-2 | X3-2 | X4-2 | X5-2 | X6-2 | X7-2 | X8-2 | X8M-2 | X9M-2 |
---|---|---|---|---|---|---|---|---|---|---|---|
発売日 | 2008年9月 | 2009年9月 | 2010年9月 | 2012年9月 | 2013年11月 | 2015年1月 | 2016年4月 | 2017年10月 | 2019年4月 | 2019年9月 | 2021年9月 |
最終出荷日 | 2009年10月 | 2010年10月 | 2012年9月 | 2014年2月 | 2015年3月 | 2016年7月 | 2017年11月 | 2019年6月 | 2020年12月 | 出荷中 | 出荷中 |
仕様 | なし | データ・シート[24] | データ・シート[25] | データ・シート[26] | データ・シート[27] | データ・シート[28] | データ・シート[29] | データ・シート[30] | データ・シート[31] | データ・シート[1] | データ・シート[66] |
オペレーティング・システム | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux |
ディスク・ストレージ(物理容量、TB) | 168 | 336 | 504 | 504 | 672 | 1344 | 1344 | 1680 | 2352 | 2352 | 3024 |
フラッシュ・キャッシュ(物理容量、TB) | なし | 5.3 | 5.3 | 22.4 | 44.8 | 89.6 | 179.2 | 358.4 | 358.4 | 358.4 | 358.4 |
パーシステント・メモリ(TB) | なし | なし | なし | なし | なし | なし | なし | なし | なし | 21 | 21 |
Extreme Flash(物理容量、TB) | なし | なし | なし | なし | なし | 179.2 | 358.4 | 716.8 | 716.8 | 716.8 | 716.8 |
コンピューティング・コア | 64 | 64 | 96 | 128 | 192 | 288 | 352 | 384 | 384 | 384 | 512 |
最大メモリ(GB) | 256 | 576 | 1,152 | 2,048 | 4,096 | 6,144 | 12,288 | 12,288 | 12,288 | 12,288 | 16,384 |
RDMAネットワーク・ファブリック(Gb/s) | 20 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 100 | 100 |
イーサネット(Gb/秒) | 8 | 24 | 184 | 400 | 400 | 400 | 400 | 800 | 800 | 800 | 1600 |
* 8台のコンピューティング・サーバーと14台のストレージ・サーバーを搭載したフル・ラック1台あたり
Exadataの世代(8ソケット)** | X2-8 | X3-8 | X4-8 | X5-8 | X6-8 | X7-8 | X8-8 | X8M-8 | X9M-8 |
---|---|---|---|---|---|---|---|---|---|
発売日 | 2010年9月 | 2012年9月 | 2014年7月 | 2015年11月 | 2016年4月 | 2017年10月 | 2019年4月 | 2019年9月 | 2021年9月 |
最終出荷日 | 2012年11月 | 2014年12月 | 2015年10月 | 2016年3月 | 2017年11月 | 2019年6月 | 2020年12月 | 出荷中 | 出荷中 |
仕様 | データ・シート[32] | データ・シート[33] | データ・シート[34] | データ・シート[35] | データ・シート[36] | データ・シート[37] | データ・シート[38] | データ・シート[39] | データ・シート[67] |
オペレーティング・システム | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux | Linux |
ディスク・ストレージ(物理容量、TB) | 504 | 504 | 672 | 1344 | 1344 | 1680 | 2352 | 2352 | 3024 |
フラッシュ・キャッシュ(物理容量、TB) | 5.3 | 22.4 | 89.6 | 89.6 | 179.2 | 358.4 | 358.4 | 358.4 | 358.4 |
パーシステント・メモリ(TB) | なし | なし | なし | なし | なし | なし | なし | 21 | 21 |
Extreme Flash(物理容量、TB) | なし | なし | 179.2 | 179.2 | 358.4 | 716.8 | 716.8 | 716.8 | 716.8 |
コンピューティング・コア | 96 | 160 | 240 | 288 | 288 | 384 | 384 | 384 | 384 |
最大メモリ(TB) | 4 | 4 | 12 | 12 | 12 | 12 | 12 | 12 | 12 |
RDMAネットワーク・ファブリック(Gb/s) | 40 | 40 | 40 | 40 | 40 | 40 | 40 | 100 | 100 |
イーサネット(Gb/秒) | 176 | 176 | 180 | 180 | 180 | 540 | 540 | 540 | 540 |
* 2台のコンピューティング・サーバーと14台のストレージ・サーバーを搭載したフル・ラック1台あたり
X5-2より前の世代のExadataシステムは、1/8ラック、クォーター・ラック、ハーフ・ラック、フル・ラックという固定サイズ構成のみで提供されていましたが、2015年1月のExadata X5-2リリースで、エラスティック構成が導入されました。エラスティック構成では、データベース・サーバーとストレージ・サーバーの組み合わせを顧客が指定でき、物理的にラックがいっぱいになるまで、ストレージ・サーバーやコンピューティング・サーバーを個別に基本構成に追加することができます。
コンピューティング・サーバーとストレージ・サーバーの比率は、目的のワークロードの特性によって変えることができます。例として、インメモリ・データベース処理向けに最適化されるExadataシステムの場合、コンピューティング・サーバーの台数を多くして、それぞれに最大のメモリを搭載するでしょう。対照的に、大規模データウェアハウス向けに最適化されるExadataシステムであれば、大容量のストレージ・サーバーを多数追加すると考えられます。また、エラスティック構成により、最新の互換サーバーを使用して旧世代のExadataシステムをスケールアウトすることもできます。たとえば、既存のExadata Database Machine X8M-2にExadata X9M-2のデータベース・サーバーとストレージ・サーバーを追加し、必要に応じて容量を拡大することができます。以前からずっと、Exadata Database Machineは、内部ネットワーク・ファブリック接続を使用して複数のラックを接続し、1台の物理ラックを超えるスケールアウト設計を実現してきました。
オラクルは、新世代のExadataを12~18か月ごとに発表しています。リリースごとに大半のハードウェア・コンポーネントが新しくなり、最新のCPUプロセッサ、メモリ、ディスク、フラッシュ、ネットワーク・テクノロジーが搭載されます。このようなハードウェアの更新により、リリースのたびにパフォーマンスが向上しています。Exadataのソフトウェア刷新は、各世代のリリース時とその間で定期的に行われ、パフォーマンス、可用性、セキュリティ、管理機能、ワークロード統合が絶えず強化されています。2015年10月、Oracle Cloudのサポート機能が導入されました。
Exadataの進化を十分理解できるようにするため、ここからは、各世代で導入されたイノベーションを紹介します。
Exadata V1は2008年にリリースされ、データウェアハウスの高速化に重点を置き、ストレージのフル・スループットをデータベースにもたらすことを目指しました。Exadataは、全データをコンピューティング・サーバーに送信してそこでフィルタする代わりに、データベース・フィルタ処理をストレージに移動することでこれを達成しました。この機能はExadata Smart Scan[40][41]と呼ばれています。Exadata V1では、データベースまたはワークロード間でI/O帯域幅を割り当てるための統合機能であるIORM(I/O Resource Manager)[42]もサポートされました。Exadata V1は、フル・ラックまたはハーフ・ラック構成で提供され、High PerformanceまたはHigh Capacityストレージ・サーバーの選択が可能でした。
Exadata V2[24][43][44]は2009年にリリースされ、クォーター・ラック構成が追加されました。また、フラッシュ・ストレージとデータベース認識型フラッシュ・キャッシュによりOLTPワークロードがサポートされました[45]。
また、大規模なデータウェアハウス表によって消費されるストレージ容量を削減するために、Hybrid Columnar Compressionが導入されました。
Exadata V2のストレージ索引[46]は、領域に含まれる値をストレージ・サーバーが把握することで、ストレージ領域全体を読み込む必要性を解消してパフォーマンスを引き上げました。
Exadata X2-2[25]は第3世代として2010年にリリースされ、第2モデルのExadata X2-8[32]が導入されました。X2-8とこれに続く“8ソケット”モデルには、大容量メモリとスケールアップ・ワークロードをターゲットにしたインテル・プロセッサが搭載されています。このリリースで、Smart Flash Logging[47][48]が導入され、キャッシング以外の目的にフラッシュ・ストレージが使用されるようになりました。10 Gb/秒のイーサネット・コネクティビティのサポートも追加されました。
Exadata X2-2で導入されたハードウェアによる復号化[49]は、ソフトウェアによる復号化で生じるパフォーマンス・オーバーヘッドの大半を解消することで、暗号化を通じたデータ・セキュリティを推進しました。
2011年、急拡大する大容量データウェアハウスおよびアーカイブ・データベースに対応するために、Exadata X2-2にStorage Expansion Rack[50]が追加されました。この後すべてのExadata世代で、2ソケット構成には新しいStorage Expansion Rackが含まれています。
Exadata X3-2[26][51]およびX3-8[33]は2012年にリリースされ、新たに1/8ラックのX3-2エントリ・レベル構成が追加されました。フラッシュ・ストレージ容量が4倍に拡大され、Write-Back Flash Cache機能によってOLTP書込みスループットが20倍に増加したと報告されました。
低速または障害が発生したストレージ・メディアのバイパス[52]、ストレージ・サーバーの一時停止時間の短縮、障害発生ディスクの交換簡略化など、多数の可用性向上機能が追加されました。
Exadata X4-2[27]は2013年にリリースされ、フラッシュ容量が2倍に増加し、フラッシュ圧縮が追加されたため、事実上の容量がさらに倍増しました。ネットワーク・リソース管理[15]が導入され、重要なメッセージが自動的に優先されるようになりました。アクティブ/アクティブ接続のサポートにより、InfiniBand帯域幅が2倍になりました。
Exadata X4-8[34]は2014年にリリースされ、Capacity on Demand[53]ライセンス、I/O待機時間の制限、タイムアウトしきい値が追加されました。
Exadata X5-2[28]およびX5-8[35]は2015年にリリースされ、重要な一連の機能強化が追加されました。フラッシュ容量とディスク容量が2倍に増加し、エラスティック構成[54]の導入により、サーバーを1台ずつ追加できるようになりました。Trusted Partitions[55]の導入によって仮想化オプションが追加され、仮想マシン内での柔軟なライセンスが提供されました。Exadataストレージでのデータベース・スナップショット[56]により、効率的な開発とテストが可能になりました。ExadataのOracle Database In-Memoryに、フォルト・トレラント[57][58]な冗長性が導入されました。High Performanceストレージ・サーバーをオールフラッシュ(Extreme Flash)ストレージ・サーバーに置き換え、大手ベンダーとして初めてNVMeフラッシュ・インタフェースを採用しました。Columnar Flash Cacheが導入され、分析データがフラッシュ内で自動的に列形式に変換されるようになりました。IPv6のサポートが完了しました。Oracle Cloudで、Exadata Cloud Service[59]の提供が開始されました。
Exadata X6-2[29]およびX6-8[36]は2016年にリリースされ、フラッシュ容量が2倍に増加しました。Exafusion Direct-to-Wireプロトコル[60]により、クラスタ内のメッセージ・オーバーヘッドが削減され、Smart Fusion Block Transfer[61]によって、クラスタ内のOLTPアプリケーションのログ書込み遅延が解消されました。Exadata Cloud@Customerがリリースされ、企業データセンターでもOracle Cloudのメリットを活用できるようになりました。
Exadata X7-2[30]およびX7-8[37]は2017年にリリースされ[62]、フラッシュ容量が2倍に増加しました。フラッシュ・カードがホットプラグに対応し、オンラインで交換できるようになりました。10 TBのディスク・ドライブと25 Gb/秒のイーサネット・コネクティビティが追加されました。Oracle Database In-Memoryの処理がフラッシュ・ストレージに拡大され、ストレージ・サーバーのDRAMを利用した高速OLTPが実現しました。
Exadata X8-2[31]およびX8-8[38]は2019年4月にリリースされました。Exadata Storage Server Extended(XT)が、頻繁にはアクセスしないデータを保管する低コスト・ストレージとして導入されました。14 TBのディスク・ドライブが追加され、Exadataストレージ・サーバーのコンピューティング・コア数が60 %増加しました。CPU、ネットワーク、メモリを自動的に監視する機械学習アルゴリズムが追加され、スタックしたプロセス、メモリ・リーク、信頼性の低いネットワークなどの異常が検出され、索引が自動的に作成(自動索引)、再構築、削除されるようになりました。DML実行時にリアルタイムで、オプティマイザ統計情報が自動収集されるようになりました。セキュリティ強化のために高度な侵入検知環境(AIDE)が追加され、未知の変更がシステム・ソフトウェアに加えられると、これが検出され、アラートが通知されるようになりました。
Exadata X8M-2[1]およびX8M-8[39]は2019年9月にリリースされました。Exadata Storage ServerにインテルOptane DCパーシステント・メモリが追加され、RoCE(RDMA over Converged Ethernet)に基づく新しい100 Gbit/sの内部ネットワーク・ファブリックが以前のInfiniBandファブリックに取って代わったことで、大幅なパフォーマンス向上が実現しました[63]。これらの変更により、読取りI/Oスループットが2.5倍に増加し、I/O待機時間は1/10に短縮されました。さらに、新しいKVMベースの仮想マシンがXenベースの旧仮想マシンを置き換えたことで、ゲストVMが使用できるメモリ容量が2倍に増えました。
Exadata X9M-2[66]およびX9M-8[67]は2021年9月にリリースされました。最新世代のインテルOptaneパーシステント・メモリとPCIe Gen 4を搭載しているため、旧世代と比べて顕著にパフォーマンスが向上しています。OLTP読取りI/Oスループットがさらに1.6倍に向上し、Smart Scanが単一ラック内で1 TB/sのしきい値を超えました。
特に記載のない限り、すべての参考資料はオラクル提供です。