InterSystems IRIS Data Platform の開発に着手したとき、データリッチなアプリケーションを提供する際にわかった新たな課題に触発されました。さまざま市場を見ると、アプリケーション開発者は、増え続けるユーザベースをサポートしながら、顧客がより多くのデータに素早くアクセスできるようにすることを、継続的に競っていることが分かりました。当社の既存のデータプラットフォーム製品は、何十年もの間革新し続けています。開発者は、柔軟なデータモデルと高スループットによるデータの取り込みとクエリ機能を利用して、比類のないパフォーマンスを備えたパワフルで信頼性の高いアプリケーションを構築してきました。こうした成功を礎に、パフォーマンス、信頼性、直感的な開発を犠牲にすることなく、コモディティインフラストラクチャで、10倍のデータの取り込み量とクエリ量をサポートできるデータプラットフォームを、顧客やパートナーに提供できる新製品の開発、これが目標でした。
InterSystems IRIS Data Platform のリリースで、当社はこれを実現しました。私は、顧客とパートナーがこれを利用して、アプリケーションを構築していただくのが、待ち遠しいです。
何十年にもわたって、従来のデータベースに対する拡張の問題へのすべての答えは、「より大きい」ものでした。この垂直方向へのス拡張の実現は、単一のシステムでより性能の高いCPU、大きなメモリとディスクを意味しました。しかし、シングルスレッドのパフォーマンス向上は、年々劇的に遅くなりました。仮想化とコンテナ技術によって、コモディティハードウェアの拡張が経済的に可能になりました。ますます増加するデータとユーザのボリュームに対処するためには、「より多くの」答えが必要です。連携するシステムのクラスタ全体にわたる水平方向への拡張性が必要です。
InterSystems IRIS Data Platform となるものを開発しながら、水平方向への拡張性の課題の最初のモデルは金融市場でした。投資銀行は、これまで、より大規模な非コモディティシステムへの開発を何度も繰り返し行って拡張する必要がありましたが、コスト削減と新しいアプリケーションの構築を確実にできるコンピューティングインフラストラクチャの標準化に注力することで、仮想化したコモディティハードウェア全体として拡張することができます。
これらのアプリケーションの多くは、長年実証された性能と信頼性から、SQL 上にデータアクセスレイヤーを構築していましたが、従来の SQL データベースは水平方向に拡大するのに適していませんでした。開発者は、より多くの重く複雑なコードをもつNo-SQLベースのソリューションを選ぶのか(SQL データベースよりもクエリ計画と処理を何度も行わなければならない)、あるいは、クエリ分散の負担の大きい従来のSQLパーティショニングスキームを選び、アプリケーションを再度集約するのかという選択肢に直面していました。
InterSystems IRIS Data Platform は、力強い代替策を提供します。当社のシャード化された SQL アーキテクチャは、透過的にデータを分散し、クラスタを横断してクエリを実行します。大きなテーブルのデータはシャード化され、自動的にシステムが指定したIDかユーザが特定したシャードキーによって、自動的に分散されます。クエリは、透過的に再記述され、各シャードデータは並列して実行され、その結果は必要に応じて再集約されます。インターシステムズの高性能分散キャッシュ技術により、非シャード化テーブル、あるいはシャード化されたテーブルのデータは、クラスタのどこからでもアクセス可能です。従来のシャード化SQL技術と異なり、物理的なレプリケーションの必要はありません。
この結果、データ全体を見通すことができ、シャード、非シャードに関わらず全データベーステーブル間での任意のジョインが可能になります。非常に大量の履歴データは、今入ってくるリアルタイムデータと単一クエリ内で、直接統合することが可能です。クエリ処理は、可能な限りデータ要求に近いところ(そしてクラスタを通しての平行処理)で実行され、遅延を最小限にし、スループットを最大化します。
透過的に分散されたSQLクエリは、InterSystems Data Platform がデータリッチアプリケーションのために提供するのほんのさわりにすぎません。そして、まだ始まったばりです。当社は常に開発者に、アプリケーションに最適ないかなるツールを通して、データアクセスを可能にしています。究極的に遅延のないことを求められるアプリケーション、広帯域なインテグレーションと抽出は、InterSystems IRIS のコアデータ構造と直接共有メモリ接続が可能です。“ビッグ”データクラスタコンピューティングアプリケーションは、InterSystems IRIS から、Apache Spark に接続して、非常に高いレートで並列的にデータの生成と使用が可能です。Javaアプリケーションは、InterSystems IRIS JDBD ドライバを使って統合し、SQL クエリと高速リザルトセットトランスファモードの自動マルチコア実行を活用することができます。
InterSystems IRIS には非常に素晴らしい技術があり、大変誇りに思います。しかし、私が一番素晴らしいと思うのは、この技術を利用して、開発者が信じがたいほど高性能で拡張性の高いアプリケーションを構築することができることです。
最後に、Enterprise Strategy Group と共に行った調査を紹介します。彼らは、POC(検証)環境で、3つのよく使用されるデータベースの比較を行いました。その結果、InterSystems IRIS が、断然よいものでした。是非、
このアナリスレポートをお読みください。
トム・ウッドフィン
インターシステムズ開発マネージャ。InterSystems IRIS SQLおよびその他クエリ、分析技術の担当。インターシステムズおよびデータベース技術開発に15年経験を持つ。マサチューセッツ工科大学コンピュータサイエンス、哲学修士を取得。