「オラクル製品に最適化されたプラットフォームだから」──Oracle ExadataでOracle Linuxが採用される理由(2/2 ページ)
圧倒的なパフォーマンスと可用性を兼ね備え、ミッションクリティカルシステムの基盤として多くの企業で導入が進むOracle Exadata。その標準OSとして採用されているのが「Oracle Linux」だ。Oracle Exadataは、なぜOracle Linuxを採用しているのか? それには深いワケがあった。[運用管理効率化][Engineered System]
さまざまなチューニングが施され、オラクル製品のパフォーマンスを最大限に引き出すOracle LinuxのUEK
前述したように、Oracle Linuxでは2つのカーネルを切り替えて使用できるが、Oracle ExadataやOracle Exalogicなどで使われているのは、オラクル製品に最適化されたカーネルであるUEKだ。Oracle Exadataに関しては、ハードウェアのチームとOracle Databaseのチーム、そしてOracle Linuxのチームが密接に連携して開発を進めている。その具体的な例の一つとして、面和毅氏(日本オラクル 製品戦略統括本部 Oracle Linux & Oracle VM営業部 プリンシパルセールスコンサルタント)はIPC(InterProcess Communication:プロセス間通信)の開発を挙げる。
「IPCは汎用的なプロトコルであり、Oracle Databaseでも使われていますが、高ストレス環境下では安定しにくいという特性があります。もともとOracle Linuxでは、IPCを安定させるための拡張コードを入れていましたが、UEKでは低レイテンシかつ安定性の高いRDS(Reliable Datagram Sockets)というプロトコルに置き換えました。これによってスループットが大幅に向上した他、通信の安定性も高まっています。Oracle Linuxとデータベースのチームがそれぞれの知識を集結させたことで、こうした改善が実現したのです。なお、オラクルはこのRDSの成果をオープンにしており、Linuxの標準カーネルにも取り込まれています」(面氏)
InfiniBandのドライバーの実装に関しても、Oracle LinuxとOracle Databaseのチーム、そしてカードベンダーが連携して研究/検証作業を重ね、その成果がUEKカーネルに組み込まれている。Engineered SystemsはInfiniBandを活用することで高いパフォーマンスを実現しているが、その裏側にはこうした共同作業があったのだ。
さらに、Oracle LinuxにはインテルCPUに含まれる拡張命令セット、あるいはインテルが提供しているライブラリを使ったカラムナーコンプレッション高速化のための仕組みも盛り込まれている。これらの開発でも、ハードウェア開発チームとOracle Linux、Oracle Databaseの開発チームが緊密に協業し、さらにインテルからも協力を受けたとのことだ。その他にも、データベースを高速化するための、さまざまなチューニングをカーネルレベルで施しているという。
「OSの基本機能であるファイルシステムやスケジューラー、システムコールについても見直しを図り、データベースのクエリを高速に実行するためには何が必要かといった観点から検証を行ってカーネルに実装しています。Engineered Systemsを含む全てのオラクル製品を高速かつ安定して動作させるために、Oracle Linuxではソフトウェアとハードウェアのチームが連携しながら、常に改善が続けられているのです」(面氏)
UEKを使うだけでOracle Databaseの性能が劇的に向上する
このように、徹底したチューニングが施されたOracle Linuxは、Engineered Systems以外の環境でも、オラクル製品を実行する最良のプラットフォームに仕上がっている。そのパフォーマンスの高さを端的に示すのが次のベンチマーク結果だ。
↓100% | Red Hat互換カーネル | UEK | UEKによる性能向上比 |
---|---|---|---|
8KBフラッシュキャッシュ読み込み性能(IOPS) | 19万7000 IOPS | 100万 IOPS | 400% |
SSDアクセス | 4GB/秒 | 9.5GB/秒 | 137% |
Infiniband RDSメッセージ、シングルカード | 8万9000IOPS | 27万3000 IOPS | 200% |
8ソケットデータベースOLTP | 1800万トランザクション/秒 | 3200万トランザクション/秒 | 75% |
※Oracle Linux 5+UEK1とRed Hat Enterprise Linux 5で比較したデータ
このベンチマークでは、汎用のIAサーバーを利用し、Oracle LinuxのRed Hat互換カーネルとUEKで、それぞれ同じテストを実行している。例えば、OLTP性能の比較では、互換カーネルが1800万トランザクション/秒であるのに対し、UEKは3200万トランザクション/秒と1.75倍もの差を付けている。こうした結果からも、Oracle Databaseをはじめとするオラクル製品にとって、Oracle Linuxが最適な実行環境であることがご理解いただけるだろう。
もちろん、オラクル製品は他のLinuxディストリビューションやWindows Server、あるいはHP-UX、AIX、Solarisなど、さまざまなプラットフォームで利用することができる。このオープン性の高さもオラクル製品が守り続ける特徴だが、「さらなる性能向上を図りたい」、「オラクル製品を安心して利用したい」と考えるのなら、ぜひOracle Linuxをご活用いただきたい。
※本記事は日本オラクルにより提供されたコンテンツを転載したものです。
提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2014年7月15日
Copyright © ITmedia, Inc. All Rights Reserved.