キャッシュによる高速化

インメモリDBによる高速化第1回では、データベースを高速化するための方法として、主にハードウエアを増強する手法について紹介しました。ハードウエアの増強においてはアプリケーションの改修が不要であることが多く、データベースやOSの設定を変更するだけでその恩恵にあずかれるため、ボトルネックが明確であればと

布施 鎮

2009年10月14日 20:00

インメモリDBによる高速化

第1回では、データベースを高速化するための方法として、主にハードウエアを増強する手法について紹介しました。ハードウエアの増強においてはアプリケーションの改修が不要であることが多く、データベースやOSの設定を変更するだけでその恩恵にあずかれるため、ボトルネックが明確であればとても有効な手段となります。

では、ハードウエアの増強では対応しきれないような、高レスポンスタイムや高トランザクションを求められるシステムに対応するためには、どうすればよいのでしょうか?今回は、その解となる、キャッシュ技術を用いたデータベースの高速化について紹介します。

データをキャッシュさせて高速化を図る手法として採用が増えているのが、インメモリDBです。インメモリDBについては、昨年の連載「性能検証!インメモリDB」(http://www.thinkit.co.jp/article/96/3/)の中で、Oracle TimesTen製品について紹介しました。ではなぜインメモリDBは高速化を実現できるのか、簡単におさらいしておきましょう。

  • データ、索引、一時データのすべてがメモリ上に存在
  • メモリアクセスのみを前提としたアーキテクチャーのため、CPUを効率的に使用
  • メモリアクセスに最適な索引を採用

インメモリDBが求められている背景や適用例などについては、過去の連載を参照してください。今回は、2009年8月にリリースされたTimesTen 11gの新機能である「Oracle Databaseとの互換性向上」と「データキャッシュの強化」を取り上げます。この2つの新機能について、アーキテクチャーを簡単におさらいしながら過去のバージョンでの課題を洗い出し、高速化を実現しながらどのような新機能が追加されたのかを説明していきたいと思います。

OracleDBとの互換性を向上

まず1つ目の、Oracle Databaseとの互換性向上からみていきましょう。

TimesTen(を開発した米TimesTen社)は、2005年に米Oracle社に買収されました。このため、買収後にリリースされた製品では、Oracle Databaseとの親和性を高めるため、Oracle SQL関数やデータ型のサポートが進められてきました。そして今回リリースされた11gでは、Oracle Database独自のインターフェースであるPL/SQL(ストアド・プロシージャの開発などに用いられるSQLベースの手続き型言語)、Pro*C(SQL埋め込みC言語)、OCI(Oracle Call Interface)がサポートされています。

図1は、Oracle Databaseアプリケーションの移行方法について、旧リリースであるバージョン7と新版リリースである11gを比較したものです。旧バージョンではPL/SQL内のロジックをアプリケーションの修正によって補う必要がありましたが、11gではPL/SQLを使用したTimesTenへの高速アクセスが可能となりました。

もっとも、一部TimesTenでは対応していないパッケージがあることや、SQLからPL/SQLファンクションの呼び出しができないなど、PL/SQLのTimesTen上での実行にはいくつか留意点もあります。こうした互換性を調べる便利なツールが製品に付属していますので、事前に影響度を確認することは可能です。

その他のOracle製品との互換性強化としては、クラスタソフトであるOracle Clusterwareとの統合が可能になりました。Oracle ClusterwareからTimesTenリソースの監視や管理を行ったり、自動フェールオーバーまで実行することができます。これまでは、フェールオーバーを自動化させるにはサードパーティー製のクラスタソフトが必要であっただけに、Oracle Databaseユーザーにとっては選択肢が広がったといえます。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30