InterSystems IRIS: データ投入とリアルタイムクエリを同時に実行するための高パフォーマンスなデータ管理ソフトウェア
Date: June 2020
作成者: 上級 IT 検証アナリスト Kerry Dolan
要約
本レポートは、さまざまなデータベース管理ソフトウェア製品についてデータの投入(インジェスチョン)とリアルタイムクエリを同時に実行したパフォーマンステストを ESG が検証した結果を記載したものです。このテストでは、他の従来型製品とインメモリ製品のパフォーマンスを超えて、マイクロ秒単位のパフォーマンスで数億のレコードの投入と同時に数百万のクエリを実行するInterSystems IRIS Data Platform の能力を実証しました。
課題
多くの組織にとって、リアルタイムにデータを収集し、分析できるようにすることは、収益を高め、可視性を向上させ、情報を活用した戦略の立案や意思決定の支援を行うために不可欠なタスクです。たとえば、金融取引、IoT、不正検出、リアルタイムパーソナライゼーションに重点を置いたアプリケーションは、ただちに大量のデータを投入し、分析しなければなりません。そのために課題となるのは、パフォーマンスを低下させることなく、同時に大量のデータ投入とクエリを処理するために十分な処理能力を備えたデータベースプラットフォームを見つけることです。ESGがデータベースと分析の専門家にデータ分析を支えているテクノロジについて尋ねると、特に重要な機能の1つとしてパフォーマンスが挙げられました1。
インメモリデータベースは高いパフォーマンスを示しますが、拡張に高いコストがかかり、物理的なメモリによる制限があります。この制限は、信頼性に影響を及ぼし、再起動の遅延の原因となることがあります。従来型のデータベースは永続性と信頼性を備えていますが、インメモリデータベースが備える高いパフォーマンスに欠けています。InterSystems IRISは、インメモリのみのデータベースにある制限を受けず、このタイプのデータベースと同等以上のパフォーマンスで、データ投入とクエリの両方のワークロードを同時に処理できます。インターシステムズは、ESGが本レポートで検証しているこの主張を実証するために、オープンソーステストを公開しました。
ソリューション: InterSystems IRIS
InterSystems IRISは、高性能が求められる大規模なマルチワークロード処理のために構築されたデータ管理ソフトウェアプラットフォームです。このプラットフォームは、マルチモデルDBMSとして、リレーショナル、オブジェクト指向、ドキュメント、キーバリュー、階層型のデータオブジェクトをネイティブにサポートします。また、トランザクションワークロードと分析ワークロードの両方に対して同時に、一貫して高いパフォーマンスを実現します。詳細な製品の説明は本レポートの範囲外ですが、一部の主要な機能を以下に説明します。
- データ投入の優れたパフォーマンスを提供する重要な機能は、InterSystems IRIS 内の多次元データエンジンです。これにより、柔軟で表現力豊かなデータ構造を効率的かつコンパクトに保存することができ、リソースとディスクの利用を最小限にする一方で、データの投入、アクセス、更新を高速化できます。
- リアルタイム分析のパフォーマンスは、トランザクショナルビットマップインデキシングスキーマを使用して達成されます。これは、InterSystems IRIS が、データベース全体を検索することなく、リアルタイムデータを含む複雑なクエリを高速に処理できる技術です。
- インテリジェントな分散メモリキャッシングメカニズムである InterSystems IRIS Enterprise Cache Protocolを使用すると、高いパフォーマンスと信頼性で膨大な量のデータセットに対して高度なクエリを実行できます。これには、データを何度もコピーせずに分散データにアクセスするための結合の実行などがあります。
InterSystems IRIS には、他にも以下の機能が含まれています。
- 高速なデータアクセスに最適な形式でのデータ永続性を備え、かつインメモリと同等のパフォーマンス。
- 自動的で一貫性を保証する、組み込みの分散キャッシングレイヤ。
- SQL のフルサポート。
- 単一の API を使用した、オンプレミス、すべての主要なパブリッククラウド、ハイブリッド環境での配備。
ESG による検証
ESG は、インターシステムズから公開されている、カスタマイズ可能でオープンソースの Speed Test ベンチマークキットを使用して InterSystems IRIS のパフォーマンス上のメリットを検証しました 。このベンチマークは、同時に実行されるリアルタイムのデータ投入とクエリのパフォーマンスを測定するために設計されました。これは、金融サービス、不正検出、IoT、その他のアプリケーションで直面する一般的なユースケースです。たとえば、金融サービス企業では、数千件の取引を実行する一方で、数千人のユーザが注文のステータス、リスク管理などのクエリを実行します。同様に、IoT センサデータはフィールドとアプリケーションから高速に送信され、アプリケーションは異常検出やその他のリアルタイム計算をただちに実行しなければなりません。このようにデータベースに負荷がかかっている場合、データの投入と分析クエリを同時に実行すると、パフォーマンスが低下することがあります。
1 - 出典: ESGマスタサーベイ結果, 2019年8月 2 - https://github.com/intersystems-community/irisdemo-demo-htap.