※本ページは、”Maximize database performance with Oracle Exadata and Oracle Linuxの翻訳です。


Oracle Exadata Database Machine(Exadata)は、Oracle Databaseのワークロードを最適なコストで実行するための理想的なプラットフォームを提供するエンジニアド・システムです。そのスケールアウト型アーキテクチャは、最新のプロセッサ、インテリジェントなストレージサーバー、最先端のキャッシング技術、そして高度なネットワーキング機能を統合しています。お客様は、Oracle Cloud Infrastructure(OCI)上の専用Exadata Cloud Infrastructureや、Oracle Database@Azureを通じたMicrosoft Azureのデータセンターにおいて、Oracle Autonomous DatabaseおよびOracle Exadata Database Serviceを実行することで、Exadataの独自のハードウェアおよびソフトウェア最適化の恩恵を活用できます。さらに、Oracle Exadata Database Machineと同一のアーキテクチャおよびインフラストラクチャを採用するOracle Exadata Cloud@Customerにより、顧客はOracle Exadata Database Serviceの性能とコストメリット、ならびにフルマネージドのOracle Autonomous Databaseを自社データセンターに導入でき、データ所在地要件やアプリケーションアーキテクチャ要件への対応が可能になります。また、Zero Data Loss Recovery ApplianceおよびZero Data Loss Autonomous Recovery ServiceもExadataのハードウェアとソフトウェアを活用しており、Oracle Databaseのバックアッププロセスを簡素化し、データベースのリカバリを高速化するとともに、サイバー攻撃に対する保護を強化します。

Exadata Database Machine、Exadata Cloud Infrastructure、Exadata Cloud@Customer、Zero Data Loss Recovery関連のいずれのソリューションにおいても、その基盤には最適化され堅牢なOracle Linuxが採用されています。Oracle LinuxはOracleにおける開発および実行プラットフォームであり、Oracle Databaseおよびその他すべてのOracleサービスやソリューションが設計・実行される基盤となっています。この統合により、Oracle Databaseの開発者は、Linuxカーネルに至るまでスタック全体のトラブルシューティングや性能・信頼性の向上を行うことが可能になります。

Oracle Linuxは、ソリューションスタックとの深い統合を活かすことで、他のLinuxディストリビューションとの差別化を実現しています。では、Exadata Database Machineの運用環境としてのOracle Linuxの特長について、いくつかの観点から詳しく見ていきましょう。

Exadata上のOracle DatabaseにおけるOracle Linuxの利点の解明

Exadataに焦点を当てる前に、Oracleは2種類のLinuxカーネル、すなわちRed Hat互換カーネル(RHCK)とOracle Linux Unbreakable Enterprise Kernel(UEK)を選択できることが重要です。そしてUEKは、Oracle DatabaseおよびExadataで高い性能を発揮するように綿密に最適化されています。OracleのExadata、Database、Linuxの各エンジニアリングチームは密接に連携し、UEKの性能向上に取り組んでいます。これには、システムコールやCライブラリインターフェースのチューニング、最先端機能の統合などが含まれ、結果として卓越したクエリ処理時間とアプリケーションの高速化を実現しています。

UEKを搭載したOracle LinuxはExadata向けに最適化

Exadataは、UEKを搭載したOracle Linuxのみで稼働します。Exadataシステムの特徴的な点として、インストールされるオペレーティングシステム(OS)は、標準的なOracle Linuxディストリビューション(UEKカーネル)をベースにした、カスタマイズかつ最小化されたバージョンであることが挙げられます。最小化されたUEKカーネルはわずか約80MBのサイズであり、OSにはExadataインフラストラクチャ上でOracle DatabaseおよびExadata System Software(ESS)を実行するために必要なパッケージ(約1070パッケージ)、デバイスドライバ、機能のみが含まれています。その結果、インストールのフットプリントが小さくなり、更新の回数が減り、攻撃対象領域(アタックサーフェス)も縮小されます。

例えば、ExadataはRemote Direct Memory Access(RDMA)を活用し、データベースサーバーからストレージサーバーへの直接的なメモリアクセスを実現しています。この重要な機能に必要なカーネルおよびシステムパッケージは、Exadata向けのOracle Linux(UEKカーネル)に単に含まれているだけでなく、慎重に統合され、厳格にテストされ、高い性能とセキュリティを確保する形で提供されています。Oracle Databaseに最適なプラットフォームであることに特化したExadataと、Oracle Linuxチームとの共同開発により、卓越した性能、アップグレード時間の短縮、そして強化されたシステムセキュリティが実現されています。

優れたデータスループットとスケーラビリティ

Exadataは、各データベースサーバーとすべてのストレージサーバーを接続するために、RDMA over Converged Ethernet(RoCE)ネットワークファブリックを利用しています。このネットワークは、低レイテンシかつ十分な帯域幅を提供し、高速なデータアクセスと転送を可能にします。さらに、RoCEファブリックは、ゼロ・パケット・ロス・メッセージング、CPUを介さないダイレクト・データ・アクセス、KVMベースの仮想化セキュリティといった機能も備えています。

データベースワークロードの増加に伴い、RoCEネットワークファブリックはExadataのスケールアウトアーキテクチャにおいて中心的な役割を果たします。顧客は、追加のデータベースサーバーやストレージサーバーをオンラインで追加することで、性能と容量を拡張できます。さらに、単一ラックの能力を超える場合でも、複数のラックを停止することなく相互接続し、あらゆる環境における性能、スケーラビリティ、可用性の要件に対応することが可能です。

RDMAはExadataの高性能アーキテクチャの中核を成す要素であり、世代を重ねるごとに継続的に強化されています。これにより、Exadata RDMA Memory(XRMEM)Data AcceleratorExafusion Direct-to-Wire ProtocolといったExadata専用技術を支えています。また、ミッションクリティカルなOLTPや分析ワークロード、さらにはOracle Database内でのJSON、ブロックチェーン、空間、グラフ、ベクトル処理といったモダンアプリケーションの効率性を最適化します。

最小化されたUEKカーネルを搭載したOracle Linuxを最大限に活用し、Exadataの特徴的な機能をフルに引き出すために、ESSと呼ばれる専用ソフトウェアがDatabase Machine内のすべてのデータベースサーバーおよびストレージサーバーにインストールされ、稼働します。ESSは、XRMEM Data Accelerator、Exadata Smart Flash Cache(フラッシュキャッシュ)Smart ScanStorage IndexHybrid Columnar Compressionストレージサーバー上のDatabase In-Memory Columnar Cacheなど、多様な機能を実現します。

リモートメモリ上のデータキャッシングによるOLTP I/Oレイテンシの低減

XRMEM Data Acceleratorは、Flash Cacheの前段に配置される自動管理型の共有リードアクセラレータ用メモリキャッシュ層であり、リモートに格納されたデータへのアクセス時に桁違いに低いレイテンシを実現します。Oracle DatabaseはRDMAを使用して、このXRMEM Data Acceleratorのメモリへリモートアクセスを行い、データベースサーバーおよびストレージサーバー双方のネットワークおよびI/Oスタックをバイパスします。これにより、高コストなCPU割り込み処理やコンテキストスイッチが排除され、レイテンシは200マイクロ秒から最小17マイクロ秒へと、10倍以上削減されます。Oracle DatabaseとExadataストレージサーバー間のエンドツーエンドの統合により、最も頻繁にアクセスされるデータはデータベースバッファキャッシュとストレージサーバーのFlash Cacheの間で効率的に自動キャッシュされ、RDMA対応のOracle Linux(UEK)の効果をさらに高めます。

インテリジェントなデータ管理による卓越したパフォーマンス

ExadataストレージサーバーはPCIeフラッシュカードを搭載しており、これはExadata RDMAメモリと永続ストレージの間のキャッシュ層として機能し、一般にExadata Smart Flash Cacheと呼ばれます。このキャッシュ機構はXRMEM Data Acceleratorと組み合わせて使用され、頻繁にアクセスされるデータは自動的にキャッシュされ、アクセス頻度の低いデータはディスクに保持されます。このアプローチにより、フラッシュの高速I/Oと応答性能と、ディスクの大容量およびコスト効率を両立します。Exadataはデータベースワークロードを深く理解しており、全体の性能に悪影響を与えるデータのキャッシュを回避するようインテリジェントに制御します。

Smart Scan(SQL Offload to Storageとも呼ばれるExadata専用機能)は、SQLクエリ処理をストレージサーバー側にオフロードします。フィルタリング、列選択、結合、集約などの処理をストレージ層で実行するため、対象データをすべてデータベース層に転送する必要がなくなります。従来のストレージアレイでは、データベースサーバーとストレージ間のネットワークリンクがボトルネックとなり、フラッシュドライブの持つ総帯域のごく一部しか活用できませんでした。

データベースフォーマットを認識したストレージサーバー最適化の重要な機能がStorage Indexです。ストレージサーバー上でSmart Scanが実行されると、スキャン対象データユニット内に格納されている列値の範囲を記録するインメモリのメタデータキャッシュが生成されます。このメタデータは、後続のSmart Scanにおいてフィルタ条件に基づき、特定のデータユニットを参照すべきかスキップすべきかを判断するために利用されます。その結果、フィルタの選択性に応じて、Smart Scanが発行するストレージI/Oの回数を大幅に削減することが可能になります。

最適化された通信によるオーバーヘッドの削減

Exafusionは、Oracle Exadataでのみ利用可能な次世代ネットワーキングプロトコルです。Oracle DatabaseはExafusionを活用することで、ダイレクト・トゥ・ワイヤ(direct-to-wire)メッセージングによりコンテキストスイッチを排除し、OSオーバーヘッドを最小化します。その結果、従来のメッセージングモデルを利用する非Exadata環境と比較して、レイテンシは約3倍改善されます。さらに、インスタンス間通信に伴うCPU使用率も大幅に削減されます。このメッセージングの高速化は、特にOracle Real Application Clusters(RAC)上で稼働するアプリケーションの性能向上に直接寄与します。

Exadata上で稼働する場合、Oracle Databaseはインメモリ・コミット・キャッシュを保持します。各Oracle RACインスタンスはローカルトランザクションおよびコミット状態のキャッシュを保持し、他のインスタンスはRDMAを介してこれを参照できます。このコミット・キャッシュにより、トランザクションの状態の一括参照が可能となり、個別トランザクションごとの参照メッセージを削減し、クエリおよびDML処理時間を大幅に短縮します。

高可用性の強化

Exadataは、Maximum Availability Architecture(MAA)の機能とベストプラクティスに加え、Exadata Instant Failure Detectionによってデータベースの可用性をさらに向上させています。TCP/IPベースのハートビートではなく、RDMA通信を活用することで、データベースサーバーやストレージサーバーの障害をサブ秒(1秒未満)で検出できます。Exadata Instant Failure Detectionがない場合、サーバー障害の検出には通常1分以上かかり、その間アプリケーションは性能低下や不安定な挙動(ブラウンアウト)を経験する可能性があります。

Exadata上でのデータベース統合

ホスティング環境や共有サービスプロバイダー、Dev/Test環境では、分離(アイソレーション)が重要です。Exadata X10M上の統合環境では、KVMベースの仮想マシン(VMゲスト)やSecure RDMA Fabric Isolationを活用して、ワークロード間の強力な分離を実現できます。仮想化を利用することで、同一または異なるExadataソフトウェア、グリッドインフラストラクチャ、データベースバージョンを実行する複数のVMクラスタを、同一のデータベースサーバー上に安全に展開することが可能です。

停止を伴わない高度なセキュリティ

Exadataのデータベースサーバーは、Oracle LinuxのKsplice(ゼロダウンタイムパッチ適用機能)を活用し、OSを停止することなくセキュリティパッチを適用できます。これにより、ワークロードやシステムの停止は不要となります。Exadata Database Machineでは、Kspliceを使用してデータベースサーバーのカーネル更新が可能です。Exadata Cloud@Customerでは、可能な限りOracleが提供する更新はKspliceにより無停止で適用されます。再起動が必要な更新についても、サービス可用性を維持するためにローリング方式で適用されます。

ExadataのLinux構成は、出荷時点でDefense Information Systems Agency(DISA)のSecurity Technical Implementation Guide(STIG)に基づくSecurity Content Automation Protocol(SCAP)ベンチマークの90%以上に準拠しています。さらに、Secure Boot、AIDE(Advanced Intrusion Detection Environment)、SELinux、LDAP、Kerberosサポート、FIPS 140-2対応、ストレージサーバーにおけるseccomp(Secure Computing)などのExadata最適化Linuxセキュリティ機能、およびOracle Databaseの包括的なセキュリティ機能と組み合わせることで、性能や可用性を損なうことなくエンドツーエンドのデータ保護を実現します。

世界中のビジネス成功を支える基盤

現在、小売、金融、通信などさまざまな業界の数千におよぶ企業が、Oracle Linuxを基盤とするExadata上で、最も重要かつ高負荷なデータベースワークロードを実行しています。OLTP、データウェアハウス、機械学習といったワークロードの種類に関わらず、Exadata、Oracle Database、Oracle Linuxの強力な組み合わせにより、世界中の顧客はそれぞれの要件に最適化された形でミッションクリティカルなワークロードを処理することが可能となっています。

参考資料

詳細については、以下のリソースをご参照ください。