高校「情報Ⅰ」単語帳 - 実教出版「最新情報Ⅰ」 - 情報システムとデータの管理
情報システム 【ITシステム】 ⭐⭐⭐
情報を記録、処理、伝達するための仕組み。現代では、コンピュータやソフトウェア、ネットワークなどを組み合わせて情報を管理する「コンピュータシステム」あるいは「ITシステム」とほぼ同義として用いられる。IT関連の文脈であることが明らかな場合は「システム」と略されることが多い。
「システム」(system)とは、様々な要素を組み合わせて全体としてある特定の機能を発揮する仕組みのことを指し、「情報システム」は情報を取り扱うために様々な要素をまとめて構築したシステムである。
この素朴な定義に照らせば、電子的手段に依らずに紙などを用いて情報を記録・管理する仕組みや、個人が所有・利用するパソコンなども情報システムの一種ということになるが、現代社会で一般に情報システムという場合には、企業や官公庁などの組織が事業や業務の遂行のために構築した、ある程度の規模の設備の集合体のことを指すことが多い。
狭義の情報システムは、コンピュータや通信機器などとそれらに付随する装置や備品(記憶媒体など)、コンピュータ上で実行するオペレーティングシステム(OS)やミドルウェア、アプリケーションソフトなどのソフトウェア、記憶装置に保管されるデータ、機器間や組織内外を結ぶ通信回線やネットワークなどの総体を指す。
広義には、これらの要素に加えて、開発や運用のための人員や組織、操作や管理のための手順や規則の体系(を書き表した文書類)など、情報やシステムを取り扱うための組織内の「仕組み」全体が含まれる。
情報システム部門
大企業など大きな組織が情報システムを導入・運用する際には、その調達や運用に責任を持つ専任の「情報システム部門」が設置されることが多い。本業の業務部門を補佐する間接部門の一部であり、俗に「情シス」と略されることがある。
企業にせよ、官公庁や教育機関、非営利団体にせよ、現代の組織運営や事業遂行に情報システムは欠かすことのできない役割を果たすようになっており、重要性は高まっている。専任の役員クラスの役職である「CIO」(Chief Information Officer:最高情報責任者)を置く組織も増えている。
クラウドコンピューティング 【クラウドシステム】 ⭐
コンピュータの機能や処理能力、ソフトウェア、データなどをインターネットなどの通信ネットワークを通じてサービスとして呼び出して遠隔から利用すること。
「クラウド」(cloud)とは「雲」という意味で、IT業界ではシステム構成図などを描く際にネットワークの向こう側にある外部のコンピュータやシステムなどをまとめて雲の形の絵記号で記す慣例があることから、このように呼ばれるようになった。
従来のコンピュータ利用方式では、利用者が直接操作する端末や、同じ建物内にあるサーバなど、システム利用側が自ら保有、設置する機器上でソフトウェアやデータを管理していたが、クラウドコンピューティングではシステム本体は専門の管理施設に集約し、利用者はインターネット等の広域回線網を介してこれを使用する。
コンピュータや通信回線の性能が向上したことから実用的になった利用方式で、通常は機器を設置、運用する専門の事業者(クラウドプロバイダー)が契約者に機器やシステム、ソフトウェアの使用権を貸与するクラウドサービスの形で提供される。
インターネットから誰でも利用できるようなサービスやシステムを「パブリッククラウド」、大企業などが自社ネットワーク上で社員などが利用するために内部的に構築・運用するものを「プライベートクラウド」、両者を組み合わせたものを「ハイブリッドクラウド」という。クラウドと対比して従来型のシステムを指す場合は「オンプレミス」(on-premises)型という。
クラウド
雲、大群、集団などの意味を持つ英単語。全体像の不明確なもやもやした塊・集まりを比喩的に表すことが多い。IT分野では、まとまった計算資源を通信ネットワークを介して遠隔から利用するシステム形態のことをクラウドという。
従来は手元のコンピュータに導入して利用していたようなソフトウェアやデータ、あるいはそれらを提供するための機器や回線といった技術的な基盤を、インターネットなどのネットワークを通じて必要に応じて利用者に提供する方式を意味する。
IT業界ではシステム構成図などを描く際に通信回線の向う側にある外部のネットワークやコンピュータ、情報システムなどをまとめて雲の形の絵記号で記す慣例があることから、このように呼ぶようになった。クラウドと対比して、従来型の自前施設内に設置した機器やシステムを指す場合は「オンプレミス」(on-premises)という。
提供方式
サービスの提供者は大規模なデータセンターなどに多数のサーバコンピュータや通信機器などを用意し、遠隔からインターネットなどの広域回線網(WAN)を経由して契約者にシステムを操作させる。利用者は登録後すぐに用意されたシステムの提供する機能や資源にアクセスして使用することができる。
利用者は機器やソフトウェアの「買い切り」をせず、通信回線のように利用期間や利用実績に応じて料金を支払いサービスを利用する。オープンなサービスの場合はネット環境さえあればどのような場所や端末からでも自分用の操作画面やデータにアクセスできる。
課金体系
一般消費者向けサービスの場合は、登録や基本機能の使用を無料として、追加機能や容量に毎月一定額を課金するフリーミアムモデルを取るものが多い。
法人向けサービスの場合は、月額基本料金に使用実績(外部へのデータ転送量など)に応じた従量課金を組み合わせた料金体系のサービスが多い。
企業などで情報システムを運用する場合、自社内設置(オンプレミス)だと固定的に設備(その多くは税法上の資産)や人員を抱えることになるが、金額が同水準でもサービス料の形で支払う方が財務・会計の都合上好ましい場合も多い。
パブリッククラウドとプライベートクラウド
クラウドを運用するシステムのうち、広く一般の利用に供され、インターネットを通じてオープンにアクセスできるようになっているものを「パブリッククラウド」(public cloud)という。
契約者はインターネットを通じて事業者のサーバにアクセスして設定や管理などを行い、自らの業務のため、あるいは自らの製品やサービスの顧客のためにシステムを運用する。一般消費者向けサービスや、Webサイトやネットサービスの公開・提供のために用いられるクラウドサービスなどはこの形態を取る。
一方、特定のネットワークや登録利用者からのアクセスのみを受け付け、インターネットや公衆網からは切り離されて運用されているものを「プライベートクラウド」(private cloud)という。
企業や官公庁などが内部的に使用する情報システムの運用などに適した形態で、オンプレミス型の従来システム同様、組織内の施設や設備を用いて内部ネットワーク上に構築される。クラウド事業者が専用回線やVPNを経由して外部から切り離されたクラウド環境を提供する場合もあり、「仮想プライベートクラウド」(virtual private cloud)等と呼ばれる。
SaaS/PaaS/IaaS
クラウドは提供する機能や資源の種類により、大きく分けて「SaaS」「PaaS」「IaaS」の三つに分類することが多い。
「SaaS」(Software as a Service:サービスとしてのソフトウェア)は特定の機能を持つアプリケーションソフトをWebブラウザなどを通じて遠隔から操作できるようにしたサービスを指す。従来、オペレーティングシステム(OS)の一部として実装されてきた機能や、パッケージソフトなどの形で販売・公開されていたものをインターネットを通じてサービスとして提供する。オンラインストレージやWebブラウザで使用できるオフィスソフトなどが該当する。
「PaaS」(Platform as a Service:サービスとしてのプラットフォーム)はソフトウェアの実行環境を遠隔から操作できるようにしたサービスを指す。コンピュータにOSやミドルウェア、プログラミング言語処理系などを導入済みの環境を契約者に遠隔から操作させるサービスで、利用者は必要なアプリケーションを導入して使用する。従来のホスティングサービス(レンタルサービス)に近く、ネットサービス運用などのために用いられることが多い。
「IaaS」(Infrastructure as a Service:サービスとしてのインフラ)は仮想化されたコンピュータ自体を遠隔から操作できるようにしたもので、利用者はOSなどのソフトウェアをすべて自前で用意して導入・運用する。ハードウェアに近い階層から自由に操作・設定できるようにしたサービスで、企業などの情報システム運用などに適している。
“cloud” と “crowd”
日本語のカタカナ表記では同音異義語になる単語として “crowd” があり、こちらは群衆、大衆、観衆、人混み、押し寄せる、群がる、などの意味がある。Webサイトやネットワークサービスなどにおける「不特定多数の利用者の集団」などといった意味合いで用いられることが多い。
相互に繋がりのない(または薄い)利用者が少しずつ情報を出し合って全体として有益な知見を生み出したり、労力や資金を出し合って大きなプロジェクトを形成するといった文脈で用いられるが多い。「クラウドソーシング」(crowd sourcing)や「クラウドファンディング」(crowd funding)などの「クラウド」はこの “crowd” である。
スケールアウト 【水平スケール】
コンピュータシステムの性能を増強する手法の一つで、コンピュータの台数を増やすことでシステム全体の性能を向上させること。処理を並列化、分散化できるシステムで適用される。
同じ構成・機能のコンピュータを複数台設置し、処理を分担することで全体としての性能を向上させる。安価なコンピュータを多数追加することで性能を向上させられるためコスト面で有利な場合が多く、また、システム全体として一台のコンピュータでは不可能な規模や性能を実現することもできる。ただし、物理的な機器が増えるため設置面積や消費電力、装置の故障・交換頻度などの面では不利となる。
一方、コンピュータの構成部品を増設・交換するなどして性能や容量を拡張する手法のことを「スケールアップ」(scale up)という。処理の分散化が難しく単体のコンピュータの性能が重要なシステムで適用される。
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)と呼ぶこともある。
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システムを通じて得られた情報は、売上や利益、税金など各種の会計上の計算、在庫や発注の管理、売上動向の把握や解析、販売促進施策の計画や効果測定など、様々な用途や目的のために活用される。
商品に付けられるバーコードを、メーカーなどがあらかじめ包装などに印刷やシールで掲載した状態で納品する方式を「ソースマーキング」、店内で専用の端末からシールを印刷して貼付する方式を「インストアマーキング」という。
現金自動預払機 【ATM】 ⭐
金融機関などが設置・運用している機械の一つで、顧客が通帳やカードなどを使い、現金の預け入れや引き出し、別の口座への送金などができるもの。
最も一般的なものは銀行が設置しているもので、自行の顧客や提携している他行の顧客が預金通帳やキャッシュカードなどを用いて、自分の預金口座への入出金や、他の口座や他行への振り込みや振り替え、残高照会、通帳記入などを行なうことができる。
対面の窓口で行う手続きの一部を機械で置き換えたもので、支店や出張所の店内の一角に並んでいるほか、都市部の駅前などにはATMのみが置かれた簡易な出張所が設置されることもある。提携している一般の店舗や商業施設に置かれたり、駅や公共施設に置かれているものもある。
証券会社や貸金業者、クレジットカード会社などが設置しているものもあり、口座への入出金、キャッシング、支払い、返済など、その金融機関に関連する現金の出し入れを行なうことができる。現金の払い出しのみが可能な機器は「キャッシュディスペンサー」(CD:Cash Dispenser)と呼ばれるが、これを含めて現金自動預払機と総称されることもある。
アドミニストレータ 【アドミン】
管理者、行政官、管財人などの意味を持つ英単語で、ITの分野ではコンピュータや通信機器、オペレーティングシステム(OS)などを管理する人や役職のことをこのように呼ぶ。管理に必要なシステム上の特権的・優越的な権限を与えられた人やユーザーアカウントを指すこともある。
企業などでコンピュータなどの情報・通信機器やシステムを使用する場合、利用者はそれぞれ固有のユーザーアカウントを与えられ、所属や役職に応じた使用権限のもとで操作を行うことが多い。このうち、その機器やシステムを管理するために、重要な変更を加える操作や設定などを行う権限が付与された管理者ユーザーのことをアドミニストレータという。
また、組織内で情報システムの整備や維持、利用者へのサポートなどの業務を担当する職員を「システムアドミニストレータ」(system administrator/シスアド、シス管などと略される)と呼ぶことがあり、これを略してアドミニストレータという場合もある。
万能の権限を持つ管理者ユーザーとして、UNIX系OSでは慣習的に “root” (ルート)という名前のアカウントが用意されていることが多い。Windowsでは、管理者権限を持つ組み込みアカウント(ビルトインアカウント)として “Administrator” が用意されており、Administratorユーザーが所属する管理者グループとして “Administrators” が用意されている。
IPA(情報処理振興機構)の実施する情報処理技術者試験にはかつて、システム管理者の知識・能力を認定する「初級システムアドミニストレータ試験」(初級シスアド)「上級システムアドミニストレータ試験」(上級シスアド)という区分があった。
データベース 【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の分野では要素を縦横に碁盤目状に並べて整理した表の意味で使われることが多い。
文書作成ソフトやWebページなどでは、内部が格子状に分かれた表のことをテーブルという。要素の垂直方向の集合を列(column:カラム)、水平方向の集合を行(row)という。
上端の行や左端の列に項目名などを入れ、他の各項にはそれぞれが属する行や列に該当する内容を書き入れる。一つの項目が複数行や複数列にまたがる場合には、これを連結して大きな項目にできる機能が提供されることもある。
プログラミングの分野でも、表のように複数の異なる要素間の対応関係を管理するためのデータ構造や格納領域をテーブルという。この場合は必ずしも2次元の格子状に整理された構造を指すとは限らない。
データベースのテーブル
リレーショナルデータベース(RDB)ではデータの格納領域をテーブルという。内部は行と列に分かれ、列が要素の種類や形式を表しており、データの挿入や削除、編集は各列の要素を組み合わせた行単位で行う。列は属性(attribute)とも呼ばれ、行は組(tuple)、レコード(record)とも呼ばれる。
レコード ⭐
記録(する)、記録物、登録(する)、録音(する)、録画(する)などの意味を持つ英単語。一般の外来語としては音声信号を記録した薄い樹脂製の円盤(アナログレコード)や、運動競技の最高記録などのことを指すことが多い。
データベースのレコード
リレーショナルデータベース(RDB)において、あるテーブル(表)に格納された、一組の値の連なりのことをレコードあるいは行(row)、組(tuple)などという。
RDBのテーブルは格納すべきデータの名前(属性名、フィールド名)と形式(データ型)を列挙して定義される。テーブル上のデータを操作(挿入や削除、更新など)する際には、定義で列挙された値の組を一件の記録単位として行う。この一組の値の集合をレコードと呼ぶ場合がある。一方、テーブル内の各レコードの特定のフィールドの値を並べたデータ集合は列(カラム/column)、属性(attribute)などという。
データ構造のレコード
いくつかのプログラミング言語では、データベースのレコードのように、固有の識別名やデータ型、形式を持つ複数の変数を一つにまとめたデータ構造のことをレコード型と呼ぶ場合がある。
レコード型の値の内部には、異なる型の変数や別のデータ構造(配列など)などを含めることができ、全体をまとめて一つの変数として関数などの引数や返り値に指定したり、丸ごと複製や代入を行ったりすることができる。
レコードをプログラム上で扱うには、まずレコードの構造の定義を行い、定義したレコードの実体を宣言して値を代入する。この過程は開発者がその言語に新しいデータ型を組み込むようなものであるため、言語によっては「ユーザー定義型」のように呼ぶ場合もある。ちなみにC言語では同じ仕組みを構造体と呼ぶ。
フィールド ⭐
野原、競技場、領域、現場、などの意味を持つ英単語。ITの分野では、異なる種類のデータなどが集まってできた何らかの構造体における個々の項目や要素を意味する用例が多い。
オブジェクトのフィールド
例えば、オブジェクト指向プログラミングにおいて、オブジェクトやインスタンスの持つ固有のデータのことをフィールドということがある。言語によっては「プロパティ」(property)あるいは「メンバ変数」(member variable)と呼ぶ場合もある。
テーブルのフィールド
リレーショナルデータベースや表計算ソフトなど、データの集合を表(テーブル)の形で表すシステムでは、行やレコードを構成する個々の要素やデータ項目をフィールドという。複数行の同じフィールドを並べたものを列という。
ユーザーインターフェースのフィールド
ソフトウェアの操作画面上で、入力フォームなどを構成する個々の入力項目や書き込み欄などのことをフィールドという。特に、利用者が任意の内容を入れることができる要素をこのように呼ぶことが多く、例えば文字を入力する欄を「テキストフィールド」(text field)という。
動画やディスプレイのフィールド
インターレース走査(飛び越し走査)の映像や表示機器などで、一回の走査で書き換える画面半分のことをフィールドという。上から奇数番目あるいは偶数番目のラインの集合のことで、2フィールドの走査で画面全体が1フレーム書き換わる。毎秒60フィールドの書き換え速度の場合、毎秒30フレームの書き換えが行われる。
フレームやパケットのフィールド
プロトコル(通信規約)などで定義されたフレームやパケットなどのデータの送受信単位において、ヘッダなど制御用のデータ領域に配置された個々のパラメータのための領域をフィールドという。
データ先頭からの距離(何ビット目/何バイト目)と長さ、内容の形式などで定義され、データの宛先や送信元のアドレスなど、データの送受信に必要な制御用の情報が記録される。
主キー 【プライマリキー】 ⭐
リレーショナルデータベース(RDB)のテーブル内でレコードを一意に識別することができるように指定される項目(列/カラム)。
レコードを構成する項目の中から一つあるいは複数の組み合わせ(複合主キー)が主キーとして選択・設定される。主キーに選ばれた列はすべてのレコードが異なる値を持たなければならず、NULL値とすることもできない。レコードの中で主キーとして選択可能な項目(や項目の組み合わせ)のことを「候補キー」(candidate key)、候補キーのうち主キー以外のものを「代理キー」(alternate key)ということがある。
あらかじめ異なる値が格納されており、内容が更新・追加されないことが分かっている場合は、人間にとって意味のあるデータそのものを主キーとすることもあるが、レコードが動的に追加・生成されるテーブルでは、識別のためだけに通し番号のような項目を設け、これを主キーに設定することが多い。氏名の同姓同名のように意図せず重複してしまうことを避けるためである。
データベース管理システム(DBMS)などには、主キーのために一意の番号を自動生成するデータ型や機能(オートナンバー型、シリアル型などと呼ばれる)が用意されている場合がある。
外部キー 【FK】
リレーショナルデータベース(RDB)で、テーブルのある列に、別のテーブルの特定の列に含まれる項目しか入力できないようにする制約。また、その際に指定する列。標準のSQLではFOREIGN KEY句を用いて設定できる。
ある列に入力するデータに制約を課し、別のテーブルのある列に登録済みのデータしか入力できないようにする。参照先のデータの変更に追随して自動的に参照元も書き換えるよう指定したり、参照先の削除や変更を禁じるよう指定することもできる。
例えば、受注テーブルの顧客コードの列に、顧客テーブルの顧客コードの列を外部キーとして設定すれば、顧客テーブルに登録されていない顧客コードを受注テーブルに誤って入力してしまうことを防ぐことができる。既存顧客の一覧から一つを選択して入力するような形にすることもできるようになる。
SQLでの記述
テーブル作成時には、CONSTRAINT句を用いて「CREATE TABLE テーブル定義 CONSTRAINT 制約名 FOREIGN KEY(列名) REFERENCING 参照先テーブル名(列名) 参照操作」という形式で記述する。列名は参照元、参照先ともに複数指定することができ、その場合は各列の値の組み合わせに対して制約を課す。既存のテーブルにALTER TABLE文で外部キーを追加することもできる。
「参照操作」は参照先のデータの更新や削除をどう扱うかを指定するキーワードである。「CASCADE」なら参照先の更新や削除に参照元を自動的に追随させ、「RESTRICT」なら参照されている値の(参照先での)更新や削除を禁じる。「NO ACTION」もRISTRICT同様に参照先の変更時にエラーを発するが、そのチェックはトランザクションの最後に行われる。
「SET NULL」は参照先が削除されたときに参照元にNull値をセットし、「SET DEFAULT」は列のデフォルト値をセットする。参照操作を更新時に適用するか削除時に適用するかは「ON UPDATE CASCADE ON DELETE RESTRICT」のように「ON UPDATE」および「ON DELETE」で指示することができる。
複合主キー 【複合キー】
データベースのテーブルに設定される主キーを、複数の項目(カラム)の組み合わせとして定義する方式。
主キーに設定されたカラムの値は一意(各レコードの値がすべて異なる)である必要があるため、例えば同姓同名の可能性がある氏名などは適さない。組み合わせれば一意になることが保証あるいは想定される複数の項目を組み合わせて主キーとするのが複合キーである。
主キーとしての一意性の確保のためだけに通し番号のような項目を新たに設ける手法に比べ、本来存在する意味のある項目のみでテーブルを構成できる利点がある。
ただし、処理が複雑になり性能が落ちたり、複合キーに設定されたカラムの内容が変更できなくなるといった制約やデメリットもある。また、通し番号の一意性は機械的に保証されるの対し、複合キーが本当に一意になるかは設計者次第であるため、運用開始後に同姓同名のような重複事例が発覚する場合もある。
射影 ⭐⭐
物体にある角度から光を当て、ある面にその影を映すこと。また、そのようにして映しだされた影(の形)。数学のいくつかの分野で射影演算という操作が定義されている。
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などの新しい改訂版が発行されている。
NoSQL 【Not only SQL】 ⭐
データベース管理システム(DBMS)の分類を表す用語で、現在最も普及しているリレーショナルデータベース(RDB/RDBMS)とは異なる方式の総称。RDBでデータの問い合わせや操作に用いるSQL言語を使わずに管理することからこのように呼ばれる。
トランザクション処理やテーブルの結合といったRDBやSQLが得意とする機能が利用できない代わりに、大規模な並列分散処理や柔軟なデータ構造の定義など、リレーショナル型では不可能だったり苦手な機能を実現したものが多い。
代表的な方式として、標識(key)と内容(value)を一対一に対応付けて保存する「キーバリューストア」(KVS:Key-Value Store)がよく知られる。NoSQLの中で分散型KVSが最も種類が多く広く普及しており、KVSを指してNoSQLと呼ぶ用例が見られるほどである。
KVS以外の方式としては、柔軟で複雑な構造のデータをそのまま格納する「ドキュメント型データベース」(文書指向データベース)、表中の同じ列のデータをまとめて記録する「カラム型データベース」(列指向データベース)、グラフ構造でデータ間の繋がりを表現できる「グラフ指向データベース」などがある。
KVS 【Key-Value Store】 ⭐
データ管理システムの種類の一つで、保存したいデータに対し、対応する一意の標識を設定し、これらをペアで格納する方式。標識を指定すると、対応するデータを取り出すことができる。
保存したい値(value)に対して標識となるキー(key)を設定し、両者をセットでストレージなどに書き込む。読み出し時にはキーを指定すると対応する値を取り出すことができる。既存のキーを指定して書き込むと新たな値で上書きされる。
値やキーに指定できるデータの種類は処理系によって異なり、キーは参照や識別がしやすいよう数値や文字列などが用いられることが多い。値には単純なデータ型やバイト列を指定できることが多いが、複雑なデータ構造やオブジェクトなどを格納できるものもある。構造的なデータを一定の決まった手順で文字列やバイト列に変換(シリアライズ)して保存する処理系もある。
一意のキーに値を対応付けて保存するデータ構造は多くプログラミング言語で連想配列、辞書(ディクショナリ)、ハッシュ、マップなどの名称で提供されてきており、キーバリュー型データベースはこの仕組みを永続的なデータ管理システムに応用したものと考えることもできる。
伝統的なリレーショナルデータベース(RDB)に代わるデータ管理システムは「NoSQL」(RDBの操作を行うSQL言語を用いないという意味)と総称され、キーバリュー型データベースはそのなかでも最も手軽で汎用的な方式として広く浸透している。複数のサーバや記憶装置などに分散してデータを保存できる機能を持ったものもあり、「分散KVS」(distributed KVS)と呼ばれる。
データモデル ⭐⭐
情報システムが取り扱う現実世界の対象をデータ集合として表現するため、対象を表す情報を抽象化して一定の構造や形式で記述したもの。データベースの設計・作成などのために行われる。
業務などで使用するシステムは様々な現実の存在を反映したデータを取り扱うが、システムの利用目的に照らして必要な情報(だけ)を、コンピュータプログラムによる自動処理に適した構造や形式で記録する必要がある。
現実の存在をどのようにデータとして表現するかを定めた取り決めがデータモデルで、データベースを用いたシステム開発などの際に設計作業の一環として作成される。データモデルを作成することを「データモデリング」(data modelling)という。
データモデルの表現形式や構築法には様々な手法があるが、例えば「ERモデル」(Entity-Relationship Model)を用いる場合、対象のうち名詞として表されるものを「実体」(entity)、実体間の関連性を「関係」(relation)、実体や関連の持つ性質を「属性」(attribute)として整理する。作成したモデルはER図などの形で図示して関係者間で共有することが多い。
人間による世界解釈からコンピュータの記憶装置上でのデータ構造へ落とし込んでいくため、対象全体を大まかにモデル化した「概念データモデル」、システム上で取り扱うデータをすべて詳細に定義した「論理データモデル」、論理データモデルをコンピュータ上の具体的な記録形式に変換した「物理データモデル」の三段階で詳細化する方式が用いられることがある。
企業などの情報システムではデータモデルが表すデータの格納先としてリレーショナルデータベース(RDB)が用いられることが多く、データモデルをもとに具体的なデータベーススキーマなどを設計し、データベース管理システム(DBMS)上でテーブルの構築などをしていく。
グラフデータベース
データベースの構造の一つで、データそのものに加え、データ同士の繋がりの情報を格納するデータベース。リレーショナルデータベースが苦手なデータ間の関係性をたどる操作を高速に処理することができる。
ここで言う「グラフ」は円グラフや棒グラフといったデータ集合を図で表したものではなく、コンピュータ科学のグラフ理論で取り扱われるデータ構造の一つである。データの集まりを「ノード」(node)「プロパティ」(property)「エッジ」(edge)の3要素の組み合わせとして表現する。
ノードは意味のあるデータ集合の単位(例:ユーザー情報)で、何らかの属性を表すプロパティ(例:ID、氏名、メールアドレス)を持つ。ノードは他のノードと何らかの繋がり(例:友達関係、フォロー関係)を持っており、ノード間の繋がりをエッジという。
構造と特徴
グラフ指向型データベースはデータ集合をグラフ構造に従って格納するデータベースで、各ノードのプロパティとエッジの情報を保管する。ノードを指定してプロパティの書き込みや読み出しを行ったり、あるノードから繋がっている別のノードを素早く参照することができる。
例えば、SNSのユーザー情報で、あるユーザーの友達、友達の友達、友達の友達の友達…と繋がりをたどって関連ノードを挙げていく処理を一般的なリレーショナルデータベースで行うと負荷が大きく時間がかかるが、グラフ指向型データベースでは瞬時に関連ノードを割り出して参照することができる。
一方、リレーショナルデータベースが得意な、プロパティについての条件を指定してノードを検索したり、ノード全体を対象に特定のプロパティの値を集計するといった使い方は難しい。実用上は、大規模で複雑な「繋がり」を含むデータ構造を取り扱う場合に特化して用いられる。
種類と応用
グラフ指向型データベースを実装するための代表的なデータモデルとして「プロパティグラフ」と「RDFグラフ」(RDF:Resource Description Framework)がある。著名な製品としては「Neo4j」「JanusGraph」などがよく知られる。「Amazon Neptune」「Azure Cosmos DB」のようにクラウド上でグラフ指向型データベースを提供するサービスもある。
グラフ指向型データベースの主な応用分野として、SNSなどのソーシャルメディアにおけるユーザー間の繋がりの管理や分析、ECサイトなどで「おすすめ」を表示するリコメンデーション機能、移動や配送などにおける最適な経路の探索、金融機関などで取引情報を分析して不正を検知する機能などが挙げられる。
バックアップ ⭐⭐
応援、予備(の)、代替(の)、支援、支持、擁護、後援、渋滞、後退などの意味を持つ英単語。ITの分野では、機器の故障などに備えて用意された代替設備や予備品、データの複製などのことを意味することが多い。
単にバックアップといった場合は、データの破損や損失に備えてデータの写しを取って保管する「データバックアップ」のことを指す場合が多い。データをコピーする作業や工程のことをバックアップという場合と、作成されたデータの複製(を記録した装置など)のことをバックアップという場合がある。
コンピュータの記憶装置に保存されたデータを別の装置や記憶媒体へ複製して別に保管するもので、機器の故障や破損、人為ミス、不正行為などによってデータの消失や改変などが起こった場合に、複製した時点のデータに復旧させることができる。
また、「バックアップ回線」「バックアップサーバ」などのように、通常時に使用している機器などが何らかの原因で正常に稼働できなくなった時に、その機能を肩代わりするための機器や設備、施設などのことをバックアップということもある。
リストア 【レストア】
修復する、復元する、元に戻す、回復させる、復活させる、復興する、返還する、などの意味を持つ英単語。IT分野ではシステムやデータを復元、復旧することを指すことが多い。
データのリストア
ストレージ装置が破損するなどしてデータが失われた際に、以前に取っておいたデータの複製を書き戻すなどして復元することをリストアという。これに対し、データの損失の備えて複製を取ること(や、そのようにして得られた複製)を「バックアップ」(backup)という。
データベース(DBMS)などでは、データを更新するたびに変更記録(ログ)を保管する仕組みになっているものがあり、ある時点のバックアップデータに戻す操作をリストア、これにバックアップ取得以降の変更記録を適用して最新化する操作を「リカバリー」(recovery)として区別する場合がある。
システムのリストア
コンピュータに導入されたオペレーティングシステム(OS)やアプリケーションソフトに不具合が生じ正常に起動・動作しなくなった場合に、正常な状態に復元したり、初期の状態に戻したりすることをリストアということがある。
この作業は一般的にはリカバリーと呼ばれることが多い。ファイルなど個別の内容をバックアップから復旧することをリストア、ソフトウェア全体(OSの場合はシステム全体)を初期状態や特定時点の状態に戻す操作をリカバリーとして使い分ける場合もある。
リカバリー 【リカバリ】
復旧、復帰、回復、修復、復元、などの意味を持つ英単語。ITの分野では、故障や何らかの不具合で機能不全に陥った機器やシステム、ソフトウェアを復旧したり初期化することを表すことが多い。
ストレージ(外部記憶装置)について言う場合は、媒体の破損などでデータが正常に読み出せなくなった機器から可能な限りデータを取り出して保全したり、故障した装置を新しいものと交換して残りの装置からデータを復元する作業(RAID等の場合)などを表す。
ソフトウェアについて言う場合は、プログラムや設定の不具合で正常に動作しなくなったオペレーティングシステム(OS)などを消去し、再び導入(インストール)し直して初期状態に戻すことなどを指す。この場合、導入済みのソフトウェアや保存された設定情報、データなどは消去されるため、必要であれば利用者が別の装置への保全などを行わなければならない。
ディレクトリ ⭐⭐
電話帳(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(アクティブディレクトリ)が特に有名である。