データベースを高速化したい、でも既存アプリは触りたくない

 データ量の爆発的な増加に伴い、どうしてもバッチ処理時間が長引いてしまう。このような問題に悩まされているIT関係者は多いはずだ。ビッグデータをはじめとしたデータ活用が本格的に始まれば、バッチ処理の負担はさらに大きくなるだろう。

 では、バッチ処理時間を短縮するにはどうすればいいのか。まず着目すべきなのがデータベースの処理時間だ。演算処理はサーバーの高性能化やマルチコアを活用した並列処理などで、十分に高速化されている。しかし、これにデータを出し入れするデータベースの処理速度が、十分に追いついていないのが現状だ。これまでにもデータベース処理を高速化するため、多くの企業でOracle Real Application Clusters(Oracle RAC)の導入が進められ、パラレルクエリによる処理の分散化が行われてきた。しかし、このアプローチに限界を感じているIT関係者も現在では少なくないはずだ。

 データベース処理が遅い原因は複数考えられるが、大きく分けると、ソフト的な要因とハード的な要因に分類できる。また、それらを解消するためのアプローチもソフトとハード両方のアプローチが存在する。

図1●データベースが遅い原因
ソフト的な要因とハード的な要因があるが、即効性が高いのはハードの見直しだと言える。

 これに対して、ハード的なアプローチを勧めるのが、数多く企業に対して、データベース高速化の支援・サポートを行ってきた日立システムズの服部 隆氏だ。

株式会社 日立システムズ 産業・流通営業統括本部
第一営業本部
第一営業部 第一グループ
部長代理
服部 隆 氏

 「ソフト的な要因としては、アプリケーションやデータベースの構造、SQL文、パラメータなどに問題があるケースが挙げられます。これらを解決するには、アプリケーションやデータベースの見直しが必要となるケースが多く、工数と時間がかかってしまいます。そのため、業務システムそのものを完全にリプレイスする時期などでないと取り組みにくく、投資効果を考えれば、これはあまり現実的な方法ではありません。一方で、ハード的な要因としては、主にハードの処理能力が不足しているケースが挙げられます。この問題を改善する方法は、基本的にはハードの入れ替えをすれば解決できるため、ソフト的な解決方法と比較して必要な工数や時間が少なく、即効性が高くなります。もし既存アプリケーションをそのまま使いたいのであれば、これが現実的な選択肢と言えるでしょう」(服部氏)。

 それでは、ハードによるアプローチの中でも最も有効な手法は何なのだろうか。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。