プログラミング等専門用語解説12(IT系)
REV27
ブログ投稿しています。複数画像付き等最終版は此方から、ご覧ください。
今回は既に引用している幾つかの言葉と新規の用語を先ず挙げてから、一つ一つの用語についてボリュームを確認しながら、確認・解説したいと思います。
引用済み&新規用語一覧(主にIT系です)(紫色用語は取り上げ済みです)(青色用語は今回取り上げるアイテムです)
OS(オペレイティングシステム)(Windows/OS X/ChromOS/UNIX&LinuX等)
(WEB)ブラウザ
ソフトウェアとハードウェア
ネットワークとインターネット
UI(GUI/CUI)
イーサネット/ネットワーク(LAN)(WAN)
インシデント
キッティング
検索クエリ
コンフィグレーション
ギガバイト/テラバイト
サプライチェーンマネジメント
サーバ・クライアントシステム/クラウドシステム
冗長性
ストレージ(HDD/SSD等)
スループット
セッション
RDB/RDBMS/DBMS
データベース
SQL
バックアップ
パケット
ファイアウォール
フェイルオーバー
分散処理
ペタバイト/エクサバイト
ホットスタンバイ
リカバリ/リストア
ルーター/スイッチ
TBD
この中で、今回は冗長性と分散処理を取り上げたいと思います。
冗長性
皆さんは冗長性にいて、どの様な事を思い浮かべられるでしょうか?
講師がこの言葉を聞いて、思うのは先のRAID1のミラーリングです。ミラーリングというのはHDDの謂わばA面とB面とで(別々なHDDです)同じ内容を常に保持していて、通常はA面を使用しているのですが、一旦、問題がA面で出た場合、直ぐにB面に切り替えて、作業を継続できる様にするというものです。
謂わば音楽CDの両表A面の様なもので、常時AB面の内容を同期させ使える様に保持する事で、常に面を切り替えて、継続動作を実現する冗長性です。
HDDではRAID1以外に複数面に予備の1面を保持するN+1のRAID方式なども、冗長性として存在しています。
N+1は兎も角、RAID1のミラーリングの考え方はサーバの運用などでも有益です。
例えば、365日24時間稼働が要求事項の様なシステムでは、AシステムとBシステムの並列稼働でシステムの動作・応答を保持するというのは、有りだと思います。勿論、二つのシステム稼働させるにはそれだけの投資が必要にはなりますが…。
尚、冗長性はシステムを継続運用・継続動作させるための考え方ですが、複数システムの稼働というのは冗長性 の他に、システムをUPDATEする場合の事前動作確認環境としても生きてきます。
LMが新しくなった場合、運用している環境にいきなり新しいLMを適用するという方法はかなりリスクが有ります。個人で使用しているPCならいざ知らず、お客さんに提供されているシステムでは、通常はいきなり新しいシステムを運用環境に適用したりはしません。
もし、その様な環境で新しいシステムにUPDATEしないといけない場合は、システムの停止期間を十分に取って、少しずつ確認をしていくしかありません。
尚、既にAシステムとBシステムの様なAとBが等価の状態の話をしましたが、コスト的に同じものが不可であるならば、一方は最低限の稼働条件のシステムでもLMのUPDATE等では有効に機能します。事前に動作確認をメインでは無い環境で行い、不具合が無いことを確認して、本運用システムに適用する事が出来るため、保有している意味が有ります。
従って、冗長性というのは後から考えるものでは無く、システムを構築する際に考えるべきものであり、当初の予算の範囲内に計上しておくべきものだと思います。
分散処理
分散処理は沢山の処理を1ダイン上で複数のプロセッサで行ったり、複数のサーバPCで分散してネットワーク上で共有したりする事で、負荷の分散・処理能力向上・負荷低減を実現します。
これらは、同じ処理を分散させる方式の例ですが、分散処理には、このような負荷分散の方法と共に、機能分散の方法により、負荷を分散させる考え方が有ります。
PCで機能分散の考え方の一部ではと講師が思っているのが、ゲーミングPC等のGPUです。
GPUは画像処理をメインのCPUから分離受けもち、高画質な画像を高速かつメインのCPU処理に依存せず実現できます。
特定の機能を分散してメインCPUから受け持つため、GPUも負荷分散の一つの形と思います。
尚、現状GPUとCPUとは1パスで接続させている様で、特に通信問題は行いようですが、複数CPUと複数GPUになった場合は、相互干渉が起きる可能性が有り、マルチ通信制御が必要になるハズです。
特に複数CPU間で機能分散や負荷分散を行うと、各CPU間で通信若しくはデータの共有が必要になります。当然問題が起きない様にするには、共有メモリなどで、排他制御が当然必要になります。
皆さんは、プログラミングについて、どの様なご意見・イメージをお持ちでしょうか?
講師の経験が、皆様のお役に立てれば幸いです。
この記事が気に入ったらサポートをしてみませんか?