オルタナティブ・ブログ > 隠れた財産 >

Make Applications More Valuable

Caché Java JNIアクセス

»

以前このブログでもご紹介しましたが、JNI(Java Native Interface)を使って、CachéとJava VMを同一プロセス上で動作させることにより、永続アクセスを高速化する仕組みが実装されました。

まだ簡単なケースでしかテストしていませんが、想像以上に高速です。

Cachéのネイティブ言語であるCaché ObjectScriptでアクセスするケースとほとんど遜色ない性能がでるようになりました。

また、アクセス方法もCachéの特徴である3つのアクセス手法(ダイレクト、SQL、オブジェクト)を全てサポートしています。

JavaでCachéのグローバル配列変数にJNI経由で直接アクセスする仕組みをMDS(MultiDimensional Storage)と呼んでいます。

Javaはオブジェクト指向言語なので、グローバルを直接アクセスするといっても、その概念を非常に軽く(薄く)抽象化したAPIで構成されます。

この上にオブジェクトのインタフェースをかぶせたのが、Java Dynamic Object APIです。

SQLに関しては、JDBCのトランスポート層をJNIに代えたIn-Process JDBCが実装されました。

さらに今後、これらをベースにJSR-107で定義されている標準API JCACHEの実装が計画されています。

これは、いわゆるグリッド環境でのメモリーキャッシュを提供するものです。

昨今、金融や科学計算などの分野での大量データを取り扱うJavaの開発プロジェクトにおいて、Javaのメモリーヒープが引き起こすガベージコレクションの問題が顕著になってきているという話が漏れ聞こえてきますが、通常のメモリーヒープの代わりにメモリーキャッシュ技術を使ってこの問題を解決できるのではないかと考えられます。

伝統的なデータベースという概念を超えた利用が増えつつある予感がします。

Comment(0)