[seasar-dotnet:2406] Re: 初心者的な質問で申し訳ないですが・・・
志水正幸
[E-MAIL ADDRESS DELETED]
2015年 1月 15日 (木) 00:25:20 JST
志水です。
超お世話になっております。
小谷さんありがとうございます。
参考になりましたー。
> 小谷です。
>
> Seasar.NETは内部でADO.NET <http://Seasar.xn--netado-
> yc4e9bt795bkq4g.NET>を使ってDB接続を行っており、
> コネクションプーリングは、このADO.NET <http://ADO.NET>に対応したデータ
> プロバ イダ側
> (OracleならODP.NET <http://ODP.NET>な ど)で実装されています。
> http://msdn.microsoft.com/en-us/library/vstudio/bb399543%28v=vs.100%29.aspx
>
> Oracle をご利用ということでデータプロバイダはODP.NET <http://ODP.NET>
> をお使いになっているのかなと思います。
> ODP.NET <http://ODP.NET>であれば、コネクションプーリングの ON/OFF、最
> 大接続数などの設定は
> 接続文字列の属性で指定すればよいはず(詳しくはOracle公式ページな どで)。
> http://codezine.jp/article/detail/1503
> http://www.oracle.com/technetwork/issue-archive/2006/06-jul/o46odp-097508.html
> (「Connection Pooling Overview」の辺りを参照)
>
> 以上です。
>
>
> 2015年1月14日 15:56 kubo <dbflute @ gmail.com <mailto:dbflute @ gmail.com>>:
>
> 久保です
>
> 志水さん、こんにちは
>
> > ■DBFLUTEはコネクションプーリングをデフォルトで使用していると
> > 勝手に思いこんでいるのですが合ってますか?
>
> DBFlute.NETの方は、S2Dao.NETを経由しています。
> コネクションプールしてないとお話にならないと思うので、
> どう考えてもしていると思いますが、一瞬どこでやってたっけ?って。。。
>
> to 小谷くん
> Seasar.NETの中でConnectionPoolしてるんだっけかな?
> (JavaだとSeasar自体がConnectionPool持ってるけど)
>
> > ■DBFLUTEは1リクエスト内ではコネクションは張りっぱなしと思ってい
> ますが 合ってますか?
> スレッドトランザクション方式になっている、その通りです。
> トランザクションを開始するとDataSourceの常に同じコネクションを戻し
> ます。
> (同じスレッド内では)
>
> > ■WEBでは基本的にリクエスト跨いだロック(For Update)はできないと
> 思ってい ますが合ってますか?
> そうですね。リクエスト間でトランザクションを貼りっぱなしに
> しないといけないので、まったくやったことはないです。
>
> > ■お客から接続コストを抑えるためにコネクションをセッションに
> > 保持して使い 回しできないの?って質問されたんですが
> コネクションプールしていればそんなことする必要ないですね。
> というか、セッションに入れたらセッション消えるまでそのコネクションが
> 残っちゃうので、逆に枯渇しそうですね。その方式は聞いたことないです。
>
> > ■DBFLUTEのコネクションプーリングの最大数などは、どこで管理してい
> るので しょうか?
> これもSeasar.NETの方の話次第で。
>
> > ■DBFLUTEでDBLLINKしているテーブルを更新したいのですが
> DBLLINKに対してシノニムを作ればできると思います。For Updateできる
> かと。
> 手元のテーブルとして扱えるようになります。(こちらマニアックですが
> 実績ありです)
>
> > ■DBLINKって遅いと聞きましたが、どの辺が遅いのでしょうか?
> > 通常のプライマリキーでのSELECTではどうなんでしょう?
> 別インスタンスのDBに対してのSQLゲートウェイな感じなので、
> 直接SQLを投げるよりかは遅いと思います。(経由してる分)
> ただ、どの程度遅いのかはパフォーマンス検証しないとわからないですが。
> (許容できるレベルなのかどうか。許容レベルは業務によって変わるで
> しょうし)
>
> > ■マスタ類とかの参照があるなら、DBLINK使うより、複数DB接続の方が
> いいので しょうか?
> > DBLINKと複数DBのメリットとデメリット(判断基準みたいなもの)っ
> てなんで しょう?
> 直接参照できるなら直接参照の方が世話ないかと。スピードも環境構築も。
> DBLinkのいいところは、手元のテーブルと同じ扱いができるところに尽き
> ます。
> 要は、SQL的に手元のテーブルとリモートのテーブルを結合ができるとい
> うところです。
> 複数DBではそれができません。
> マスタ類のデータを個別のクエリで取得するので構わないのであれば、
> 複数DBの方がいいかなと。SQLの中で一緒に扱いたいならDBLinkですね。
>
> > 以上、本当にこんな初心者的な質問、
> > だれも頼る人がいないもので・・・
> そのために、オープンソースコミュニティのMLがあるんですよー!(^^
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org <mailto:seasar-dotnet @ ml.seasar.org>
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
---
このEメールはアバスト アンチウイルスによりウイルススキャンされています。
http://www.avast.com
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20150115/66b7ea74/attachment.html>
seasar-dotnet メーリングリストの案内