なんとなくわかる「スケーラビリティ」

今回はシステムの構築時によく出てくる単語のスケーラビリティについて解説していきます。スケーラビリティのあるシステムの重要性を理解していきましょう。

スポンサーリンク

スケーラビリティとは

スケーラビリティ(scalability)とはシステムの拡張や縮小に対して柔軟に対応できる能力を指します。拡張可能性や調整可能性と訳されます。スケーラビリティが存在するシステムはスケーラブル(scalable)なシステムと表現されます。

システムが想像より大きくなった時にアクセスの増大やデータの増大に対して通信の遅延を起こすことなくレスポンスを返したり、想像より小さくなった時に必要のないハードウェアを切り離せるなどのスケーラビリティがシステムを運用していく中でコスト面や人件費の面から重要となっています。

スケーラビリティには垂直スケーラビリティと水平スケーラビリティが存在し、2つを組み合わせることでシステムの性能を高めることができます。

垂直スケーラビリティ

垂直スケーラビリティは、ハードウェアを能力を高いものにすることで処理速度を高める方法です。こちらは1つ1つのリソースの増強を行います。

垂直と言われている理由は、一つのリソースの処理性能を高めることを縦に伸ばすとたとえているからです。

例としては

  • サーバのCPUの増設
  • ハードディスクの増設
  • CPUのグレードアップ

などが存在します。

垂直スケーラビリティは単純にCPUを加えたりアップグレードすることで性能が向上するので手っ取り早く対応することができます。しかし、垂直スケーラビリティでは処理方法自体は変更しないのである程度の限界が存在します。

水平スケーラビリティ

水平スケーラビリティは、データの処理方法や処理のリソースの使い方を変更することで処理速度を高める方法です。こちらはデータを処理するハードウェアを増やしたりデータを分散することで、データを処理するリソースを増やします。

水平と言われる理由は、リソースを増やして複数のリソースで処理するのを横に伸ばすとたとえているからです。

例としては

  • 分散システム化
  • ハードウェアの増設
  • リソースのクラスタ化

水平スケーラビリティはリソースの増加を行うのでシステムの変更を必要とするので垂直スケーラビリティに比べて手間はかかりますが、水平スケーラビリティと垂直スケーラビリティを組み合わせることによって処理速度を大幅に向上させ通信の遅延を防ぐことができます。

コメント

  1. […] なんとなくわかる「スケーラビリティ」スケーラビリティ(scalability)とはシ… […]

タイトルとURLをコピーしました