高校「情報Ⅰ」単語帳 - 東京書籍「情報Ⅰ Step Forward!」 - 情報システムとデータの管理
情報システム 【ITシステム】 ⭐⭐⭐
情報を記録、処理、伝達するための仕組み。現代では、コンピュータやソフトウェア、ネットワークなどを組み合わせて情報を管理する「コンピュータシステム」あるいは「ITシステム」とほぼ同義として用いられる。IT関連の文脈であることが明らかな場合は「システム」と略されることが多い。
「システム」(system)とは、様々な要素を組み合わせて全体としてある特定の機能を発揮する仕組みのことを指し、「情報システム」は情報を取り扱うために様々な要素をまとめて構築したシステムである。
この素朴な定義に照らせば、電子的手段に依らずに紙などを用いて情報を記録・管理する仕組みや、個人が所有・利用するパソコンなども情報システムの一種ということになるが、現代社会で一般に情報システムという場合には、企業や官公庁などの組織が事業や業務の遂行のために構築した、ある程度の規模の設備の集合体のことを指すことが多い。
狭義の情報システムは、コンピュータや通信機器などとそれらに付随する装置や備品(記憶媒体など)、コンピュータ上で実行するオペレーティングシステム(OS)やミドルウェア、アプリケーションソフトなどのソフトウェア、記憶装置に保管されるデータ、機器間や組織内外を結ぶ通信回線やネットワークなどの総体を指す。
広義には、これらの要素に加えて、開発や運用のための人員や組織、操作や管理のための手順や規則の体系(を書き表した文書類)など、情報やシステムを取り扱うための組織内の「仕組み」全体が含まれる。
情報システム部門
大企業など大きな組織が情報システムを導入・運用する際には、その調達や運用に責任を持つ専任の「情報システム部門」が設置されることが多い。本業の業務部門を補佐する間接部門の一部であり、俗に「情シス」と略されることがある。
企業にせよ、官公庁や教育機関、非営利団体にせよ、現代の組織運営や事業遂行に情報システムは欠かすことのできない役割を果たすようになっており、重要性は高まっている。専任の役員クラスの役職である「CIO」(Chief Information Officer:最高情報責任者)を置く組織も増えている。
サービス
役務、業務、奉仕、貢献などの意味を持つ英単語。人や組織の間でやり取りされる財のうち物理的実体を伴わないもの。外来語としては無料で供される役務や物品という意味もある。
ITの分野では、人や組織が提供する役務といった一般の外来語としての意味に追加して、コンピュータなどの機器やソフトウェアが、利用者や他の機器、ソフトウェアなどに対して提供する機能や働きのことをサービスということがある。
Windowsのサービス
Windowsでは、利用者や実行中のソフトウェアの求めに応じて即座に何らかの機能を提供できるよう、起動された状態でシステムに常駐するプログラムのことをサービスという。
システムやデータの管理や監視のための機能や、多くのソフトウェアが共通して必要とする汎用的な機能などを実装したもので、通常は操作画面などを持たず、利用者が直接操作することはほとんどない。
Windowsがオペレーティングシステム(OS)の機能の一部として標準的に提供するもののほかに、個々のアプリケーションソフトが提供するものがある。起動時に自動的に実行されるよう設定されており、コントロールパネルの「サービス」アプリから実行、停止、再起動を行うことができる。起動時の自動実行の有無も切り替えることができる。
集中処理 【集中型システム】 ⭐
コンピュータシステムの処理方式の一つで、データの処理を一台のコンピュータ(あるいは一か所の施設)で集中的に行う方式。
データの入出力などを行なう端末やコンピュータが様々な箇所に複数(規模によっては多数)配置されるが、そこではデータの処理は行わず、中央のコンピュータ(施設)にデータを運搬あるいは送信し、集中的に処理を実行する。
管理が容易でコスト効率が高く、セキュリティを確保しやすいが、システム全体の性能や容量が中央コンピュータのそれに制約されるほか、中央コンピュータに障害などが発生すると全体が停止するリスクがある。
一方、端末などに処理能力を持たせたり、複数の大型コンピュータや施設を設置するなどして、複数のコンピュータや施設で分散して並列に処理を行う方式を「分散処理」(decentralized processing)という。
分散処理 【分散システム】 ⭐
コンピュータが行う処理や取り扱うデータなどを分割し、複数のコンピュータシステムに割り振ってそれぞれが独立に実行すること。HPCクラスタやグリッドコンピューティングなどの方式が含まれる。
複数の実行主体で矛盾なく処理を分担できるよう特別に設計されたソフトウェアを用い、処理やデータを細かい単位で複数のシステムに割り当てて同時並行に進める。単体では平凡な性能のコンピュータでも、多数を連携させて分散することにより全体としては巨大な演算性能を得ることができる。
一か所の施設などに同じ機種やOSで稼働するコンピュータを集め、ネットワークで接続して連携させたものを「クラスタシステム」あるいは「コンピュータクラスタ」と呼び(性能目的の場合は特にHPCクラスタと呼ばれる)、インターネットなどを通じて広域的に、あるいは様々な機種のコンピュータを束ねて処理を依頼する方式を「グリッドコンピューティング」(grid computing)という。
一方、一台のコンピュータに複数のマイクロプロセッサ(CPU/MPU)を搭載(あるいは一つのプロセッサに複数のプロセッサコアを内蔵)し、複数のプログラムやデータを同時に処理することは「マルチプロセッシング」(multiprocessing)あるいは「並列処理」(parallel processing/並列コンピューティング/parallel computing)という。
個々の処理やデータの関連性や相互依存性が強く、ノード間のデータ送受信や全体の調整・統合処理が頻繁に必要となる科学技術シミュレーションなどは並列処理が向いており、相互の関連性が低くノード間の緊密な連携が不要な暗号解読などの処理には分散処理が向いている。
MTBF 【Mean Time Between Failures】
機器やシステムなどの信頼性を表す指標の一つで、稼働を開始(あるいは修理後に再開)してから次に故障するまでの平均稼働時間。例えば、この値が10年ならば「10年の稼働時間の間に平均1回故障する」ことを表す。
ある期間における(あるいは複数の同じ機器における)機器の稼働時間の和を、その間に発生した故障の回数で除して求められる。例えば、あるシステムの運用状況を1年間調べた結果、総稼働時間が8000時間で故障による停止が4回起こっていた場合、平均故障間隔は8000/4で2000時間となる。
一般に平均故障間隔が大きいほど故障から次の故障までの間隔が長く、長期間安定的に利用できる。平均故障間隔は何度も繰り返し修理して使用する前提の指標であり、故障、破損したら修理できず破棄・交換される機器の場合には、同様の指標のことを「MTTF」(Mean Time To Failure:平均故障時間)と呼ぶ。
機器やシステムの種類や用途によっては、始動してから停止せず稼働させ続ける連続動作時の平均故障間隔と、始動・停止を繰り返す間欠動作時の平均故障間隔を別に求めて表示することもある。多くの機器では連続動作の方が使用環境としては過酷なため平均故障間隔が短くなるが、始動時や停止時に大きな負荷のかかる機器(蛍光灯やハードディスクなど)では間欠動作時の方が平均故障間隔が短くなることもある。
平均故障間隔が数か月から数年以上に及ぶ機器などの場合、実際にそれより長い期間、同じ機器を試験し続けることは現実的でないため、大量の(新品の)機器を用意して並列に試験し、稼働時間と故障回数を合算して算出することが多い。この場合、いずれの機器も新品状態から短い期間しか観察されないため、長年使用し続けた時に生じる摩耗や劣化による故障を正しく反映しない場合もある。
MTTR・稼働率との関係
これに対し、一回の故障・修理にかかる平均時間のことは「MTTR」(Mean Time To Repair)という。平均故障間隔を、平均故障間隔とMTTRの和で除したものは全時間に対する稼働時間の割合、すなわち稼働率(operating ratio)となる。
例えば、ある装置の平均故障間隔が999時間、MTTRが1時間であれば「平均999時間稼働するごとにトラブルで停止し、平均1時間の復旧時間を挟んで稼働を再開する」ことを意味するため、稼働率は999/(999+1)で0.999(99.9%)となる。
MTTR 【Mean Time To Repair】
機器やシステムなどの保守性を表す指標の一つで、故障などで停止した際に、復旧にかかる時間の平均。例えば、この値が10時間ならば「修理に平均10時間かかる」ことを表す。
ある期間のうち、故障などで停止してから稼働を再開するまでにかかった時間(ダウンタイム)の和を停止回数で除して求められる。例えば、あるシステムが調査期間中に10回停止し、停止時間の合計が100時間だった場合、平均修理時間は100/10で10時間となる。
平均修理時間が小さいほど復旧までの時間が短いことを表し、機器やシステム自体の保守性(serviceability)や運用組織の即応性や熟練度が高いことを意味する。平均修理時間の算出には稼働時間の長さは考慮されないため、対象の信頼性の高さ、堅牢性などは別の指標で測る必要がある。
MTBF・稼働率との関係
これに対し、故障(後の再始動)から次の故障までの平均稼働時間を「MTBF」(Mean Time Between Failure)という。MTBFを、MTBFと平均修理時間の和で除したものは全時間に対する稼働時間の割合、すなわち稼働率(operating ratio)となる。
例えば、ある装置のMTBFが999時間、平均修理時間が1時間であれば「平均999時間稼働するごとにトラブルで停止し、平均1時間の復旧時間を挟んで稼働を再開する」ことを意味するため、稼働率は999/(999+1)で0.999(99.9%)となる。
ベンチマーク 【ベンチマークテスト】
性能や成績などの評価手法の一つで、同種の他の対象と同じ条件で測定値を求め、相対的な比較を行う方式。また、その際に比較に用いる対象や指標のこと。
ITの分野では、ICチップやコンピュータシステムなどの性能比較でよく用いられる手法だが、IT以外の分野でも、金融商品や企業業績、工業製品などで標準的な比較手法の一つとしてよく知られる。
機器やシステムの性能を比較する場合、テスト用に開発されたコンピュータプログラム(ベンチマークソフト)を実際に実行してみて、実行時間を計測してそれぞれの被検体の性能とする。ソフトウェアの比較の場合には、同じ機材を用いてテスト用に用意されたデータや入力を処理させてみて、実行時間を計測する。
半導体チップやコンピュータ、ソフトウェア、情報システムなどは構成要素が多く構造が複雑なため、外形的な仕様や諸元の値からは具体的な性能を知ることが難しい。このため、ベンチマークによって同じ製品の前の世代や同世代の別の開発元の製品などと相対的な比較を行うことで性能を評価することが多い。
ベンチマークはある特定のプログラムやデータを処理したときの性能に過ぎず、別の対象や条件のもとでは、当然異なった結果が得られる。メーカーが製品の性能アピールに用いるような一般的なベンチマークプログラムは様々な分野や状況に共通する最大公約数的な使用環境を想定して開発されることが多いため、分野や用途によってはまったく当てはまらないこともある。具体的に使用するアプリケーションが決まっているのであれば、それを用いてベンチマークテストを行うのが望ましいとされる。
データセンター 【DC】
外部へ機能やサービスを提供するためのサーバコンピュータなどを設置、運用のための施設。特に、インターネットへ向けてサービスを提供するためのものをインターネットデータセンター(IDC)という。
一般の商業ビルの一フロアや一室をコンピュータ設置専用に用いる場合と、データセンター専用のビルを建築して用いる場合があり、一般企業の情報システム部門などでは前者が、IT関連の事業者やサーバの設置・運用を受託する専門の事業者の場合は後者の形態が多い。近年では一般の企業も自社内での運用(オンプレミス)をやめ専門事業者に委託する例が増えている。
構内には大量のコンピュータや通信装置、ケーブルなどがあり、これらが専用の棚型の什器(19インチラックなど)などを用いて高密度に配置されている。一般のオフィスとは異なり、人間がコンピュータを操作するための机や椅子、入出力装置(ディスプレイ、マウス、キーボードなど)などは無いか、管理者のために簡素な設備がわずかに設置されているのみとなっている。
専用施設の特徴として、大容量の受電・配電設備、予備電源(無停電電源装置やディーゼル発電機など)、大容量の回線を引き込める通信設備、機器の発する膨大な熱を効率的に除去する専用の空調設備、災害に強い立地や高度な耐震・免震構造、入退室の厳密な管理や記録などがある。
ホスティングとハウジング(コロケーション)、マネージドサービス
データセンターの運用に特化し、外部からサーバなどの設置・運用を受託する事業者も存在する。このうち、契約者が事業者の設置したサーバなどをリースやレンタルなどの形で借り受け、通信回線を通じて外部から利用する形態を「ホスティング」(hosting)、契約者自身が用意した機材を事業者のセンター内に設置し、管理も契約者側の人員が遠隔操作や入室して行う方式を「ハウジング」(housing)あるいは「コロケーション」(colocation)という。
また、両者の中間的な形として、契約者が機器を持ち込んで設置するが、日常的な管理・運用は事業者側が請け負う「マネージドサービス」(managed serive)と呼ばれる契約形態もある。
コンテナ型データセンター
貨物コンテナにデータセンターとして必要な電源、空調、通信、什器などの機材(場合によってはコンピュータ自体も)をコンパクトに収納し、必要な場所に運搬して利用する形態をコンテナ型データセンター(data center container)という。
2000年代後半頃から見られるようになったもので、外装は貨物コンテナそのものであるため、トレーラーやコンテナ船、国によっては貨物鉄道などで運搬することができる。必要な場所に必要な数だけ持ち運んで、通信回線や電源を引き込めば即席のデータセンターを開設することができる。
GPS 【Global Positioning System】 ⭐⭐
人工衛星を利用して自分が地球上のどこにいるのかを正確に割り出すシステム。米軍の軍事技術の一つで、地球周回軌道に30基程度配置された人工衛星が発信する電波を利用し、受信機の緯度・経度・高度を10m前後の誤差で割り出すことができる。
基本的な原理
GPS衛星には極めて高精度な原子時計が搭載されており、自らの軌道上での現在位置と現在時刻を定期的に電波で発信している。受信機がこの電波を受信すると、発信時刻と受信時刻の差から電波が届くのにかかった時間がわかり、光速(約30万km/s)を掛ければ衛星までの距離を知ることができる。
軌道上には多数のGPS衛星がおり、受信機は複数の衛星までの距離を知ることができる。3つの衛星までの距離が分かれば、それぞれの衛星から距離を半径とする球面が交わる点が現在位置ということになる。実際には受信機の時計が正確でないことが多いため、これを補正するために4つ目の衛星からの情報が必要となる。
主な用途
元来は米軍による軍事用の技術だが、民間や外国でも基本的には自由に利用できることから、航空機や船舶の航行システム、自動車のカーナビゲーションシステム、測量システム、登山用ナビゲーション機器、デジタルカメラの撮影位置記録などに応用されてきた。
近年では受信機の小型化、低価格化が進み、ほぼすべてのスマートフォンやタブレット端末などに標準でGPS機能が内蔵されている。アプリやネットサービスと組み合わせ、地図やナビゲーション、見守り、紛失物発見、オンラインゲーム、SNSなどのサービスに利用されている。
GPS衛星 (NAVSTAR衛星)
GPSに用いられる人工衛星は米国防総省が管理しており、正式には「NAVSTAR」(NAVigation Satellite Timing And Ranging)と呼ばれる。高度約2万kmの6つの軌道面にそれぞれ4つ以上、計24個以上が配置され、約12時間周期で地球を周回している。
約7年半で寿命を迎えるため、毎年のように新しい衛星を打ち上げて軌道に投入しており、概ね30個前後の衛星が常時運用されている。GPS衛星は高性能の原子時計を内蔵しており、1.2/1.5GHz帯の電波で時刻を含むデータを地上に送信している。
暗号化と精度
GPS衛星の発信する電波に含まれる信号には、軍事用に暗号化されたものと民間用に暗号化されていないものの2種類がある。暗号化されたデータは極めて高精度で、米軍しか利用することができない。誤差は数cmから数十cmと言われており、精密誘導兵器などに利用されている。
民生用に利用できるものは暗号化されていないデータで、誤差は10m程度となる。1990年代までは民生用のデータは故意に精度を落として誤差100m程度で運用されていたが、2000年以降は精度低下措置は有事の際に地域を限定して行う方針となった。2007年以降は恒久的に低下措置は行わない方針となっており、誤差10m程度の状態が定着している。
補助手段による精度向上
補助的な手段を加えることで精度向上や位置特定までの時間を短縮する技術がある。このうち、位置の分かっている固定の地上局からFM電波を発信し、GPS衛星の代用とする技術を「DGPS」(Differential GPS)という。日本では全国の沿岸に27局が整備されたが2019年に廃止された。
スマートフォンなどでは、移動体通信ネットワークの基地局が常時GPS衛星の情報を受け取り、端末の要求に応じて提供する仕組みがあり、「A-GPS」(Assisted GPS/補助GPS)という。端末が自前で受信するよりも素早く初回の測位を行うことができる。基地局からの電波を用いてGPSと同じ原理で端末の位置を割り出す仕組みもあり、GPSと併用されている。
国によっては、GPS衛星と互換性のある高精度の信号を発信する衛星を独自に打ち上げ、自国領や周辺地域に限って精度向上を図っている場合もある。インドでは静止衛星を利用した「NavIC」を、日本では準天頂衛星を利用した「QZSS」を運用している。QZSSは対応機器であればセンチメートル級の極めて高精度な信号を利用できる。
他の衛星測位システム
GPSおよびGPS衛星は米国政府が保有・運用しているため、各国政府は社会インフラや軍事インフラとしての位置情報の取得技術を米政府に依存する状態に危機感を覚え、同種の衛星測位システムの開発および運用に乗り出している。
ロシアでは1996年から「GLONASS」を、中国では2012年から「北斗」を、欧州連合(EU)では2016年から「Galileo」を運用している。インドの「NavIC」や日本の「QZSS」のように運用地域を限定した衛星測位網を構築している国もある。これらすべてを総称して「GNSS」(Global Navigation Satellite System)と呼ぶこともある。
GIS 【Geographical Information System】
地図や地形データ、航空・衛星写真などの空間情報と、地理的な位置に関連する様々なデータを統合的に扱うことができる情報システム。
地図データと他のデータを相互に関連づけたデータベースと、それらの情報の検索や解析、表示などを行うソフトウェアから構成される。データは地図上に図形や記号、色分けなど駆使して分かりやすく表示され、解析対象の分布や密度、配置などを視覚的、直感的に把握することができる。
企業では地図上に人口分布や商店の配置などを当てはめ、商圏分析や顧客開拓、出店計画などに応用している。行政では都市計画やインフラ整備、固定資産管理、資源管理、災害対策、犯罪分析などでよく用いられる。
人工衛星により機器の現在位置を検知するGPS(全地球測位システム)と組み合わせたシステムもよく用いられ、カーナビゲーションシステムやスマートフォン向けの地図アプリ、ローカル検索などが広く普及している。
IoT 【Internet of Things】 ⭐⭐⭐
コンピュータなどの情報・通信機器だけでなく、世の中に存在する様々な物体(モノ)に通信機能を持たせ、インターネットに接続したり相互に通信することにより、自動認識や自動制御、遠隔計測などを行うこと。
自動車の位置情報をリアルタイムに集約して渋滞情報を配信するシステムや、人間の検針員に代わって電力メーターが電力会社と通信して電力使用量を申告するスマートメーター、大型の機械などにセンサーと通信機能を内蔵して稼働状況や故障箇所、交換が必要な部品などを製造元がリアルタイムに把握できるシステムなどが考案されている。
これまでの情報システムとの違いとして、個々の機器の取り扱うデータ量や処理量、通信量は少ないが機器の数が桁違いに膨大であることや、従来のコンピュータ製品が人の周りや特定の場所(建物や部屋)に集中しているのに対しIoT機器は世の中の様々な場所に分散して配置される点などがある。
こうした特徴を反映し、低コストで生産でき低消費電力で稼働するICチップや、多数の機器からデータを集約して解析したり、同時に多数の機器を制御するソフトウェア技術、低消費電力で遠距離通信が可能な無線技術、環境中から微小なエネルギーを取り出す技術(エナジーハーベスティング)などの研究・開発が進められている。
LPWA (Low Power Wide Area)
IoTに必須の要素として、装置の消費電力が少なく、多数の機器を一つのネットワークに収容できる広域的な無線通信技術があり、これを「LPWA」(Low Power Wide Area)と総称する。そのような通信方式で構築されたネットワークは「LPWAN」(Low Power Wide Area Network)とも呼ばれる。
IoTを実現するには、携帯電話網など従来からある広域無線技術に比べ、十~数十kmといった遠距離や広い範囲をカバーでき、乾電池などの乏しい電源でも数か月から数年は稼働できることが求められる。一方、人間がスマートフォンなどの通信機器に求めるような高速なデータ伝送能力は必ずしも必要なく、数十~数百kbps(キロビット毎秒)程度あれば実用に供することができる。
このような特性を備えた新しい通信方式をLPWAと呼び、具体的な規格として「Sigfox」「LoRa」「Wi-Fi HaLow」「Wi-SUN」「LTE-M」「NB-IoT」「RPMA」などの方式が提唱されている。
M2M/センサネットワークとの違い
以前から、機器同士を直接繋いで自律的にシステムを運用する「M2M」(Machine to Machine)や、通信可能なセンサーを分散配置して高度な監視や制御を可能にする「センサネットワーク」(WSN:Wireless Sensor Network)などの概念が存在し、これらはかなりの部分がIoTと重複している。
ただし、IoTはインターネットへの接続を前提とするのに対し、これらの技術は閉じた専用ネットワークや独自プロトコル(通信規約)での運用を想定している場合が多い。また、M2Mやセンサネットワークは特定の目的のために機械同士が情報のやり取りすることで処理が完結する仕組みであることが多いのに対し、IoTは接続された機器と人や外部の情報システムとの相互関係がより重視される傾向がある。
IoE (Internet of Everything)
「ありとあらゆるものが接続されたインターネット」という意味で、モノのインターネットと、人やデータ、情報、ソフトウェアなどが中心の従来からあるインターネットが統合された姿を指す。
とはいえ、従来のインターネットとの違いは多数のモノが接続されている点であるため、実際上はIoTとほぼ同義として用いられることが多い。主に米シスコシステムズ(Cisco Systems)社が提唱している用語である。
POSシステム 【Point Of Sales system】 ⭐⭐⭐
小売店などで客に商品を販売する際に何がいくつ売れたかを単品ごとに端末に入力し、売上や在庫などの情報をリアルタイムに管理するシステム。
専用のキャッシュレジスター(POSレジ)を用いて商品パッケージのバーコードを読み取り、販売した日時や数量などと共にシステムに入力する。むき出しの生鮮品などバーコードを貼付できない商品は端末に設けられたボタンやタッチパネルで販売員が商品を指定する。
得られたデータはネットワークを通じてストアコンピュータ(ストアコントローラ)と呼ばれる管理用コンピュータに登録され、同じ企業が複数店舗を展開している場合やフランチャイズチェーンの場合は本部のITシステムに情報が集積される。
POSシステムを通じて得られた情報は、売上や利益、税金など各種の会計上の計算、在庫や発注の管理、売上動向の把握や解析、販売促進施策の計画や効果測定など、様々な用途や目的のために活用される。
商品に付けられるバーコードを、メーカーなどがあらかじめ包装などに印刷やシールで掲載した状態で納品する方式を「ソースマーキング」、店内で専用の端末からシールを印刷して貼付する方式を「インストアマーキング」という。
ブロックチェーン ⭐
一定の形式や内容のデータの塊を改竄困難な形で時系列に連結していく技術。内容が随時追加されていくデータ群を複数の独立した対等な主体の間で安全に共有することができる。仮想通貨(暗号通貨/暗号資産)の開発を通じて誕生し、他の用途へも応用されている。
ブロックチェーンを用いて記録されたデータはインターネットなどを通じて参加者間で複製、共有されるが、途中の一部を改竄しても全体を整合性のある状態にすることは困難な性質があり、特定の管理者や管理システムが存在しなくても真正なデータを共有することができる。
この性質を応用し、ネットワークに参加する二者間の取引を記録した台帳データを参加者間で共有しつつ、取引の発生に応じて追記していく分散型台帳を実現することができる。この台帳によって値の移動を追跡、検証可能な方法で記録したものを一種の通貨として利用する試みを暗号通貨という。
ハッシュ値とPoW(Proof of Work)
各ブロックには記録されるデータと共に、一つ前のブロックのデータから算出したハッシュ値が添付される。ハッシュ値はデータの長さによらず固定長の短いデータで、元になるデータが少しでも変化すると規則性なくまったく異なる値になるという性質がある。
これにより、チェーンの途中にあるブロックの内容を改変すると、次のブロックに記録されたハッシュ値と一致しなくなる。これを整合するように改変しても、今度はその次のブロックのハッシュ値と一致しなくなるため、後続のすべてのブロックを連結し直さなければならない。
単にハッシュ計算をやり直して連結し直すだけならばデータ量によってはすぐにできる場合もあるが、多くのブロックチェーン技術ではハッシュ値が特定の条件を満たすようブロックに短いデータ(nonce:ナンスという)を追加する。適切なナンス値を発見するには多数の候補値を用意して条件を満たすまで何度も繰り返しハッシュ値を算出し直す膨大な総当り計算が必要となる。
あるブロックのハッシュ値が条件を満たすことができるナンス値が発見されると、ようやくブロックを閉じて連結することができる。この工程を「PoW」(Proof of Work)と呼び、ビットコインなどのシステムではナンス値を算出した利用者に報酬として新たに暗号通貨を発行する仕組みになっている(コインのマイニングと呼ばれる)。
算出に時間がかかるナンス値が各ブロック毎に用意されていることにより、攻撃者が途中のブロックを改竄しても、後続のすべてのブロックのナンス値の割り出しをやり直さなければ正しいチェーンを得ることができず、改竄を極めて困難にすることができる。システムによってはPoWの代わりにPoS(Proof of State)など別の仕組みを用いる場合もある。
歴史
2008年に「Satoshi Nakamoto」(サトシ・ナカモト)という日本人風の名を名乗る匿名の人物(身元が分からず個人なのか集団や機関なのかも不明)が暗号通貨ネットワークの「ビットコイン」(Bitcoin)を立ち上げ、同時に公開された論文の中でその原理をブロックチェーンの語で紹介したのが最初である。
その後、ビットコインを模した暗号通貨が数多く作られ、インターネット上の交換所を通じて現金との間で、あるいは暗号通貨間で活発に取引が行われている。現在は主に投資用の資産として売買されており、通貨としての機能、すなわちモノやサービスの売買の決済、支払い手段としてはほとんど普及していない。
台帳に取引記録以外の情報を載せることで様々な仕組みを構築することもでき、ある種のプログラムを搭載して条件に応じて自動的に実行する「スマートコントラクト」などが提唱されている。2015年頃からブロックチェーンを金融取引などへ適用する試験的な取り組みなどが活発になっているが、今のところ暗号通貨のように既存の技術や制度では実現できない、あるいは決定的に優位性のある用途は見つかっていない。
データベース 【DB】 ⭐⭐⭐
複数の主体で共有、利用したり、用途に応じて加工や再利用がしやすいように、一定の形式で作成、管理されたデータの集合のこと。現代では専用の管理システムで構築・運用するデータの集合体を指すことが多い。
コンピュータ上でソフトウェアによって管理され、特定の構造や形式に従って同種のデータ群を蓄積したものを指すことが多い。「データベース」の語は文脈によって、実際に蓄積されたデータの集合体そのものを指す場合と、これを管理する「データベース管理システム」(DBMS:Dababase Management System)を指す場合、両者やデータを利用するアプリケーションソフトなどを含めたシステム全体を指す場合がある。
DBMSは管理者が設定した一定の形式や構造に従ってデータをストレージ装置などに記録・蓄積するシステムで、大量のデータを系統立てて保管することができる。必要に応じて検索、抽出、加工することができるため、企業の情報システムのデータ管理の中核として利用されることが多い。
リレーショナルデータベース
データベースにはデータをどのような構造や方式で格納、管理するかによって様々な種類がある。今日最も一般的に利用されるのは「リレーショナルデータベース」(RDB:Relational Database/関係データベース)と呼ばれるもので、一件のデータを複数の属性の値の組として表現し、組を列挙することでデータを格納していく。属性を列、組を行とする表(テーブル)の形で示されることが多い。
RDBの操作は「SQL」(Structured Query Language)と呼ばれる専用の問い合わせ言語で行われることが多い。命令語と操作対象、条件などを連ねてDBMSに指示を与える言語で、テーブルの作成や削除、テーブルへのデータの追加や上書き、削除、DBMS自体の設定の変更などの操作を行うことができる。
リレーショナルデータベースを管理するためのDBMSのことを「リレーショナルデータベース管理システム」(RDBMS)という。Microsoft AccessやFileMaker Proのようなデスクトップアプリケーションから、企業などの情報システムで専門の技術者が運用するOracle DatabaseやMicrosoft SQL Server、MySQL、PostgreSQLなどのサーバアプリケーションまで様々な規模、機能の製品がある。
DBMS 【Database Management System】 ⭐⭐⭐
データベースを管理し、利用者や外部のソフトウェアからの要求に応えてデータの操作を行う専門のソフトウェア。
ハードディスクなどのストレージ装置(外部記憶装置)内に専用の管理領域を設け、データを記録するための構造体の作成や消去、構造の修正、データの書き込み、上書き、削除などを行う。条件を指定してデータを検索したり、特定のデータの集合を抽出したりする機能も提供する。
管理者や利用者が直接操作してこれらの操作を行うほかに、外部のソフトウェアからの接続を受け付け、指示を受けてこれらの操作を行うのもデータベース管理システムの重要な機能である。データの管理にデータベース管理システムを利用することで、個別のアプリケーションソフトがデータの記録・管理機能を自前で実装する必要がなくなり、自らの役割に専念することができる。
基本的な機能の他にも、誤ったデータの記録を拒否して整合性を維持する機能や、権限のない利用者による不正なデータの盗み見や改竄を防ぐ機能、関連する複数の操作を一体的に矛盾なく実行する「トランザクション処理」機能、障害に備えてデータを複製(バックアップ)したり過去のある時点の状態を復元する機能を備えたものもある。
DBMSの種類
データベース管理システムにはデータの記録形式(データモデル)によっていくつかの種類がある。最も広く普及しているのは「リレーショナルデータモデル」(関係データモデル)と呼ばれる方式でデータを格納する「「リレーショナルデータベース管理システム」(RDBMS:Relational Database Management System)で、単にデータベース管理システムと言えばRDBMSを指すことが多い。
代表的なRDBMS製品としては、米オラクル(Oracle)社の「Oracle Database」、米マイクロソフト(Microsoft)社の「SQL Server」、米IBM社の「Db2」などがあり、オープンソースソフトウェアとして配布されている「MySQL」や「PostgreSQL」「MariaDB」なども人気が高い。
パソコンなど利用者の操作環境上で単体のアプリケーションとして動作し、グラフィック表示(GUI)の操作・編集システムと共に提供される製品は「デスクトップデータベース」とも呼ばれる。個人やグループ単位の小規模なデータ管理に用いられ、「Microsoft Access」や米クラリス(Claris)社の「FileMaker Pro」などがよく知られる。
近年では「KVS」(Key-Value Store:キーバリューストア)や「列指向データベース」「グラフ指向データベース」「ドキュメント指向データベース」など非リレーショナル型のデータベース管理システムの増えている。RDBMSの問い合わせ言語であるSQL(Structured Query Language)に囚われないという意味で「NoSQL」(Not only SQL)と総称される。
リレーショナルデータベース 【RDB】 ⭐⭐⭐
データベースの構造の一つで、一件のデータを複数の属性の値の組として表現し、組を列挙することでデータを格納していく方式。属性を列、組を行とする表(テーブル)の形で示されることが多い。最も普及している方式で、単にデータベースといった場合はこれを指すことが多い。
リレーショナルデータモデル(関係データモデル)と呼ばれる数学的なモデルに基づいてデータを秩序立てて格納したデータ集合である。一件の登録単位は複数の属性(attribute)の組(tuple)で、同じ属性を持つ組を何件も集めたデータの集合体をリレーション(関係)という。
これは実際には縦横に項目が並んだ表(テーブル)の形で整理される。リレーションが表に相当し、属性を縦方向に並んだ列(column)、組を横方向に並んだ行(row)として表す。システムによっては行を「レコード」(record)、列を「フィールド」(field)と呼ぶこともある。
実際のデータベースは「顧客マスタ」「製品マスタ」「受注明細」のように複数の表の集合として管理されることが多い。「受注明細の顧客IDは顧客マスタを参照する」といったように複数の表にまたがって同じ属性を配置し、対応付けて管理することができ、複雑なデータや大規模なデータを柔軟に取り扱うことができる。
RDBMSによる管理
リレーショナルデータベースはRDBMS(Relational Database Management System:リレーショナルデータベース管理システム)と呼ばれる専用のソフトウェアによって作成・運用されることが多い。データベースの管理はRDBMSが行い、他のソフトウェアは必要なときにRDBMSへ接続して操作を依頼する。
RDMBSへの指示には「SQL」(Structured Query Language)という問い合わせ言語が標準的に用いられ、データベースの作成や削除、テーブルへのデータの追加や更新、指定した条件を満たすデータ集合の抽出などの操作を行なうことができる。
著名なRDBMSとしては、米オラクル(Oracle)社の「Oracle Database」、米マイクロソフト(Microsoft)社の「SQL Server」、米IBM社の「Db2」などの商用ソフトウェア製品、オープンソースで配布されている「MySQL」「MariaDB」「PostgreSQL」などが知られる。
個人や小集団で利用する「Microsoft Access」や米クラリス(Claris)社の「FileMaker Pro」のようなデスクトップデータベース製品や、RDBMSをクラウドサービスとして提供する米アマゾンドットコム(Amazon.com)社の「Amazon RDS」「Amazon Aurora」などもある。
歴史
リレーショナルデータベースの基礎となる理論は1969年に米IBM社のエドガー・コッド(Edgar F. Codd)氏が提唱したリレーショナルデータモデル(relational data model)で、これを元に開発されたRDBMSが1980年頃から当時の大型コンピュータ向けのソフトウェアとして普及し始めた。
1990年代以降は他の方式を圧倒し、企業などが情報システムでデータの記録や管理を行う際の標準的な手法として広まった。近年では、用途によっては「NoSQL」(Not only SQL)と総称される非リレーショナル型の方式が導入される事例も増えている。
射影 ⭐⭐
物体にある角度から光を当て、ある面にその影を映すこと。また、そのようにして映しだされた影(の形)。数学のいくつかの分野で射影演算という操作が定義されている。
ITの分野では、関係演算やリレーショナルデータベースの操作において、ある関係(表)から指定した条件に従って特定のいくつかの属性(列)を抜き出す操作や、そのような操作の結果得られる関係(表)のことを射影演算ということが多い。
例えば、表「名簿」が「識別番号」「氏名」「住所」「電話番号」の4属性で構成されるとして、そこから「識別番号」と「氏名」のみで構成される表を抜き出す操作(および得られた表)を射影演算という。SQL文では「SELECT 識別番号,氏名 FROM 名簿」のように表現される。
SQL 【Structured Query Language】 ⭐
リレーショナルデータベース(RDB:Relational Database)の管理や操作を行うための問い合わせ言語の一つ。業界標準として広く普及しており、様々なデータベース管理システム(DBMS:Databese Management System)で利用できる。
DBMSへ利用者や外部のソフトウェアから命令を発行するために用いる言語で、データベースへのテーブルの追加や設定変更、削除、テーブル間の関係の定義や削除、テーブルへのデータの追加、更新、削除、データベースやシステムの設定変更などを行うための命令語と構文、文法などを定めている。
主なSQL文
データを操作する命令文としては、テーブルや制約条件などの定義を行うCREATE文、削除を行うDROP文、設定変更を行うALTER文、テーブルにレコードを挿入するINSERT INTO文、削除するDELETE文、更新(上書き)するUPDATE文、条件を元に抽出するSELECT文などがある。
データベースを管理する命令文としては、利用者に権限を付与するGRANT文、剥奪するREVOKE文、トランザクション処理を開始するBEGIN文、完了するCOMMIT文、取り消すROLLBACK文などがある。一部の命令文では文の一部に別の文(サブクエリ/副問い合わせ)を含めることができ、複雑な処理を記述することができる。
これらの命令のうち、CREATE文などデータ構造や関係の定義に関するものを「データ定義言語」(DDL:Data Definition Language)、SELECT文などデータの操作に関するものを「データ操作言語」(DML:Data Manipulation Language)、GRANT文などシステムの管理や制御に関するものを「データ制御言語」(DCL:Data Control Language)にそれぞれ分類することもある。
SQL文の実行
DBMSの管理ツールなどとして対話的にSQL文を実行する環境が用意されていることが多く、管理者や利用者が当座の目的のためにその場でSQL文を入力して実行させることができる。
また、関連する複数の命令文からなる一連の処理を一つの手続きとしてあらかじめデータベースに保存しておき、一定間隔や利用者からの指示などにより実行する「ストアドプロシージャ」(stored procedure)と呼ばれる仕組みが提供される。このうち、何らかの操作やイベントを契機に自動的に起動するよう設定されたものは「トリガー」(データベーストリガー)と呼ばれる。
SQL自体はプログラミング言語ではなく、複雑な処理は実行できないため、外部のコンピュータプログラムからDBMSに命令を発行する仕組みも用意されている。Oracle Databaseの「PL/SQL」のようにDBMS自身がプログラム実行環境となる独自の言語を用いる場合が多い。
プログラミング言語で記述されたソースコード中に命令文を記述し、その言語による記述に自動変換して実行する「埋め込みSQL」(Embedded SQL)や、様々な言語から共通して利用できるプログラミングインターフェース(API)を定義した「ODBC」(Open Database Connectivity)などの仕組みもある。JDBCのようにプログラミング言語側でSQL文発行のための仕組みを整えている場合もある。
歴史
SQLの元になったのは1970年代に米IBM社がRDBMS「System R」を開発する際に、その制御・操作用言語として考案した「SEQUEL」(Structured English Query Language/「シークェル」と読む)である。1980年代以降、他社のRDBMSもSQLを採用するようになり、事実上の標準として普及した。
当初はメーカーやシステムにより仕様が大きく異なっていたため標準化を求める声が強まり、1986年にANSI(米国国家規格協会)によって標準規格「SQL86」が制定された。ISO(国際標準化機構)とIEC(国際電気標準会議)の情報分野の合同委員会JTC 1はこの規格を1987年にISO/IEC 9075として国際標準化している。
ちなみに、ANSI規格のSQLという名称は公式には何の略でもないとされる。その後、同規格はSQL92、SQL99などと改訂され、近年もSQL:2008やSQL:2011、SQL:2016などの新しい改訂版が発行されている。
階層型データベース 【階層型データモデル】
データベースの種類の一つで、データを階層的な木構造に整理して格納するもの。単一の頂点(ルート)から枝分かれする木のようにデータが連なっている。
起点であるルートノードに複数の子ノード(の記憶装置上での所在)が登録され、子ノードはさらに複数の子ノードを持つことができる。どのノードにとっても親ノードは一つで、親をたどっていくとルートノードに行き着く。
特定のノードを指定して内容を読み書きする操作を高速に行なうことができ、記憶領域の利用効率も良いが、データ全体から条件を指定してノードを絞り込む操作は苦手(標準的な方法がなくアプリケーション次第)で、子が複数の親を持つことができないなど柔軟性にも欠ける。
リレーショナルデータベース(関係データベース)の発明以前から存在する米IBM社のメインフレーム向けデータ管理システム「IMS」(Information Management System)が有名だが、SNMPで用いられるMIB(Management Information Base)なども一種の階層型データベースであると考えることができる。
ネットワーク型データベース 【ネットワーク型データモデル】
データベースの種類の一つで、データを互いに結びついた網(ネットワーク)状の構造に整理して格納するもの。
一連の属性から成るデータのまとまり(レコード)を格納単位とし、レコード間は親子関係を持つが、各レコードは親レコードも子レコードも複数持つことができるため、必要に応じて関連する他の種類のレコードを参照することができる。
1970年代に考案された方式で、それ以前に主流だった「階層型データベース」ではレコード間を親子関係(親は必ず一つ)で結びつける木構造で管理していたが、ネットワーク型は親レコードを複数持つことができるため、現実世界のデータの関係に即した柔軟なモデリングが可能となった。
1980年代になるとデータの組を行と列を組み合わせた表のような形式で表現する「リレーショナルデータベース」が台頭し、商用データベース製品の主流の方式として定着したため、ネットワーク型が顧みられることはなくなった。2010年代には、データの繋がりを網状に表現できるという点はネットワーク型データベースに似ているが、より抽象度や柔軟性が高い「グラフデータベース」が登場し、リレーショナル型が苦手とする分野で活躍している。
バックアップ ⭐⭐
応援、予備(の)、代替(の)、支援、支持、擁護、後援、渋滞、後退などの意味を持つ英単語。ITの分野では、機器の故障などに備えて用意された代替設備や予備品、データの複製などのことを意味することが多い。
単にバックアップといった場合は、データの破損や損失に備えてデータの写しを取って保管する「データバックアップ」のことを指す場合が多い。データをコピーする作業や工程のことをバックアップという場合と、作成されたデータの複製(を記録した装置など)のことをバックアップという場合がある。
コンピュータの記憶装置に保存されたデータを別の装置や記憶媒体へ複製して別に保管するもので、機器の故障や破損、人為ミス、不正行為などによってデータの消失や改変などが起こった場合に、複製した時点のデータに復旧させることができる。
また、「バックアップ回線」「バックアップサーバ」などのように、通常時に使用している機器などが何らかの原因で正常に稼働できなくなった時に、その機能を肩代わりするための機器や設備、施設などのことをバックアップということもある。
ファイル ⭐⭐
コンピュータにおけるデータの管理単位の一つで、ストレージ装置(外部記憶装置)などにデータを記録する際に利用者やオペレーティングシステム(OS)から見て最小の記録単位となるデータのまとまり。
利用者がコンピュータを用いて記憶媒体にデータを保存、読み込み、移動、削除などする際に一つのまとまりとして取り扱うデータの集合を表し、OSの一部であるファイルシステム(file system)によって管理される。
ハードディスクやSSD、USBメモリ、光学ディスク(CD/DVD/Blu-ray Disc)などの記憶装置・記憶媒体を利用する際に用いられるほか、コンピュータと周辺機器の間やコンピュータ間の通信においてもデータの送受信単位として利用される。
ディレクトリとパス
ファイルシステムは記憶媒体内でファイルの作成や削除、上書き、移動、複製などを管理する仕組みで、複数のファイルをまとめて一つの集まりとして扱う「ディレクトリ」(directory)や「フォルダ」(folder)などの入れ物(領域)を作成することもできる。
ディレクトリやフォルダの中に別のディレクトリやフォルダを作成し、入れ子状にすることもでき、記憶媒体全体を階層構造に整理して管理する。装置内でのファイルの位置は、「C:¥Windows¥System32¥cmd.exe」のように最上位から順にディレクトリ名を繋げた「パス」(path)という記法で表される。
ファイル名
ファイルにはそれぞれ固有のファイル名が付けられ、これを用いて識別・指定される。多くのOSではファイル名の末尾にファイルの種類や形式を表す「拡張子」(extension)と呼ばれる数文字の英数字の符号が付与される。
コンピュータの操作画面ではファイルは記憶媒体内での位置(パス)やファイル名で表示され、キーボードなどからパスやファイル名を指定して操作する。グラフィック表示を用いるGUI(Graphical User Interface)を備えたOSでは、ファイルは種類によって異なるアイコン(絵文字)とファイル名によって表示され、マウス操作やタッチ操作でアイコンを指し示して操作を行う。
ファイル属性
ファイルはファイルシステムに記録される際に様々な属性や付加情報(メタデータ)と共に記録される。作成日時や最終更新日時、最終アクセス日時、作成者(所有者)、各利用者やグループのアクセス権限などが記録、設定される。
また、多くのOSではファイルに「読み取り専用」属性を付与でき、解除されるまで削除や上書きができなくなる。「隠しファイル」に設定されたファイルは通常の動作モードではファイル一覧画面などに表示されなくなる(ファイル名を直に指定すれば操作はできる)。
ファイル形式
ファイルに記録されるデータの形式や書式(ファイルフォーマット)は作成したソフトウェアによって様々だが、大きく分類すると「バイナリファイル」(binary file)と「テキストファイル」(text file)に分かれる。
バイナリファイルは特に制約なくあらゆるビットパターンを記録できる自由な形式で、その形式に対応したソフトウェアでなければ何が記録されているか知ることができない。テキストファイルはデータを文字情報として記録したファイルで、文字コード規格で規定されたコードに従ってデータを文字列に置き換えて記録する。対応ソフトがなくてもどのような文字が記録されているかは見ることができる。
ディレクトリ ⭐⭐
電話帳(phone~)、住所録、名鑑、要覧、指導書、規則集などの意味を持つ英単語。IT関連では、多数の対象をその所在などの情報と共に一覧できるよう整理したものを意味することが多い。
ファイルシステムのディレクトリ
ストレージ(外部記憶装置)のファイルシステムなどで、複数のファイルを格納し、ファイルを分類・整理することができる保管場所のことをディレクトリということがある。OSによっては同様の仕組みを「フォルダ」(folder)ということもある。
ストレージ内部を論理的に区切って名前をつけて区別する仕組みで、ディレクトリ名によって識別される。ディレクトリ内には任意のファイルを置くことができるほか、別のディレクトリを作成して入れ子状にすることができる。ディレクトリ内に作られたディレクトリは「サブディレクトリ」(subdirectory)あるいは「子ディレクトリ」などと呼ばれる。
ディレクトリの入れ子関係は、システムやストレージ領域の全体を表すディレクトリを頂点とする階層構造(あるいは木構造)として表すことができ、これを根本から先端に向かって枝分かれする樹木の形になぞらえて「ディレクトリツリー」と呼ぶことがある。
UNIX系OSでは、ストレージや他のシステム資源全体を包含する「ルートディレクトリ」(root directory)を頂点として、Windowsでは各ドライブごとにその内部を包含する「ドライブルート」(drive root)を頂点として、それぞれディレクトリの位置を指し示す。
ストレージ内でのディレクトリやファイルの所在は、「/foo/var/hoge.txt」のようにルートからの経路を順に並べた「パス」(path)によって表す。UNIX系OSでは区切り文字として「/」(スラッシュ)を用いるが、Windowsでは「C:\foo\var\hoge.txt」のように「\」(バックスラッシュ)を用いる。日本語版では同じ文字コードを共有している円マーク(¥)になる。
ディレクトリサービス (directory service)
情報システムの一種で、ネットワーク上に存在する機器やサービスについての情報や、利用者の識別や権限に関する情報を一元管理する仕組みのことを「ディレクトリサービス」(directory service)あるいは単にディレクトリという。
原義の電話帳に近い役割をコンピュータネットワーク上で果たすシステムで、登録利用者のアカウント情報(ユーザー名やパスワード、各種の権限など)、ネットワーク上のサーバコンピュータが提供する機能、共有データ(共有ファイル、共有ディレクトリなど)、プリンタなどの周辺機器についての情報を集めて単一のデータベースに登録して管理する。
利用者はディレクトリにアクセスすることでネットワーク上の資源の所在を知ることができ、個々の資源に対して権限の確認をしなくても、一度のログイン操作で許可された資源を自由に利用できるようになる。米マイクロソフト(Microsoft)社がWindows Serverなどで提供しているActive Directory(アクティブディレクトリ)が特に有名である。