yuitaso / sunrise

1 stars 0 forks source link

負荷分散関連のまとめ #9

Open pei0804 opened 8 years ago

pei0804 commented 8 years ago

インフラ用語

スケーラビリティ(拡張性)

能力が不足することが判ったときに、必要に応じてシステムを拡張できるかどうか。 主にスケールアウトを前提とした設計が望まれる。理由としてはスケールアップはハードウェアの入れ替えなのが伴うため、場合によっては停止する必要があったりするため。

アベイラビリティ(可用性)

アベイラビリティは、システムの止まりにくさを表します。
故障せず保守も必要ない機器でシステムを構成すれば、もちろんアベイラビリティは高くなりますが、実際には故障も保守も避けることはできません。 そのため、アベイラビリティの高いシステムには次のような機能が要求されます。

負荷分散装置は、接続しているサーバの運用状況を定期的に診断し、故障しているサーバを負荷分散の対象から自動的に除外します。 これにより、利用者からのリクエストは、正常なサーバで処理されます。
除外が自動化されていると、停止している間に保守ができるため、停止せずにサービスを提供し続けることが可能になる。つまり、可用性が高くなる。
↑ロードバランサの機能

ロードバランサ

サーバーとは別に負荷分散装置を使う理由

主な機能

ロードバランサ - ロードバランシングの種類

負荷分散方式の選定

データベース周りの負荷分散

RDBMSはデータの整合性は保証されているが、ボトルネックとなりがちなので、最近ではNoSQLとの組み合わせが流行っている。 NoSQLはRDBMSに取って代わるものなのか? (1/3) - @IT
IoTに適したNoSQL・分散Key-Valueストア

NoSQLの登場の理由

スケールアウトとスケールアップのどちらが良いか? これは、「どんな場合でもこちらの方が良い」と決められる問題ではありません。用途、目的を考えて使い分けるものです。近年まで、データベースといえばRDBMSが前提に考えられてきたことから、処理性能向上の選択肢は「スケールアップ」一本に限られていました。しかし、NoSQLデータベースの登場によって「スケールアウト」への道が開かれたのです。 r10pic2.jpg (JPEG 画像, 490x300 px)

NoSQL

特徴

弱み

参考画像

r10pic3.jpg (JPEG 画像, 350x120 px) r10pic4.jpg (JPEG 画像, 420x180 px) r10pic5.jpg (JPEG 画像, 360x240 px)

RDBMS

特徴

分散して保存した場合

RDBMSのパフォーマンスチューニングでは「低速なディスクストレージへのアクセスを可能な限り減らし、できるだけメモリにキャッシュしたデータを返す」のが定石です。しかし、分散環境ではディスクストレージよりもさらに速度が遅く、安定しない、ネットワーク経由のデータアクセスを余儀なくされてしまいます。

弱み