December 16, 2008
■モバツイのネットワーク障害
会社に行ったら家のサーバに繋がらなくなった。
自分のメールも繋がらないし、当然、モバツイも繋がらない。
家にふうりがいたので、電話してpingを打ったり、ルーター再起動しても繋がらない。またBフレッツの瞬落ちかと思ってたけど、Yahoo!にIPでアクセスしたらHTMLだけは落ちてきたということがわかったので、家の中の問題ということがわかった。
電話で順繰り追っていったら、ハブが壊れてるらしいので、渋谷のビックカメラでハブと念のため15mのLANケーブルを買って、一旦、会社から家に戻って、5分で解決して、また会社に戻った。駅から家までタクシーを使ったりして、こんな短時間になんの意味もなく1万円も消えた。モバツイは3時間ぐらい止まってた。
いろいろ面倒くさい。
買ったのはこんなの。16ポートのハブ。今思えばギガビットイーサのハブとか良かったのかも。
売り上げランキング: 16099
ハブが実際壊れたのかまでは追試してないけど、交換したらすぐ直ったから、もう死亡かな。モバツイのapi動作の変更で通信処理が急増したから、なんて寒い原因はないよね?まさか。
まぁこんな感じでモバツイも運用してますってことで。
もうちょっと2重化なりフェールセーフの仕掛けを考えないとな。
■RDBMSがレガシーになるんじゃないかって話。
ハッシュデータベースや、O/Rマッピングなどの抽象化レイヤーが何やらの技術を置換することでSQLのレガシー化を加速するんじゃないかという話があったが、どうなんだろう。
インデックスを自前で構築したり、すっぱりハッシュDBでまかなえるのはもう設計がfixしてるものだから、スモールスタートで改善サイクルを回していくWeb系においてSQLの柔軟性は貴重なんじゃないかなと思います。
mixiの足跡にTT使うにしても(実際にTT使ってるんでしたっけ??)、足跡が足跡たる負荷特性と機能がfixしてるからこそ、わざわざ、そこに独立したDBを入れる価値があるのであって、そうでなければ、ただのアクセス履歴に独立したハッシュDBを入れましょう、なんてなかなかやらないですよね。(規模による)
ただし、例えばPL/SQL使いの人にレガシー感があるのは実はもう6年ぐらい前に求人面接をしていて感じていた。ただ、そのレガシーたるポイントは、何をどこで解決するのか?という感覚がズレれている人という意味合いかも。ストアドプロシージャやviewのようにデータベースサイドの設定が増えると、セットアップや改善が、なんだかんだで面倒くさいと思うのはWeb屋さんには多いと思います。
ただ、それ以前にMySQLを使っていて、リレーションなどとも無縁なWebアプリ開発者は、同じ「SQL使い」でも文化が違いすぎるってのはあるかもしれませんね。少なくとも、JOIN使わない、とか正規化しすぎるのもヤバイなんてのはかなり究極系で、昔見た上流のSIerさんが設計してたER図とは相容れないものもあると思いますし。
そう考えるとMySQLはオラクルに対するイノベーションのジレンマだったのではなく、Webという特性、ニーズにあっていたということだな。RDBMSではなく高速なDBMSという意味で。Webのリアルタイムデータ処理にRDBMSは、そもそも向いていないと考えることは可能かもしれない。
そう考えると、特にWebだけしかやってない人は設計が変わってくるかもしれない。何でもMySQLじゃないし、なんでもOracleじゃない、とか。(これは何でもPHPとか、何でもC言語じゃないよねってのと同じことなんだけど。)もちろん、MySQLではストレージエンジンの違いによって使い分けてるし、Oracleとは「バックエンドとのつなぎ込み」で切り分けができていたりもするわけですが。
雇用の容易性なども含めて、どうメジャーが変化するのは私にはわかりませんが、大事なのは、なんでもデータの永続化にはMySQLしか使えません、という固定観念ではなく、時にはテキストファイル、時にはソケットサーバを作ったり(レイヤー違うけど)、時にハッシュDB、場合によってはXML DBなどと問題に応じて使い分けられるアンテナと柔軟性かもしれませんね。そうすれば単純に、問題解決に一番イケてそうな方法を使ったらいいんじゃないかと思ったりしました。