データベースのコンテキストでは、NOSQLデータベースの利点の1つとして、水平方向の拡張性に出会いました。この用語はどういう意味ですか?
垂直スケーリングと比較してどうですか?
データベースのコンテキストでは、NOSQLデータベースの利点の1つとして、水平方向の拡張性に出会いました。この用語はどういう意味ですか?
垂直スケーリングと比較してどうですか?
回答:
水平方向のスケーリング
水平方向のスケーリングは、本質的には増加ではなく構築です。大型のサーバーを購入してすべての負荷をそのサーバーに移すのではなく、1台以上のサーバーを追加して負荷を分散します。
水平スケーリングは、サーバーで複数のインスタンスを同時に実行できる場合に使用されます。通常、1台のサーバーから2台のサーバーに移動するのは、2から5、10、50などに移動するのがはるかに困難です。
並列インスタンスの実行の問題に対処したら、Amazon EC2、RackspaceのCloud Service、GoGridなどの環境を最大限に活用できます。需要に応じてインスタンスを上下させることができるため、サーバーの電力を支払う必要がなくなりますそれらのピーク負荷をカバーするためだけに使用しているわけではありません。
リレーショナルデータベースは、完全な読み取り/書き込みを並行して実行するのが難しい項目の1つです。
オースティンのStackOverflow DevDaysでDamien KatzがCouchDBについて話しているのを見ました。その作成の主な焦点の1つは、これらの並列インスタンスでした。これは初日から注目されていたため、水平スケーリングを活用できる可能性がはるかに高くなります。
垂直スケーリング
垂直スケーリングは正反対であり、アウトではなくビルドアップです。余裕のあるハードウェアを購入して、アプリケーション、データベースなどを搭載してください。
実世界
もちろん、これらの両方には長所と短所があります。多くの場合、これら2つの組み合わせが最終ソリューションに使用されます。
誰もが大きなハードウェア上でリアルタイムのデータを読み書きするプライマリデータベースを所有している場合があります。それから、より重いデータ分析とレポートのためにデータベースの読み取り専用コピーを配布しました。次に、フロントエンドWebアプリケーションがロードバランサーの背後にある複数のWebサーバーで実行されている可能性があります。
水平スケーリングは、大量の書き込みと並列読み取りを処理する必要があるアプリケーションが必要な場合に役立ちます。大量のトラフィックが発生し、これをログに記録する必要がある、または大量のイベントを記録する必要があるWebサイトを考えてください。
最大のプラス点は、水平スケーリングは市販のハードウェアを使用して行うことができ、垂直スケーリングと既存のボックスを大きくしようとすることでできることは限られていることだと思います。
従来のRDBMSはさまざまな理由(ACIDであるという事実を含む)で失敗し、NoSQLソリューションは簡単に水平にスケーリングできるためここで優れていますが、それは別の話です(RDBMS / SQL対NoSQL)。