質問: php mysql livedoorBlogやfc2Blog、はてなダイアリなどは大量のデータをDBで処理していると思うのですが、1つのサービスにつき1つのDBですべて管理しているのでしょうか? Blogといってもユーザーの詳細設定を保存したり、記事やその記事に投稿されたコメントやトラックバックを管理したり、ユーザーが変更したCSSやHTMLを保存したりとかなりの項目でデータの保存先を分けていると思います。 その際に blog というDBを作ってから その下に各テーブルをつくり管理しているのでしょうか?それともデータの量が膨大なため各項目ごとにDBを作成し管理しているのでしょうか? 技術的な観点でご説明願います。
回答: > > 各項目ごとにDB > > > 名前空間としてのDBを分けているか?と言う意味であれば No でしょう。 それをする事による性能上のメリットはほぼありません。 ただ、これらのサービスは1台のサーバーで賄える量では到底ありませんから、レプリケーション・パーティショニング等の不可分散技術を駆使する事で対応していきます。 はてなの場合ダイヤリーのみではありませんが、すでに300を超えるサーバーで動いていると聞きます。 たとえば、はてなダイアリーではユーザーごとに使用するDBが別々に割り振られているようです。 正確な状況は分からないので回答できませんが、質問を見る限りでは 言葉は悪いですが「そんな単純な問題ではない」と言う感じがします。