Engineered Systemsとは?
過去2回に渡ってOracle Databaseのインストールと初期設定手順を解説してきました。手順さえ把握しておけば、データベースが動く状態まで持っていくことは簡単です。しかし、実際に本番利用するためには様々な要件をクリアしなければなりません。
例えばショッピングサイトのようなWebサービスの場合、24時間365日稼働し続ける可用性が求められます。データベースが停止してしまうと注文を受け付けられず、大きな損失が発生します。また、商品を素早く検索・表示するための性能も重要です。利用者を待たせてしまうと購買意欲が薄れ、他のサイトに移動してしまうからです。他にもセキュリティや拡張性といった様々な要件が存在します。
これらは非機能要件と呼ばれ、実際の現場では長い時間をかけて設計やテストが行われています。なかにはハードウェアの機能を駆使しなければクリアできない要件もあり、幅広い知識と経験が求められます。「インストールはできるけど、非機能要件を満たせているのか不安。」というケースが多いのではないでしょうか。
そこで誕生したのが、ハードウェアとソフトウェアが一体となった『Engineered Systems』です。予め設計やテストを済ませた状態で提供されるため、最初から可用性や性能などの非機能要件をクリアしたデータベースを使うことができます。
第3回目となる今回は、Engineered Systemsの1つであるOracle Database Applianceの概要とインストール方法について解説します。
データベースの可用性と性能を考える際のポイント
代表的な非機能要件である可用性と性能について考えてみましょう。Oracle Databaseにおける最小構成はシングル・インスタンス構成(あるいはシングル構成)と呼ばれ、インスタンスとデータベースの関係が1:1となっています。本連載で解説してきたインストール手順はシングル・インスタンス構成のものです。
シングル・インスタンス構成には、可用性と性能においてそれぞれ課題があります。まず可用性ですが、シングル・インスタンス構成には障害が発生するとデータベースが使用できなくなる『単一障害点』が存在します。最も分かりやすい単一障害点はサーバーです。シングル・インスタンス構成の場合はサーバーが1台しかないため、部品故障などのハードウェア障害が発生するとインスタンスが停止してしまいます。代わりとなるサーバーがない限り、部品を手配して交換するまでの数時間はデータベースを使用できません。
性能においても、サーバーが1台しかないことが問題になります。データベースの利用者やデータ量が増加するとデータベースの負荷が上昇するため、ハードウェアのリソースが多く必要になります。対処方法としてCPUやメモリーを増強する『スケール・アップ』が考えられますが、1台のサーバーに搭載できる量には限界があります。また、どれだけハードウェアのリソースを増強したとしても、サーバーが1台である以上は可用性と性能を両立できません。