TimesTen適用事例

TimesTen適用事例

 性能検証を行うことで、TimesTenがディスク型RDBMSよりも断然速く、さらにCPU使用効率も優れていることがわかりました。それを踏まえてTimesTenがどのような個所に適しているのか、その適用事例を紹介します。

 TimesTenはもともとテレコムや金融業界をターゲットとして開発されてきた製品です。テレコムであれば、携帯キャリアや通信事業など顧客が数千万規模でトランザクションが大量に発生するようなシステム、金融であれば株価やニュースが大量に流れてくるオンライン証券などが適用例としてあげられます。

 そうした中、最近ではWebシステムなどエンタープライズ領域での採用も進んできました。そこで、今回はどの業界のシステムにも代用できるユーザー認証の例をご紹介します。

 まず、図3を参照しながらシステム構成について説明します。Oracle Database 10gにマスタのユーザー情報が格納されています。その中から認証処理に必要なデータをTimesTenへキャッシュしています。

 アプリケーションサーバーからの問い合わせはすべてTimesTenが返すため、Oracle Databaseへの問い合わせは行われません。マスタの更新はOracle Databaseへ直接行います。

 ユーザー認証にどうしてTimesTenが適しているのでしょうか。1つ目の理由が「厳しい性能要件」です。性能要件が数万から数十万TPSの場合、ディスク型RDBMSだけで処理することは困難です。その場合はTimesTenのようなインメモリDBか、独自開発で対応するかの選択となります。ただし独自開発の場合は拡張のたびに改修が必要になることや、アプリケーションの保守・運用面での課題があるため、製品で実現できるものは製品を採用したいという声が強くなっています。

 もう1つの理由が「データ量が小さい」ことです。1ユーザーに必要なデータの量はシステムによって当然異なるため、マスタDBの大きさはさまざまです。しかしユーザー認証に特化して考えた場合、必要な情報はユーザー名やユーザーIDなど一部のデータ(カラム)となります。

 TimesTenは必要なデータ量以上のメモリが必要となりますが、任意のカラムを選択してキャッシュすることが可能なため、たとえユーザー数が数千万といった規模であっても必要なデータ量は少なく済むケースが多いのです。

 導入効果としては、数万TPSの処理をさばくことができるので、性能向上が期待できます。また、Oracle Databaseの負荷軽減も期待できます。ユーザーからの処理はすべてTimesTenまでしか到達しません。Oracle Databaseに発生する負荷はTimesTenと同期をはかるCache Connectの通信と、ユーザー情報を更新するアプリケーションだけになります。そのためOracle Databaseのリソースを別のことに有効活用することができます。

TiemsTen適用のメリットとデメリット

 最後にTiemsTenを適用することのメリットについてまとめます。

 まず、性能検証の結果からもわかる通り、数万TPSや数十万TPSといったディスク型RDBMSでは実現できない高スループットを実現できること、そしてマイクロ秒のレスポンスタイムを実現できることでしょう。

 さらに、ほかのRDBMSと比べて同スループットを実現するために必要なCPUリソースが少なくて済むこともメリットです。TimesTenを配置するマシンのハードウエアスペックを抑えたり、台数削減によるライセンス料を抑えられることが期待でき、結果としてTCOの削減につながります。

 ただこうしたメリットがある一方で、次のようなデメリットがあることも理解しておく必要があります。

 1つ目は、対象となるデータ以上の物理メモリが必要なことです。これは実データのほかに索引や一時領域の分までメモリが必要になるからです。

 2つ目が、性能重視のため監査やセキュリティー機能がないことです。これまで説明してきたようにTiemsTenは速さを重視しているため犠牲になっている機能もあります

 3つ目が、速いのはあくまでも実行部分のみで、SQL解析やフェッチはほかのRDBMSと変わらないことです。よって、不定形のSQLが多いDWHや取得対象行が多いようなシステムでは思ったような効果がでないことがあります。

 このようにTimesTenはどのような処理や要件にも対応できるような汎用的な製品ではありません。ディスク型RDBMSの置き換えとして検討するのではなく、あくまでも向いている処理をTimesTenに抜き出し、それ以外はこれまで紹介してきたRACと連携させることで、信頼性を確保しつつパフォーマンスが期待できるシステムを構築することができます。

 そのためにもアーキテクチャと製品の得手不得手についてよく理解しておく必要があることは頭に入れておいてください。

 「徹底!データベースグリッド」と題し、3回にわたって連載してきました。「第1回:RACが変えるデータベース環境(http://www.thinkit.co.jp/article/96/1/)」では、データベースグリッドとOracle RACの概要について、「第2回:検証!RACの耐障害性と拡張性(http://www.thinkit.co.jp/article/96/2/)」では、検証結果をもとに、RACの耐障害性と拡張性について、そして今回の「第3回:性能検証!インメモリDB」では、少し趣向を変え、RACとインメモリDBの組み合わせについて紹介しました。今回の連載が、皆さまにとって今後のシステム構築の一助になれば幸いです。

人気記事トップ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