今回の危機の発端は、金融ではなくインターネットと言ってみる。上記のような発言をIRCでしたら受けたので、ちょっと掘り下げて考えてみる。このようなことを言い出すかというと、「20世紀は統制の時代」とつねづね思っているからだ。統制、というと非常に不愉快な、ややもすると独裁のようなイメージがあるかもしれない。ここでは「多数の人数が共同して一つの目標に向かって何かを成し遂げる」という意味である。戦時統制経済は当然その象徴ではあるが、統制はそこに終わっていない。日本企業を考えてみて欲しい。みんなが同じようにスーツを着、同じように大量の残業をこなし、同じような製品を必死で改良して作る。それは当時から変わっていない。ソ連の5カ年計画はどうだろう。実際に60年代をリードしたのは計画的な大量生産モデルではなかったか。発明は個人のものから集団のものにシフトした。個人プレイはそれほど重要ではなく、企業や研究所での組織的な研究の集約が最大の成果になっている。このように統制は実際には戦後もずっと続いているのだ。これを「大量の物資を動員したものが、生産性にものを言わせて生産性弱者を蹂躙した時代」と言わずしてなんだろう。振り帰ると、あれはまた血を流さない争いだったのだ、と言えなく無いか。いつの世も、持てるものが持たざるものを(平和裏にであれ、暴力的であれ、双方に利益のある形であっても)蹂躙する、それが歴史なのだ。何が言いたいかというと、20世紀後半の礎は、多くの人が考えるWW2後に構成されたものではなく、その前段階から脈々と続いているものではないかと言うことだ。同様のことは世界史(ウィリアム・H-マクニール)あたりに書いてある、というかその受け売りである。これを今に強引に当てはめると、21世紀の変革は、我々が将来考えるであろうリーマンブラザーズ破産ではなく、それ以前からずっと続いているのではないか、ということになる。金融崩壊はあくまで情報モデルの変更がもたらした結果であり、原因ではない。ところで、同じような「持てるものが持たざるものを蹂躙した」例として、マス・コミュニケーションをあげたい。いくつも手法はあった。多くなく、しかも不確実なものであった。大規模な出版から始まった流れとして、ラジオ及びテレビは、大規模配信システムとして、見事な役割をはたした。これもまた、「情報を持てるもの」から「持たざるもの」という片側通行メディアである。情報を持てるものはつねに勝者であり、敗者は持てる物から選別されたおこぼれを受け取るしかない、そういう状況であった。その状況を変えたものは何か。「インターネット」だ。従来も中央集権でないP2P的な情報伝達手段は、うわさ話のようなものを含めいくつも存在した。インターネットはその内輪話を全世界レベルに広げてしまった。現在インターネットはテレビやラジオを超えてプライムメディアとなるべく道を進んでいるが、この過程で情報を得るコストが激減したため、今までの持てる持たざるの勢力図を次々と書き換えている。久々に情報は大きな格差材料ではなくなる。崩壊しつつあるのは、情報格差を元にした統制経済による「戦争」をやっていた連中ではないか。情報格差は、ネットによるコミュニケーションコストの減少と、コミュニティの巨大化により、無くなりつつある。それが無くなることにより、情報格差を利用した従来の手法(例えば、金融などその最たるものではないか)も通用しなくなる。それ以前のテレビのような流れも、たぶん大きく影響しているだろう。劇的なのはなんと言ってもWWWであり、Linuxであり、Googleであろう(ただし、具体的に何が劇的だったのかは異論だらけだろう)たぶんここから本来は「では、来るべき未来はインターネットの力によりどのようなことが起こるのか」という考察に移るのだが、今日は夜10時だというのにまるで深夜のように思えるほど非常に眠いので、とりあえず次回以降に。exadataについて書いたが、そのとき同時に「L.starにも考えていることがあった」と書いた。一つはpgclusterで培った経験を元に、クエリベースのレプリケーションをまともに動かそうというものなのだが、もう一つがexadataに近い、超並列を可能にするかもしれないRDBMSのアイデアだった。ここではそれを簡単にまとめることで、実際に可能かどうかをあらためて考えてみたい。個人的な意見としてだが、超並列超高性能DBを作るうえで、考えたことは以下の通りである。原則シェアードナッシングしかあり得ない。以上より考えたのが以下3ノード式のデザインだ。Gray本の教科書通りの分け方になるのであるが。トランザクションマネージャトランザクションの調停処理を行う。具体的にはxidとロックの管理、2PCのcoordinatorなどなどとにかく必要なのは、少ないオーバーヘッドで小規模なI/Oをこなし続けることこのノードは原則分散出来ない。Active-Standby方式でのHA化は望める可能性があるが、切り替えた場合には途中のトランザクションはabortしなければいけないかもしれない。クエリ実行ノードparser,planner,executorを行うノード。catalogの取り扱いがあるので不安があるが、これは別に高コストでもかまわない。engineであるDDL的には、テーブルスペースに近い位置づけとして定義可能であると考えている。scan+sortを行い、その結果を返すDBである。MVCCを持つが、基本XIDを自前で持たない。(たぶん64bitの)論理rowidを全てのtupleに持たせ、これが常に主キーとなる。indexでいいかもしれない。rowidベースのパーティショニングを備える。ノード数を増やし、sortのコストを分散することでクエリの高速化を実現するトランザクションログを持つ。ログベースのレプリケーションを持つ。この3つに分けて処理をしようというものだ。これならSQLの非決定性でレプリケーションが不可能にならない、クエリごとの処理並列化が可能と来ているため、基本的には破綻は無いだろう。問題点は鬼のようになる。簡単に記すだけとしてもトランザクションログが分散して大丈夫か。そもそも、バックアップはどうするのか(原則ストレージが複数ノードなので)多段のJOINが必要になるようなケースで、性能は上がらないのではないかトランザクションマネージャがダウンしたときの動作はどうするかとまあ、やっかいなのだらけだ。こんなのを考えているあいだにBigTableがやってきてそもそもplannerでしか実行プランが作れないというのはおかしくないか別にMVCCにこだわる必要はないのではないかとか、そういう方向に頭が向いてしまうのである。利点は分割することによって依存関係を廃し、開発を単純化できるのではないかという期待がある。何となればリソースノードは当面既存RDBMSから抜いてこれる。実装も、既存RDBMSからかなりの部分を拝借できる。クエリ実行ノードは原則RDBMSそのもののうち、ストレージエンジンを持たないならそのままである。トランザクションマネージャは、実装そのものだけなら簡単であると言う具合だからだ。骨格が出来れば、インターフェースを維持したまままともな実装に変えればいい。かみ砕けば、それなりの実装に落とし込めるかなぁ。いずれにしてももうちょっとデザインしてみる価値がありそうだ。Exadataが登場した。Ironの流れだろうが、いつのまにやらひっそりと日の目を見ることなく消えていたと思っていた。興味深いことはいくつかある。現実問題どの程度OSが介在しているか分からないが、ストレージサーバーはiSCSIやNFSのような単純なものではないということだ。ITProの記事から引用すると具体的には、従来はDB側だけで行っていたクエリー関連の処理をストレージ側にも担当させている。ストレージ側で該当するデータを特定、対象となる行列のみをDB側に伝送するものだ。この技術を「SmartScan」と呼んでいる。Scanも、かもしれない)の大部分をストレージ側で肩代わりしていることだ。ストレージ側に直接ブロックレベルのI/Oを要求せず、代わりにもっと高レベルの「スキャン」をさせることでストレージI/Oを軽減しようというのだ。物理ディスクレベルは、かねがうなるほどあるならRAID0+1の超巨大構成とかで、いくらでもスピードを上げられるようになった時代の、次のボトルネック退治である。このSmartScanが対応しているという処理はホワイトペーパーによると以下のような感じである。Scan条件絞り込み(Indexはたぶん効かない)カラム絞り込みちょっとしたマスタテーブルのJOIN差分バックアップ(たぶんsnapshot相当の処理がストレージ城のファイルシステムにあると思われる)テーブルスペースの作成(実ディスクのフォーマット処理などがストレージ任せに)これにIndexとSortが加われば、相当なレベルになるだろう。ソートにはメモリが大量に必要なこととか、ストレージサーバーとDBノードの負荷のかねあいもあるのだろう。実は、これに似たアプローチが一番良く行われているのはRDBMSのクラスタリングの一種、パラレルクエリ生成型である。いうのはたいてい自前でプランを生成し、ばらしたSQL文を生成する。このときばらしたSQL文が単純スキャンしかしないようなシンプルなものになれば、たぶん近いレベルのアプローチになるだろう。個人的には、RDBMSってのは性能二の次で複雑なクエリがかけるというのがより重要になってくると思う。して、まだまだデザインで改善できる部分はある。いう「次世代デザイン」のRDBMSはこれからどんどん登場するのか、それとも衰退するのか?というのはこれまた興味深い。nonsensecornerTweet2009年01月20日オランダ経済がやばいオランダ在住日本人御用達のニュースサイト、ポートフォリオからオランダの工業生産減、過去20年で最悪に昨日発表されたオランダ中央統計局CBSの統計によれば、昨年11月のオランダの工業生産高と売り上げは大幅に減少した。2008年11月の売り上げは前年同月に比較して14%の減少。生産高は同6%の下降で、これは過去20年で最大の減少率となっている。(中略)CBSによれば、2008年11月の稼働日が一昨年より2日間少ないというのもこの減少の一因であるとしている。オランダ、不動産価格下落オランダ不動産業者協会(NVM)が木曜日に発表したところによれば、2008年の住宅平均売買価格は一昨年より1.8%下落して23万3000ユーロ(約3000万円)であった。第4四半期は第3四半期から2.5%下落している。月曜日にEUが発表した経済予測によれば、2009年オランダ経済は約2%縮小する。欧州16カ国の平均は1.8%。たてつづけに3本ほど景気の悪いニュースが出ている(引用は最小限にとどめているので、若干正確さを欠く。詳細はリンク先を参照されたし)2007年住み始めたときに漠然と感じたバブル末期感が現実化してしまったようだ。まあL.starは来たばっかりなので何が出来たわけではないのだが。オランダでは金持ち父さんばりの住宅転売とかもかなりあったようで、かなりのショックを持って迎えられることだろう。いうか、実際に地価下落が始まったことで、これから本当の崩壊が始まるのだが。これからオランダがどう向かうか、在住とはいえ部外者のL.starには想像も付かない。反動で今までの質素な生活に向かうだろうか。幸いにも商業主義にようやく毒されてきた頃合いなので、まだ引き返すのは楽だろうか。何にせよ、経済がやばくなれば自分の地位もやばくなるわけで、慎重な振る舞いが求められるかな。nonsensecornerTweet2009年01月20日ブッシュ退任、オバマ就任ブッシュ大統領の任期二期八年が終了し、これからオバマ大統領の任期が始まる。ブッシュについては評価が分かれている、というかむしろぼろくそに言われているようだが、個人的には結構評価している。それは「アメリカ大統領という彼の立場を考慮すれば」である。インターネットの誕生あたりが契機になったのだろうか、非常に激動していく社会の中で、ブッシュの取った行動はややもすれば保守的で、アメリカ覇権主義の象徴のようにとられただろうが、あのとき、他にどんな選択肢があったと言うのだろう。弱腰な行動は、アメリカの敵をつけあがらせただけだろう。優しげな行動は、敵を逆上させ硬化させただろう。結局ああいう強攻策しかなかったのではないか。その点において、いくらか愚策はあったものの、及第点だっだだろう、と言いたいわけだ。アメリカが世界の犠牲になればいい、という類の意見を聞く。そんなことが実際にできるとは到底思えない。夢物語が実現しなかったからといって、それを責める気にはなれない。強攻策になった結果として、アメリカ経済が崩壊し、世界も不安定になっている。これはもうWW2以前から続く歴史の積み重ねの結果である。間違った政策でそれを加速しなかった(かどうか、本当には分かりようないのだが)点は評価してしかるべきではないか。現段階で強引につみ取ってまとめあげるのは千年に一人の英雄ぐらいが必要だっただろう。残念だが、明らかにそのクラスではなかったとは思う。オバマの治世はそもそも就任の前からどうしようもないほど波乱になることが決まり切っている。彼の役割はブッシュがなんとかかんとか寿命を引き延ばしたアメリカの崩壊を何とか支え、適当な落としどころに持って行くことである。落としどころと簡単に言うが、日本はバブル崩壊以降、延々と責任転嫁を繰り返すだけで、小泉が出てくるまで落としどころなどいつまでも見えてこなかった。(今回の雇用不安定を小泉失政のせいという人がいるが、彼は少なくとも大企業を救った。他の誰が大企業と民衆のどちらかを救ったというのか?)欧米は日本の二の舞にはならないと宣言しているが、実際には果たしてどうか。波乱無く過ごすことができたなら、オバマは間違いなく英雄だろう。「リベラルなのに護憲」?別におかしくなんてありません。「本当の日本のリベラル」こそまず改憲をめざせ帰国しました。