Connection Pooling in AR

前記事の補足です。
ActiveRecordは、現状データベースに対して1接続しかキャッシュできないようです。
そのため現状のJRoRでは、データソースを使ってもほぼ何の効果もない状況になっているようです。
それを改善すべく、Nick Siegerが取り組んでいるようで、ActiveRecord自体に手を入れ、Rails2.1のリリース後にRailsのtrunkにマージされるようです(まだ未定)。
Nickが行っているActiveRecordのコネクションプーリングの実装は、

  • AR::Base.establish_connection が呼ばれると、コネクションプールオブジェクトが生成され、キャッシュされる。
  • コネクションプールがそれぞれの接続を管理する
  • Connection APIは大幅には変更しない
  • JRoRから透過的にJNDIのデータソースを使えるようにする
などなどです。
詳細は、こちら。改良版ARのソースはこちら
Connection Poolを有効に使えるRailsが登場するのはもう少しかかりそうですが、透過的にJRoRから使えるようになれば、大規模システム等でもRoRがより有効になるかもしれません。


投稿されたコメント:

コメント
  • HTML文法 不許可
About

Tomo

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
今日