分散システムとは、多数のコンピュータをネットワークで接続し、作業を分担しながら稼働しているシステムのことです。
各マシンへの負荷が少なく、故障してもシステムがダウンしないなどのメリットがあり、近年は分散システムがシステム構成の主流となっています。
今回は、分散システムの概要やメリット・デメリット、さらに従来の分散システムが進化した「自律分散システム」についてご紹介します。
目次
初めてプロジェクト担当者になった方向け
プロが教える「IT基礎知識・用語集」プレゼント
分散システムとは?
分散システム(distributed systems)とは、ネットワークで接続された複数のコンピュータで作業を分担して行うシステムです。複数の端末がネットワーク環境で相互に接続されていることで、処理を分散しています。
●分散システムの特徴
分散システムで使われるコンピュータはそれぞれ独立していますが、ユーザー(外部)から見ると、全体がひとつになった一貫性のあるシステムに見えます。実際には多くの端末が協調して処理を分担していますが、外部からはプロセスを分担して処理している様子は見えません。
これまでは、主に企業や学校などで採用されていましたが、近年はさまざまなところで、主にインターネットやイントラネットなどオンラインで接続されたシステムが使用されています。例えば、クライアントサーバーシステム(CSS)は分散システムの代表的なモデルです。サーバは、メールサーバ、データサーバなど特定の処理を担当し、クライアントはサーバに対して必要な処理を請求します。
●分散システムの対義語「集中システム」
分散システムと対比するシステムが、「集中システム(centralized
systems)」です。集中システムでは、すべての処理がメインフレームで集中的に行われていて、クライアント側では、ユーザーの入出力程度の処理しか行いません。シンクライアント(Thin
client)は、集中システムの代表的なモデルのひとつです。
集中システムは大容量のデータ処理が可能で、運用管理やセキュリティ管理がしやすく、信頼性が高いのが特徴です。分散システムよりも以前から使われており、1980年代までは主流のシステムでした。現在でも、信頼性が重要なシステムでは集中システムが使用されているところもあります。
ただし、集中システムはメインフレームへの負荷が大きく、万が一メインフレームが故障したらシステムが停止して、復旧に多くの時間がかかるというデメリットがあります。また、導入コストが高いこともあり、近年では分散システムのほうが主流です。
分散システムの形態
分散システムは、垂直型分散システムと水平型分散システムの大きく2つに分けられます。ここでは両者の形態の違いについて解説します。
●垂直型分散システム(vertical distribution)
役割が異なるコンピュータを、階層順に配置する形の分散システムです。メインフレームなどの大型コンピュータを中心に、中型、小型の端末が複数ぶら下がるように構成されています。中心の大型コンピュータと中型以下の端末は役割が異なり、集中システムに似ていますが、サブの端末でも連携して分散処理を行っているので、メインの大型コンピュータの負荷を減らすことができます。
企業の情報システムなどで使われているクライアントサーバーシステムは、本社の大型コンピュータを中心に営業所や支店の中型・小型の端末を配置する形で構成されており、垂直型分散システムの代表的なモデルです。
●水平型分散システム(horizontal distribution)
ほぼ同じ役割の複数のコンピュータを、対等な形で接続する形の分散システムです。コンピュータ間に上下関係はなく、対等なシステムで構成されていて、データベースやプログラムなどの資源を共有した上で処理を分散しています。水平型分散システムには、機能的に同じ内容の処理を分散して負荷を平均化させる「水平負荷分散システム」と、機能ごとに処理を分散させる「水平機能分散システム」があります。
分散データベースは水平型分散システムの代表的なモデルで、複数のデータサーバをネットワークで接続し、ひとつのデータベースのように扱うタイプの形態です。
分散システムのメリット・デメリット
分散システムには、負荷を分散できるというメリットがありますが、一方でデメリットもあります。分散システムのメリットとデメリットをご紹介します。
●メリット
<分散するので、1台のコンピュータの負担が少ない>
処理を複数台のコンピュータで分担するため負荷が少なく、処理が素早く終了します。また、負荷を分散することで、1台ではできないような大掛かりな処理も可能です。
<部分的に故障しても、影響が少ない>
複数のコンピュータで処理を行っているため、1台が故障してもシステム全体がダウンすることはありません。ほかのコンピュータの負荷が増しますが、システムはそのまま継続できます。1台の故障が影響する範囲は少なく、故障した端末を修理・交換すればまた元通りに処理を行うことができます。
<システムが柔軟>
端末の増減が容易なので、目的に応じてシステムを拡張したり、狙った機能を持たせたりできます。例えば、端末を追加して処理を高速化したり、耐障害性を高くしたりできます。あらかじめ予備の端末をシステム内に待機させておけば、万が一、端末が故障した場合にも、すぐ代替機に交換できます。
<低コスト>
集中システムは、一番上に大型コンピュータが必要ですが、分散システムは小さな端末の集まりのみで構成可能です。小さな端末ならば価格が安いため、導入時のコストが抑えられます。最初は低コストのシステムで始め、少しずつ端末を買い足して拡張することもできるでしょう。
●デメリット
<システム管理が複雑化する>
分散システムでは、管理の必要なコンピュータの台数が増えるため、運用管理が複雑になります。すべてのコンピュータにソフトウェアアップデートを行ったり、ネットワーク接続にトラブルがないか監視したりする必要があります。
<セキュリティ対策が難しい>
分散システムでは、すべてのコンピュータにセキュリティ対策が必要です。そのため、全体のセキュリティ対策を行うには、手間も費用もかかってしまいます。
自ら考えて行動する「自律分散システム」
分散システムの進化系として、信頼性が重要な分野で使われている「自立分散システム(autonomous distributed systems)」があります。自立分散システムは、従来の分散システムと比較して、どのような点が優れているのでしょうか。
●自律分散システムとは?
自律分散システムは、メインフレームのような大型コンピュータを中央に持たず、すべての端末が自律的に行動しながら、全体がひとつのシステムとして稼働しているシステムです。
複数のコンピュータで作業を分担していますが、通常はそれぞれ分担している処理を単独で行っています。連携が必要な処理があれば、システムにリクエストが発信され、全体が連携して機能を果たすようになっています。
それぞれが独立したシステムのため、どこかにトラブルが発生しても、システムへの影響はなく、そのままコンピュータの入れ替えや追加・削除を行えます。システム全体が停止する危険が低いので、信頼性の高いシステムとして評価されています。
●自立分散システムの応用例
自立分散システムは、その信頼性の高さから、鉄鋼の生産管理や工場の生産工程の自動化システムなど、終始稼働し続けていなければならない分野で主に使われています。JR各社や私鉄のICカード乗車券といった、高速のリアルタイム処理を大量に行うような、止まることを許されないインフラ分野でも自律分散システムが用いられています。
インターネットそのものは自立分散システムの代表的なモデルとされています。インターネットは特に管理者がいないまま、自律的に独立したネットワークが連携して稼働しており、常に変化し続ける環境にも適応しているためです。
変化し続ける自立分散システムへの期待と可能性
近年は、コンピュータがネットワークにつながっているのが当たり前の時代になりました。
これからはIoT(モノのインターネット化)も広がり、常に稼働していて止まる心配がないシステムが至る所で必要とされるのは確実です。
そのため、信頼性や処理能力が高く、スピーディかつ柔軟に変化して全体への最適化を実現できる自立分散システムがますます求められるようになるでしょう。
システム開発の最適な発注先をスムーズに見つける方法
システム開発会社選びでお困りではありませんか?
日本最大級のシステム開発会社ポータルサイト「発注ナビ」は、実績豊富なエキスパートが貴社に寄り添った最適な開発会社選びを徹底的にサポートいたします。
ご紹介実績:22,000件(2024年10月現在)
外注先探しはビジネスの今後を左右する重要な任務です。しかし、
「なにを基準に探せば良いのか分からない…。」
「自社にあった外注先ってどこだろう…?」
「費用感が不安…。」
などなど、疑問や悩みが尽きない事が多いです。
発注ナビは、貴社の悩みに寄り添い、最適な外注探し選びのベストパートナーです。
本記事に掲載するシステム会社以外にも、最適な開発会社がご紹介可能です!
ご相談からご紹介までは完全無料。
まずはお気軽に、ご相談ください。 →詳しくはこちら
初めてプロジェクト担当者になった方向け
プロが教える「IT基礎知識・用語集」プレゼント
■システム開発に関連した記事