Open pei0804 opened 8 years ago
能力が不足することが判ったときに、必要に応じてシステムを拡張できるかどうか。 主にスケールアウトを前提とした設計が望まれる。理由としてはスケールアップはハードウェアの入れ替えなのが伴うため、場合によっては停止する必要があったりするため。
アベイラビリティは、システムの止まりにくさを表します。 故障せず保守も必要ない機器でシステムを構成すれば、もちろんアベイラビリティは高くなりますが、実際には故障も保守も避けることはできません。 そのため、アベイラビリティの高いシステムには次のような機能が要求されます。
負荷分散装置は、接続しているサーバの運用状況を定期的に診断し、故障しているサーバを負荷分散の対象から自動的に除外します。 これにより、利用者からのリクエストは、正常なサーバで処理されます。 除外が自動化されていると、停止している間に保守ができるため、停止せずにサービスを提供し続けることが可能になる。つまり、可用性が高くなる。 ↑ロードバランサの機能
ロードバランサ - ロードバランシングの種類
RDBMSはデータの整合性は保証されているが、ボトルネックとなりがちなので、最近ではNoSQLとの組み合わせが流行っている。 NoSQLはRDBMSに取って代わるものなのか? (1/3) - @IT IoTに適したNoSQL・分散Key-Valueストア
スケールアウトとスケールアップのどちらが良いか? これは、「どんな場合でもこちらの方が良い」と決められる問題ではありません。用途、目的を考えて使い分けるものです。近年まで、データベースといえばRDBMSが前提に考えられてきたことから、処理性能向上の選択肢は「スケールアップ」一本に限られていました。しかし、NoSQLデータベースの登場によって「スケールアウト」への道が開かれたのです。
RDBMSのパフォーマンスチューニングでは「低速なディスクストレージへのアクセスを可能な限り減らし、できるだけメモリにキャッシュしたデータを返す」のが定石です。しかし、分散環境ではディスクストレージよりもさらに速度が遅く、安定しない、ネットワーク経由のデータアクセスを余儀なくされてしまいます。
インフラ用語
スケーラビリティ(拡張性)
能力が不足することが判ったときに、必要に応じてシステムを拡張できるかどうか。 主にスケールアウトを前提とした設計が望まれる。理由としてはスケールアップはハードウェアの入れ替えなのが伴うため、場合によっては停止する必要があったりするため。
アベイラビリティ(可用性)
アベイラビリティは、システムの止まりにくさを表します。
故障せず保守も必要ない機器でシステムを構成すれば、もちろんアベイラビリティは高くなりますが、実際には故障も保守も避けることはできません。 そのため、アベイラビリティの高いシステムには次のような機能が要求されます。
負荷分散装置は、接続しているサーバの運用状況を定期的に診断し、故障しているサーバを負荷分散の対象から自動的に除外します。 これにより、利用者からのリクエストは、正常なサーバで処理されます。
除外が自動化されていると、停止している間に保守ができるため、停止せずにサービスを提供し続けることが可能になる。つまり、可用性が高くなる。
↑ロードバランサの機能
ロードバランサ
サーバーとは別に負荷分散装置を使う理由
主な機能
ロードバランサ - ロードバランシングの種類
負荷分散方式の選定
データベース周りの負荷分散
RDBMSはデータの整合性は保証されているが、ボトルネックとなりがちなので、最近ではNoSQLとの組み合わせが流行っている。 NoSQLはRDBMSに取って代わるものなのか? (1/3) - @IT
IoTに適したNoSQL・分散Key-Valueストア
NoSQLの登場の理由
スケールアウトとスケールアップのどちらが良いか? これは、「どんな場合でもこちらの方が良い」と決められる問題ではありません。用途、目的を考えて使い分けるものです。近年まで、データベースといえばRDBMSが前提に考えられてきたことから、処理性能向上の選択肢は「スケールアップ」一本に限られていました。しかし、NoSQLデータベースの登場によって「スケールアウト」への道が開かれたのです。
NoSQL
特徴
弱み
参考画像
RDBMS
特徴
分散して保存した場合
RDBMSのパフォーマンスチューニングでは「低速なディスクストレージへのアクセスを可能な限り減らし、できるだけメモリにキャッシュしたデータを返す」のが定石です。しかし、分散環境ではディスクストレージよりもさらに速度が遅く、安定しない、ネットワーク経由のデータアクセスを余儀なくされてしまいます。
弱み