サーバー台数が多いほど、お互いを支え合う集団が大きくなり、動作が安定する。不具合解消でバージョンアップが必要になっても、止めずに対処できる。バックアップの標準手法は未確立。自チームで最適なやり方を見つける。

 RDBMSと新たなタイプのDBMSでは、システムの運用に大きな差異がある。このPART4では、二つの側面に絞って違いを見ていく。

[新常識7]
大規模になるほど動作が安定

 RDBMSを使うシステムでは通常、ディスクの故障に備えてRAID構成にし、サーバー故障に備えてレプリカやスタンバイ機を用意しておく。そして、ディスクが壊れたら交換し、リビルド処理を実行する。また、本番サーバーが故障したらレプリカやスタンバイ機に切り替え、問題を取り除いた後に元の状態に復旧させる―。こうした運用では、RDBを搭載するサーバーの台数が増えるにつれてディスクやサーバーの故障頻度が高まるので、運用管理の手間が増える。

 新しいタイプの場合は違う。サーバー台数が増えれば増えるほど、互いに支え合う集団の規模が大きくなって、動作が安定する(図1)。

図1●大規模になるほど動作が安定する
図1●大規模になるほど動作が安定する
[画像のクリックで拡大表示]

 HBaseやCassandra、MongoDBといったDBMSでは通常、ディスクをRAID構成にはしない。ソフトウエアの機能によってデータが複数台のサーバーに冗長に配置されるからだ。サーバーに故障が生じた場合でも、故障したサーバーで行う処理が他サーバーに引き継がれる。

 「サーバーが十数台以上あり、余裕を持たせて多めに設置しているなら、1台で障害が起こるたびに対処するのではなく、何台か落ちたらまとめて対処すれば済む」とサイバーエージェントの鈴木俊裕氏(アメーバ事業本部 Ameba Technology Laboratory Software Engineer)は話す。サーバー追加も容易だ。セットアップしたら放っておくだけで、自動的にリバランスが行われ、負荷が割り振られるようになるからである。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。