データベースの水平スケーリングと垂直スケーリングの違い [closed] 質問する

データベースの水平スケーリングと垂直スケーリングの違い [closed] 質問する

私はこれまで多くの NoSQL データベースと SQL データベースを見てきました。これらのデータベースの長所と短所を測定するためのさまざまなパラメーターがあり、スケーラビリティもその 1 つです。これらのデータベースを水平方向にスケーリングする場合と垂直方向にスケーリングする場合の違いは何でしょうか。

ベストアンサー1

水平スケーリングとは、リソース プールにマシンを追加することでスケーリングすることを意味し、垂直スケーリングとは、既存のマシンにパワー (CPU、RAM) を追加することでスケーリングすることを意味します

これを覚える簡単な方法は、サーバー ラック上のマシンを想像することです。水平方向にマシンを追加し、垂直方向にマシンにリソースを追加します。

                  水平スケーリング/垂直スケーリングの視覚化

データベースの世界では、水平スケーリングは多くの場合、データのパーティション分割に基づいて行われます。つまり、各ノードにはデータの一部のみが含まれます。垂直スケーリングでは、データは単一のノードに存在し、スケーリングはマルチコアを通じて行われます。つまり、そのマシンの CPU と RAM リソース間で負荷を分散します。

水平スケーリングでは、既存のプールにマシンを追加することで動的にスケーリングする方が簡単な場合が多くあります。垂直スケーリングは、多くの場合、単一のマシンの容量に制限され、その容量を超えてスケ​​ーリングすると、ダウンタイムが発生することが多く、上限が設定されます。

水平スケーリングの良い例は、Cassandra、MongoDB、Google クラウド スパナ垂直スケーリングの良い例は、MySQL - Amazon RDS (MySQL のクラウド バージョン) です。これは、小さなマシンから大きなマシンに切り替えることで、垂直スケーリングを簡単に行う方法を提供します。このプロセスには、多くの場合、ダウンタイムが伴います。

インメモリデータグリッドなどギガスペースXAP一貫性等は、ディスクにバインドされていないという理由だけで、水平スケーリングと垂直スケーリングの両方に対して最適化されることがよくあります。パーティショニングによる水平スケーリングと、マルチコア サポートによる垂直スケーリングです。

この件については、以前の投稿で詳しく読むことができます。スケールアウトとスケールアップそしてNOSQL 代替案の背後にある共通原則

おすすめ記事