Oracle ExadataとOracle Linuxでデータベースのパフォーマンスを最大化 (2024/03/27)
Oracle ExadataとOracle Linuxでデータベースのパフォーマンスを最大化 (2024/03/27)
投稿者:Gursewak Sokhi | Technical Product Manager - Oracle Linux & Virtualization
Alex Blyth | Senior Principal Product Manager - Exadata
Oracle Exadata Database Machine (Exadata)は、Oracle Databaseワークロードを最適なコストで実行するための理想的なプラットフォームを提供するエンジニアド・システムです。スケールアウト・アーキテクチャは、最新のプロセッサ、インテリジェント・ストレージ・サーバー、最先端のキャッシング・テクノロジおよび高度なネットワーキング機能を統合します。お客様は、Oracle Database@Azure製品を通じて、Oracle Cloud Infrastructure(OCI)上の専用Exadata Cloud Infrastructureおよび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ディストリビューションと差別化を図っています。Oracle LinuxがExadata Database Machineのオペレーティング環境であることを示すいくつかの側面について詳しく説明します。
Exadata上のOracle DatabaseのOracle Linuxのメリットを明らかにする
Exadataに焦点を当てる前に、Oracleは、Red Hat Compatible Kernel (RHCK)とOracle Linux Unbreakable Enterprise Kernel (UEK)の2つのLinuxカーネルから選択でき、UEKはOracle DatabaseとExadataに高いパフォーマンスを提供するように細かく調整されていることに注意してください。OracleのExadata、DatabaseおよびLinuxエンジニアリング・チームは、UEKのパフォーマンスを向上させるために緊密に連携しています。これには、システムコールとCライブラリインターフェイスのチューニング、最先端の機能の統合などが含まれ、これらはすべて、並外れたクエリ処理時間と加速されたアプリケーションにつながります。
UEKを使用するOracle Linuxは、Exadata-architecture_scaled_image用に最適化されています。
Exadataは、UEKを使用するOracle Linuxによって排他的に動作します。Exadataシステムには特徴的な機能が備わっています。オペレーティング・システム(OS)がインストールされているのは、UEKを使用した標準のOracle Linuxディストリビューションのカスタマイズ済バージョンです。最小化されたUEK、サイズがわずか80MBで、オペレーティング・システムには必要なパッケージ(約1070個のパッケージ)、デバイス・ドライバ、およびExadataインフラストラクチャおよびExadata System Software (ESS)でOracle Databaseを実行するために必要な機能のみが含まれます。最終的に、インストール・フットプリントが小さくなり、更新が少なくなり、攻撃対象領域が減少します。
たとえば、ExadataはRemote Direct Memory Access (RDMA)を利用して、データベース・サーバーからストレージ・サーバーへの直接メモリー・アクセスを容易にします。この魅力的な機能に必要なカーネルおよびシステム・パッケージは、UEK for Exadataを使用するOracle Linuxにだけ含まれているのではなく、慎重に統合され、厳密にテストされ、優れたパフォーマンスとセキュリティを確保するために提供されます。Exadataは、Oracle Databaseに最適なプラットフォームであり、Oracle Linuxチームとの共同エンジニアリングと組み合わせることで、優れたパフォーマンス、アップグレード時間の短縮、システム・セキュリティの強化に注力しています。
優れたデータ・スループットとスケーラビリティ
Exadataでは、RDMA over Converged Ethernet (RoCE)ネットワーク・ファブリックを使用して、各データベース・サーバーをすべてのストレージ・サーバーに接続します。このネットワークは、データ・アクセスおよび転送速度を高速化するために、低レイテンシおよび十分な帯域幅を提供します。速度を超えて、RoCEファブリックには、パケット損失ゼロ・メッセージング、CPU関与のない直接データ・アクセス、KVMベースの仮想化セキュリティなどの機能が含まれています。
データベース・ワークロードの増加に伴い、RoCEネットワーク・ファブリックは、Exadataのスケールアウト・アーキテクチャにおいて中心的な役割を果たします。お客様は、パフォーマンスと容量を向上させるために、オンラインでデータベースやストレージ・サーバーを追加できます。需要が単一の物理ラックの容量を超える場合は、任意の環境のパフォーマンス、スケーラビリティおよび可用性のニーズを満たすために、ダウンタイムなしで複数のラックを相互接続できます。
RDMAは、Exadataの高パフォーマンス・アーキテクチャの不可欠な部分であり、Exadata RDMA Memory (XRMEM) Data AcceleratorやExafusion Direct-to-Wire ProtocolなどのExadataのみのテクノロジを支える、Exadataの連続する世代ごとに継続的に拡張されています。さらに、Oracle Database内でJSON、ブロックチェーン、空間、グラフ、およびベクトル処理を使用して、複雑でミッションクリティカルなOLTPおよび分析ワークロード、および最新のアプリケーションの効率を最適化します。
最小限のUEKでOracle Linuxを完全に活用し、Exadataが有名で、ESSと呼ばれる特殊なソフトウェアがインストールされている包括的な機能を利用し、Database Machine内のすべてのデータベースおよびストレージ・サーバーにRDMA_DB-Storage_scaledoperatedを利用します。ESSでは、XRMEM Data Accelerator、Exadata Smart Flash Cache (フラッシュ・キャッシュ)、スマート・スキャン、ストレージ索引、ハイブリッド列圧縮、ストレージ・サーバー上のデータベース・インメモリー列キャッシュなどの様々な機能を使用できます。
リモート・メモリーでのデータ・キャッシュによるOLTP I/Oレイテンシの低減
XRMEM Data Acceleratorは、フラッシュ・キャッシュの前に自動的に管理される共有読取りアクセラレータ・メモリー・キャッシュ層であり、リモートで格納されたデータにアクセスする際のレイテンシを大幅に削減できます。Oracle Databaseでは、RDMAを使用してXRMEM Data Acceleratorメモリーにリモートでアクセスし、データベース・サーバーとストレージ・サーバーの両方でネットワークおよびI/Oスタックをバイパスします。これにより、コストのかかるCPU割り込みやコンテキスト・スイッチを排除し、レイテンシを200μsから17μsまで10倍以上削減できます。ExadataのOracle DatabaseとExadata Storage Servers間のエンドツーエンドの統合によって、データベース・バッファ・キャッシュとストレージ・サーバーのフラッシュ・キャッシュ間で最もホットなデータが自動的に効率的にキャッシュされるため、RDMA対応のOracle LinuxとUEKの効率が向上します。
インテリジェントなデータ管理による優れたパフォーマンス
Exadataストレージ・サーバーには、Exadata RDMAメモリーと永続ストレージ(一般にExadataスマート・フラッシュ・キャッシュと呼ばれる)間のキャッシュ層として機能するPCIeフラッシュ・カードが組み込まれています。このキャッシュ・メカニズムは、XRMEM Data Acceleratorとともに使用して、頻繁にアクセスされるデータを自動的にキャッシュしますが、アクセス頻度の低いデータはディスクに残ります。このアプローチでは、高I/Oレートと高速のフラッシュ・レスポンス時間を、ディスクの大容量とコスト効率と組み合せます。Exadataは、データベース・ワークロードを独自に理解しており、全体的なパフォーマンスに悪影響を及ぼすデータのキャッシュをインテリジェントに回避できます。
スマート・スキャン(ストレージへのSQLオフロードとも呼ばれ、Exadata専用)は、SQL問合せ処理をストレージ・サーバーにプッシュ・ダウンします。フィルタリング、列選択、結合、集計などのタスクをストレージ層内で実行するため、最初からすべての問合せ対象データをデータベース層に取り込む必要がなくなります。従来のストレージ・アレイでは、データベース・サーバーとストレージ間のネットワーク・リンクが大きなボトルネックとなっているため、フラッシュ・ドライブから使用できる集約帯域幅の一部しか提供されません。
主要なデータベース・フォーマット対応のストレージ・サーバー最適化は、ストレージ索引です。スマート・スキャンがストレージ・サーバーで実行されると、スキャンによってアクセスされる各データ・ユニット内に格納された列値の範囲を記録するインメモリー・メタデータ・キャッシュが移入されます。このメタデータは、将来のスマート・スキャンによって、特定のデータ・ユニットにアクセスするかスキップするかをフィルタ述語に基づいて判断するために使用できます。その結果、フィルタの選択性に応じて、スマート・スキャンによって発行されるストレージI/O操作の数が大幅に減少する可能性があります。
最適化された通信によるオーバーヘッドの削減
Exafusionは、Oracle Exadataで独自に利用できる次世代のネットワーク・プロトコルです。Oracle Databaseは、Exafusionを利用して、ダイレクト・トゥ・ワイヤ・メッセージングによるコンテキスト・スイッチングを排除し、OSのオーバーヘッドを最小限に抑えることで、従来のメッセージング・モデルに依存しているExadata以外のプラットフォームと比較してレイテンシが3倍向上します。また、インスタンス間通信に関連するCPU使用率が大幅に削減されます。全体的に、このメッセージングの高速化は、特にOracle Real Application Clusters(RAC)にデプロイされたアプリケーション・パフォーマンスに直接メリットをもたらします。
Exadataにデプロイすると、Oracle Databaseはインメモリー・コミット・キャッシュを保持します。各Oracle RACインスタンスは、ローカル・トランザクションとコミット状態のキャッシュを保持し、リモート・インスタンスはRDMAを使用して読み取ることができます。このコミット・キャッシュにより、トランザクション状態の一括検索が容易になり、単一のトランザクション参照メッセージが削減され、問合せとDMLの両方の処理時間が大幅に短縮されます。
高可用性の強化
最大可用性アーキテクチャ機能およびExadataが構築されているベスト・プラクティスに加え、Exadataインスタント障害検出によってOracle Databaseの可用性が大幅に向上します。TCP/IPハートビート・メッセージではなくRDMAを活用することで、データベースまたはストレージ・サーバーで1秒未満の障害を迅速に検出できます。Exadataインスタント障害検出がない場合、通常、サーバー障害検出には1分以上かかり、その間、アプリケーションがブラウンアウトまたは一貫性のないパフォーマンスが発生する可能性があります。
Exadataでのデータベース統合
ホストおよび共有サービス・プロバイダおよびDevTest環境では、分離が重要です。Exadata X10Mで実行されている統合環境では、ワークロード間で強力な分離を実現するために、KVMベースの仮想マシン(VMゲスト)およびSecure RDMA Fabric分離を使用することもできます。仮想化を使用すると、Exadataは、同じまたは異なるExadataソフトウェア、グリッド・インフラストラクチャまたはデータベース・バージョンのいずれかを実行する複数のVMクラスタを、すべて同じデータベース・サーバーのセットに安全にデプロイできます。
中断なくセキュリティを向上
Exadataデータベース・サーバーは、Oracle LinuxのOracle Kspliceゼロ・ダウンタイム機能を利用して、OSがオンラインのままである間にセキュリティ・パッチを適用します。つまり、ワークロードやシステムを中断する必要はありません。Exadata Database Machineの場合、お客様はKspliceを使用してデータベース・サーバーのカーネルに更新を適用できます。Exadata Cloud@Customerでは、可能な場合、Kspliceを使用してダウンタイムなしでOracleによってデプロイされた更新が稼働中のシステムに適用されます。コンポーネントの再起動が必要なその他の更新の場合、Oracleは、更新プロセス中のサービスの可用性を確保するために、ローリング方式でコンポーネントの再起動を実行します。
ExadataのLinux構成は、Defense Information Systems Agency (DISA) Security Technical Implementation Guide (STIG) Security Content Automation Protocol (SCAP)ベンチマークで90%を超えています。セキュア・ブート、Advanced Intrusion Detection Environment (AIDE)、Security Enhanced Linux (SELinux)、LDAP、Kerberosサポート、Federal Information Processing Standard (FIPS) 140-2サポート、ストレージ・サーバー上のSecure Computing (seccomp)、Oracle Databaseセキュリティ機能の完全なスイートなど、Exadataが最適化されたLinuxセキュリティ機能と組み合わせることで、Exadataはパフォーマンスや可用性を損なうことなくエンドツーエンドのデータ保護を提供します。
世界中のビジネスの成功を促進
今日、小売、財務、通信などの業界にまたがる何千もの企業が、Oracle Linuxを搭載したExadataで最も重要で要求の厳しいデータベース・ワークロードを実行しています。Exadata、Oracle Database、Oracle Linuxの動的な組み合わせであるワークロード(OLTP、データウェアハウス、機械学習など)に関係なく、お客様の要件に合わせたデプロイメント・モデルでミッションクリティカルなワークロードをグローバルに処理できます。
リソース
詳細は、次のリソースを参照してください。
コメント
コメントを投稿