著作一覧 |
プログラムを実行すれば当然時間が経過する。
それとモデルによる空間の分割の区別がついていないと思える実装モデルがあり、おれの考え方のほうが、有利だということはわかっているのだが、にもかかわらず何かこっちがまちがっているのかなと感じたりもする。
いつもはだらだらと最大5クライアントくらいからのアクセスがあるとすると、コネクションプールは5つ用意しておけば良いわけだが、ある日、突然アクセスが集中して同時に40クライアントをさばく必要が出る。当然、その時点で40コネクションが作られる。
この40コネクションがプールに残った状態で、またアクセスが平常に戻るとする。賢いコネクションプールであれば、プールされたコネクションを順に回すから40コネクションはまんべんなく利用できる。LIFOというかキューで管理しているような場合だ。ここで、FIFOを利用されるとつまりスタックだが、底から35コネクション分はまったく利用されない。
そして1週間くらい経過したところで、また40とか50とかの嵐が吹く。
1週間何もしなければそのコネクションは無応答非活性(non acitivity)タイムアウトとかしているだろう。しかし、余分なことをしないソケットだとタイムアウトして切断状態になっていてもその時点で利用者は気づけない。リクエストに応じてDBにアクセスして初めて切断状態に気づき、SQLExceptionをスローする。
処理は中途半端に走っているため、そのリクエストは異常終了させるほかなくなる。
ということを想定すれば、コネクションプールの機能として、利用開始時の接続チェックであるとか、長時間アイドル状態にあるコネクションの回収といった処理は必然だ。
が、JDBCにはそういったAPIはない。
commonsにはしょぼいコネクションプールがあり、上記のようなプロパティが提供されている(JNDI用の設定で記述できる)。が、どういうわけかいきなり100コネクションとか作ろうとすると空振りすることがある。どちらにしてもcommonsは嫌いだからソースを読むより自分で作るほうがましなので、すぐに捨てる。
OracleのJDBCドライバは腰が落ち着かなくてそれはそれで厄介なのだが、10gからのoracle.jdbc.pool.DataSourceから取れるOracleConnectionにはこういったプロパティがある。しかし、これまた厄介な代物だ。
というのは、設定したいプロパティはOracleConnection側にあり、DataSource側にはなく、使いたい場合はプロパティセットを送りこむ必要があり、それをJNDIの設定では記述できない。まあ、Oracle依存の初期化プログラムを書けばよいということだ。
しかし、DataSource#getConnectionがコネクションプールだというのも厄介は厄介なのであった。というのは、異常を検出してconnection#closeを呼んでも単にプールへ戻っていくだけで、またgetConnectionを呼ぶと同じものが返ってくる(例外を起こしたConnectionについてはclose呼び出しで物理接続もろとも廃棄すれば良いと思うのだが、と書いて気づいたが100インスタンスくらい作られていたら10回程度試してもわからないのか。本当のところはどうなんだろうか)。そこで、OracleConnection#close(int)を使って物理接続の廃棄を指定することになる。なんで、ConnectionPooledDataSourceを提供しないんだろうか。まあ、こちらはPooledConnectionというこれまた厄介なものが返ってくるのでそれはそれで面倒な話ではあるが、ojdbc14.jarを参照しなくてもコンパイルできるというメリットはある。
結局、DataSource#getConnectionしたら、dualから1をselectするようなSQLを一回発行し、そこで例外が起きたら、引数つきcloseを呼び出し、またgetConnectionするというのを何度も再試行する処理を記述することになる(何度もというのは、最大で生成済みのすべてのインスタンスを潰す必要があるからだ。もちろんDataSourceは確保したままとしたい場合だ)。
クレイシャーキーの続き(数値はうろ覚え。後半はまったく意味が取れない箇所があったので、元の論旨とは異なっている可能性が高い)。
伊勢神宮は2000年(これ嘘だよな、どうみつくろったって)の長きにわたって存在する類まれな存在だ。しかしUNESCOは世界遺産としては認めない。
なぜなら20年に一回建て直すからだ。いつもと同じ森から材料を取って。
ここで重要なのはしたがって社殿ではない。20年に一度建て直すことを2000年にわたって続けているというプロセスだ。
Wikipediaは、永遠に完成しない百科事典である。各ページは絶え間ざる推敲と編集を受ける。これはブリタニアのような「物」としての百科事典とは異なる。
伊勢神宮に対する愛というのは、社殿に対するものではなく伊勢神宮というプロセスに対してのものである。愛の対象は物理的な存在である必要はない。
Wikipediaを愛するということは、個々のページに書かれたアーティクルを愛することでもスナップショットを愛することでもない。それは伊勢神宮に対する愛と同様なものだ。
Here Comes Everybody: The Power of Organizing Without Organizations(Clay Shirky)
この対比は気が利いているうえに、斬新(他で見たことがない)だ。
追記:石坂さんの切り口も僕には目から鱗。
排除型社会―後期近代における犯罪・雇用・差異(ジョック ヤング)
以前から疑問だったことへの解答らしきものを見つける。
相対的な剥奪感は、これまで「上向きの視線」によって生じると考えられてきた。すなわち、それは労働市場で平等に遇されない者が、能力や資格の面では自分と変わらないのに評価が自分より高い者と自分自身を比較することで、欲求不満を抱くために生じると考えられてきた。
しかし剥奪感は、「下向きの視線」によって生じる場合もある。階層序列のなかで自分より下位にある者と自分を比較し、その人が自分よりも恵まれていると感じるとすれば、それも相対的な剥奪感である。すなわち、自分よりも劣る者が、たとえ自分より低い生活水準にあっても、自分より苦労のない生活をしているように見えるとしたら、それだけで許せないというわけである。
――P.35
この節は、厳罰主義に代表される不寛容について説明をはじめた箇所だが、おれには理屈として納得できる説明だ。もちろん、感覚的にはまったく理解できない(その剥奪感について)。
物語が成立していれば、上向きと下向きは互いに相補的な2つの感情を生む。上向きであれば、取って代わるべしという気概か、かくあるべしという奮起または、脱帽であるという敬意。下向きであれば、かくなりたくなしという軽侮か、明日はわが身という奮起あるいは同情。
物語が消失し、上向きについては畏怖と無力感しか持てなければ、下向きに暴力的な衝動を向けることになる、ということだろうか。
いずれにしても、すでにそういう社会で暮らしていることはわかっている。それなりの組織力と知性と暴力を備えた集団が、銀行を襲ったり企業にたかるのではなく、単なる老人を襲い、それを貯金をもっているのは老人だから当然のような評価を与える人たち、というのはどこから湧き出たかすなのか、というのは謎だった。金はあるところから無いところへ流れるのだから、犯罪者が容易なところから犯罪するのはよくはないがまあ良いとしても、それを容認するかのような言質というのは最悪だ。
何が起きていて、どういう方向を取りうるのか、基準となる正義はあるのだろか、あるとしたらそれはどういう姿を取るのか、といったことを考える。
帯の惹句がその通り。
画期的な書物。驚異的なまでの博識、事実への深い洞察、明晰な論旨と論証が結びついたこの著作に、私は圧倒された。――ジグムント・バウマン
おれは、幸いにしてまだ圧倒されつつある。現在150ページ目(全体の1/4くらい)。(クレイシャーキーは通勤用なので並行読書となっている)
筆者の基盤的な強みは、ニューヨーク市立大学(北米)とケント大学(英国)と大西洋をまたいで仕事をしている点のようだ。そのため、西欧と北米の両方について差異を勘案したうえで論考している。
via 『排除型社会』を読む
ジェズイットを見習え |