JJUGセッションまとめ その1 Oracle Coherence

今日は日本Javaユーザ会のクロスカンファレンスに一日費やす。
無料なのに中身の濃いセッションが聞けてとてもためになった。

まとめその1は、Brian Oliver (Oracle本社から。明日のOOWのために来日) の Oracle Coherenceを中心とした「インメモリ・データグリッド」による典型的デザインパターンという内容。
http://www.java-users.jp/contents/events/ccc2009spring/sessions.html#G2

まず Oracle Coherenceという製品を知らなかった。インメモリ上にデータをキャッシュできるミドルウェアで複数のサーバーに分散させて管理することで拡張性と可用性を高めることができる。

本来キャッシュサーバーは2次的な位置づけだったが、ここまで発展してくるともはやキャッシュ自体が一次的なデータ管理の位置づけを帯びてくる。
Oracle 10g RAC もまさにこのような思想。
また、DataStoreだけでなくApplication(ロジック)もキャッシュ側に持つことで、Gridという概念に昇華していく。
そういう進化の流れを理解することが出来た。

実際の案件でデータベースをスケールさせるときに使えないかなあと思いながら聞いていたが、いくつか疑問に思ったことは

  • キャッシュ側でロジックを実行できるということを除いて考えると(DataStoreの機能にFocusすると) 10gRAC との違いはどのあたりにあるのか?
  • データベースレイヤーはOracle以外のRDBMS(MySQLSQLServerなど)でもOKなのか? >> これが可ならば適用範囲が広がりそう
  • アプリにはどのようなインターフェースが提供されているか?(キャッシュを意識せず、JDBCのレイヤでラップしてくれていると嬉しい。)
  • Grid側で実行させるロジックはどう書く?(特に各サーバーに並列処理させる場合など)

といった点。上記の点については早急に調べてみよう。

あとはプレゼンテーションの冒頭で、「predictable scalabilityが大事」と話していたのだが、coherenceでどのあたりにそういうしくみがあるのか説明が無かった。

同時通訳で話しずらそうにしていたけど、聞きやすかったしいいセッションだった。