|
||||||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||||||
| 可用性と表裏一体の重要課題、「スケーラビリティ」 | ||||||||||||||||||||
|
データベースにとって拡張性は、能力を評価する上で非常に重要な指針の一つである。 たとえば顧客数1,000名で始めた通販サイトが順調に売り上げを拡大し、顧客が1万人を超えさらに10万人に達した場合、受発注のデータベースもそれに合わせて拡大していかなければならない。それなのに、システムが「もう1万人以上は手に負えないんです」などということになったらどうだろう。システムの限界がビジネスの成長を邪魔することになってしまう。 実際のところ、データベースが大規模化しサーバの数が増えていくにつれて、運用管理の難しさは飛躍的に高まっていく。性能の優れたデータベースサーバが1台あったとして、それが100台になったらそのまま性能も100倍になるものではない。かえって扱いが難しくなりストレスが増えるなんてのは、エンジニアならば誰もが知っていることだろう。 エンタープライズ系データベースにおいて、スケーラビリティが重視されている理由はもう一つある。現代はビジネスの規模だけでなく、ビジネスモデルから情報インフラの形態、さらにサプライチェーンやロジスティックスの部分にいたるまで、劇的な変化が絶えず起こり続けている。 こうした時代にシステムに求められるのは柔軟性だ。ビジネスモデルの変化に合わせて、その時々に最適のソリューションを提供することがITシステムにも要求されているのである。 |
||||||||||||||||||||
| スケーラビリティを実現する「スケールアップ」と「スケールアウト」 | ||||||||||||||||||||
|
スケーラビリティというのは概念的な言葉であるから、そのままシステムに追加したり接続するものではない。当たり前だが、「ちょっとアキバに行ってスケーラビリティを買ってくる」というわけにはいかないのである。スケーラビリティを実現するには、そのために必要なハードウェア/ソフトウェアレベルでの実装作業が当然必要になってくるのだ。 スケーラビリティを実現する。すなわちクライアントの数や処理データの増大、それにともなうトランザクションの増加など「システムが大きく」なってもパフォーマンスを維持し、さらに高いパフォーマンスを提供するには、大きく分けて2つの方法があると言われる。「スケールアップ」と「スケールアウト」である。 簡単に言うと、「スケールアップ」とはハードウェアをより強力でハイパフォーマンスのものに変更する方法だ。もっとも簡単なのはCPUの強化や増設だが、近年もっとも強力なスケールアップ効果をもたらしたものに64bit化がある。 情報処理の教科書に書いてあるとおり、n bitの場合メモリの処理できる情報量は2のn乗倍だから、計算は自分でやってみてほしいが従来の32bitが64bit化された結果、広大なメモリ空間を手に入れられたというのは、これは立派なスケーラビリティの実現である。 一方「スケールアウト」とは、サーバなどの数を増やすことでシステム全体のパフォーマンスを向上させる手法である。いわゆるクラスタリングなどがこれにあたる。 |
||||||||||||||||||||
![]() 図1:スケールアップとスケールアウト |
||||||||||||||||||||
|
1 2 3 4 次のページ |
||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
||||||||||||||||||||


