SSブログ

分散と集中の繰り返し [プログラミング]

僕が最初にプログラミングした頃、たまたま Unix のワークステーション上で仕事させてもらえて、TCP/IP について学ばせてもらった。ちょうど、その頃に TCP/IP が一般的なものになってきてて
「これからは、クライアントサーバーだ」
ということになった。
一極集中のシステムに比べて、小さいコンピュータで分散して処理できたので、(特にハードウェアの面で)コストダウンすげー、ということになった。
世の中には VB6 + Oracle という構成があふれた。

ところが、クライアントプログラムに更新が入ると配布が大変で、95年頃になるとインターネットブームだったり、Windows にブラウザが標準搭載されたことがあって、
「これからは、Web+DB だ」
ってなった。
プログラムをサーバーにおいているのでそこを修正したら、みんなのパソコンにプログラムを再インストールしなくて済んだ。なんとなく
「汎用機+ダム端末」
の時代に戻ってる感じがした。(僕は汎用機の経験はないんだけど)

やりたいことが増えてくると、Webサーバーを複数用意してロードバランサーで振り分けたり、DB もマスター+スレーブたくさんに分散して、また分散の時代になってきた。

MySQL が PostgreSQL と比べて使われることが多くなってるのは、バイナリログをスレーブに送っちゃえば、スレーブサーバーが作れちゃう方式が、DB をたくさん並べて処理したいというニーズにマッチしてるからなんだと思う。でも、スレーブ 200台とかあったら、四六時中どれかが壊れて運用大変だよね?

また、ここにきて Hadoop が行き過ぎなくらい(SIer が本腰を入れそうなくらい)にブームになってるけど、 Map Reduce のプログラミングは、うまいこと分散させて結果を早く出すためには慣れが必要で大変そうだし、サーバーの管理も大変だよね?そりゃ 12時間かかったバッチが 1時間で済んだら素晴らしいけどかける労力やお金に見合ってるのか、っていうのその価値がある場合ってゼロではないけど、少ないんじゃないかな。

で、最近は Fusion-io が、新たなるパラダイムシフトを起こさせそうだなぁと思っている。(まぁ、既にそうなってる先進的な方々もいるかとは思いますが)サーバー(CPU/Memory)の高性能化と相まって、いままで 20台くらいでやってたのが 1台でできるようになったり、がんばって Map Reduce でバッチ作り直さなくても、サーバー入れ替えて SQL 文実行すれば 12時間かかってたのが 1時間になる・・・

分散から集中の時代がまた戻りつつあるんじゃないかと思っている今日この頃。
でもまぁ、そこから更に増えるニーズがリソースを使い切ったら、また、分散すんでしょうねぇ

コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0