高校「情報Ⅰ」単語帳 - 日本文教「情報Ⅰ」 - 情報システムとデータの管理
情報システム 【ITシステム】 ⭐⭐⭐
情報を記録、処理、伝達するための仕組み。現代では、コンピュータやソフトウェア、ネットワークなどを組み合わせて情報を管理する「コンピュータシステム」あるいは「ITシステム」とほぼ同義として用いられる。IT関連の文脈であることが明らかな場合は「システム」と略されることが多い。
「システム」(system)とは、様々な要素を組み合わせて全体としてある特定の機能を発揮する仕組みのことを指し、「情報システム」は情報を取り扱うために様々な要素をまとめて構築したシステムである。
この素朴な定義に照らせば、電子的手段に依らずに紙などを用いて情報を記録・管理する仕組みや、個人が所有・利用するパソコンなども情報システムの一種ということになるが、現代社会で一般に情報システムという場合には、企業や官公庁などの組織が事業や業務の遂行のために構築した、ある程度の規模の設備の集合体のことを指すことが多い。
狭義の情報システムは、コンピュータや通信機器などとそれらに付随する装置や備品(記憶媒体など)、コンピュータ上で実行するオペレーティングシステム(OS)やミドルウェア、アプリケーションソフトなどのソフトウェア、記憶装置に保管されるデータ、機器間や組織内外を結ぶ通信回線やネットワークなどの総体を指す。
広義には、これらの要素に加えて、開発や運用のための人員や組織、操作や管理のための手順や規則の体系(を書き表した文書類)など、情報やシステムを取り扱うための組織内の「仕組み」全体が含まれる。
情報システム部門
大企業など大きな組織が情報システムを導入・運用する際には、その調達や運用に責任を持つ専任の「情報システム部門」が設置されることが多い。本業の業務部門を補佐する間接部門の一部であり、俗に「情シス」と略されることがある。
企業にせよ、官公庁や教育機関、非営利団体にせよ、現代の組織運営や事業遂行に情報システムは欠かすことのできない役割を果たすようになっており、重要性は高まっている。専任の役員クラスの役職である「CIO」(Chief Information Officer:最高情報責任者)を置く組織も増えている。
クラウドコンピューティング 【クラウドシステム】 ⭐
コンピュータの機能や処理能力、ソフトウェア、データなどをインターネットなどの通信ネットワークを通じてサービスとして呼び出して遠隔から利用すること。
「クラウド」(cloud)とは「雲」という意味で、IT業界ではシステム構成図などを描く際にネットワークの向こう側にある外部のコンピュータやシステムなどをまとめて雲の形の絵記号で記す慣例があることから、このように呼ばれるようになった。
従来のコンピュータ利用方式では、利用者が直接操作する端末や、同じ建物内にあるサーバなど、システム利用側が自ら保有、設置する機器上でソフトウェアやデータを管理していたが、クラウドコンピューティングではシステム本体は専門の管理施設に集約し、利用者はインターネット等の広域回線網を介してこれを使用する。
コンピュータや通信回線の性能が向上したことから実用的になった利用方式で、通常は機器を設置、運用する専門の事業者(クラウドプロバイダー)が契約者に機器やシステム、ソフトウェアの使用権を貸与するクラウドサービスの形で提供される。
インターネットから誰でも利用できるようなサービスやシステムを「パブリッククラウド」、大企業などが自社ネットワーク上で社員などが利用するために内部的に構築・運用するものを「プライベートクラウド」、両者を組み合わせたものを「ハイブリッドクラウド」という。クラウドと対比して従来型のシステムを指す場合は「オンプレミス」(on-premises)型という。
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)と呼ぶこともある。
ETC 【Electronic Toll Collection】
有料道路の料金所などに設置された通信機と自動車に搭載した端末(車載器)で無線通信を行い、走行しながら自動的に料金の支払いなどを処理するシステム。
利用者は出入り口や本線料金所でETCに対応したゲート(ETCレーン)を速度を落として通り抜けるだけでよく、発券機や窓口を利用する必要がない。全国の高速道路、自動車専用道路で整備・導入が順次進められており、主要な有料道路のほとんどの出入り口には一つ以上のETC専用レーンあるいはETCゲート・有人窓口併設レーンが設けられている。
道路運営者側はETC普及により段階的に料金所の窓口・係員を削減して道路運用コスト低減が可能となり、料金所周辺の渋滞緩和の効果も期待できる。経路や混雑状況、時間帯などに応じて料金の割引などを行い、交通量の誘導・分散を行う試みも実施されている。
世界数十ヶ国で導入されているが、各国が独自の方式を規定しており、同じ国の中でも道路の運営主体によってシステムが異なる国もある。車載器ごとに支払者を固定する方式と、車載器にIDカードなどを差し込み、カードの持ち主を支払者にする方式がありる。
日本ではクレジットカード会社が発行する接触式ICカード(ETCカード)を専用の車載器に差し込む仕組みになっており、料金は紐付けられたクレジットカードの口座に請求される。機器の技術規格が統一されているため、利用者は一枚のカードがあれば(車載器のある)どの車でも、全国のどの道路でも同じように支払いを行うことができる。
ITS 【Intelligent Transport Systems】 ⭐
道路交通に情報技術や通信技術を応用し、交通問題の軽減、交通の効率化や高度化などをはかる技術や製品、サービスなどの総称。自動車や道路、標識や信号機などの道路設備、駐車場、公共交通、歩行者などに関連する、情報システムを応用した機器やサービス、制度などが含まれる。
日本では1995年に当時の警察庁、運輸省、建設省、郵政省、通産省が共同で全体構想を策定した。この中ではITS全体を、ナビゲーションシステムの高度化、自動料金収受システム、安全運転の支援、交通管理の最適化、道路管理の効率化、公共交通の支援、商用車の効率化、歩行者等の支援、緊急車両の運行支援の9分野に整理している。
現在までに、VICS(道路交通情報通信システム)やETC(電子料金収受システム)、バスロケーションシステム、自動ブレーキシステム、車線維持支援システム、事故自動通報システムのように実用化や普及が進んでいるものが数多くある一方、トラックの自動隊列走行のように実験段階のものや、構想段階で足踏み状態の技術や施策もある。
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システムを通じて得られた情報は、売上や利益、税金など各種の会計上の計算、在庫や発注の管理、売上動向の把握や解析、販売促進施策の計画や効果測定など、様々な用途や目的のために活用される。
商品に付けられるバーコードを、メーカーなどがあらかじめ包装などに印刷やシールで掲載した状態で納品する方式を「ソースマーキング」、店内で専用の端末からシールを印刷して貼付する方式を「インストアマーキング」という。
認証局 【CA】 ⭐
電子商取引事業者などに、暗号通信などで必要となるデジタル証明書を発行する機関。信頼の起点となる「ルート認証局」(root CA)と、証明書の発行を担う「中間認証局」(intermediate CA)がある。
ルート認証局は上位の認証局による認証を受けず、自分の正当性を自ら証明する。他の認証局に対してデジタル証明書を発行し、認証局に対する信頼の拠り所となる。ルート証明書の信頼性は、厳しい監査を受けることや、認証業務運用規程(CPS)を公開すること、運用実績や知名度など、デジタル証明書以外の方法で示される。
ルート認証局以外の認証局が中間認証局で、上位の認証局からデジタル証明書を発行してもらうことで、自らの正当性を証明する。中間認証局の多くは一般にデジタル証明書を販売する事業者で、Webサーバに導入するSSLサーバ証明書などはここから購入する。
通常、Webブラウザなどデジタル証明書を利用するソフトウェアには、ソフトウェアの発行元や利用者が信頼できるルート認証局の証明書が同梱されている。Webサイトなどに接続した時に、相手の提示した証明書が信用できるかどうかは、発行元の認証局を調べ、さらにその認証局を認証している上位局を調べ…といった具合に辿っていき、最終的に自分の手元にあるルート証明書に一致するルート認証局にたどり着けば、信用できると確認できる。
なお、商用認証局から証明書の交付を受けるには費用がかかるため、Webサイトなどの中には、自らがルート認証局となって証明書を発行し、暗号化通信などを利用するサイトもある。そのようなサイトの場合、あらかじめ同梱されたルート認証局の認証は受けていないことになるため、Webブラウザなどがその旨警告するようになっている。
登録局 (RA:Registration Authority)
デジタル証明書の発行申請を受け付け、本人確認を行い、認証局(CA:Certificate Authority)に発行を申請する機関を登録局(RA:Registration Authority)という。主に大規模なPKI(公開鍵認証基盤)で設置されるもので、自らは証明書を発行する機能・権限はなく、末端の利用者に対して発行や失効の手続きを受け付ける窓口となる機関である。
登録局から申請に応じて証明書を発行するのはCAの役割だが、登録局からの要請に基いて(自らは本人確認など登録局が行う業務は行わず)証明書の発行のみを行うCAのことを発行局(IA:Issuing Authority)ということがある。
検証局 (VA:Validation Authority)
デジタル証明書の失効リスト(CRL)を集中管理して、証明書の有効性をチェックする機関を検証局(VA:Validation Authority)という。認証局(CA)と違い、デジタル証明書の発行は行わず、検証機能に特化しているためこのように呼ばれる。クライアントからの問い合わせに応じて、CAの公開鍵で署名の正当性を検証したり、証明書の有効期限を確認したりする。
データベース 【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)と総称される非リレーショナル型の方式が導入される事例も増えている。
NoSQL 【Not only SQL】 ⭐
データベース管理システム(DBMS)の分類を表す用語で、現在最も普及しているリレーショナルデータベース(RDB/RDBMS)とは異なる方式の総称。RDBでデータの問い合わせや操作に用いるSQL言語を使わずに管理することからこのように呼ばれる。
トランザクション処理やテーブルの結合といったRDBやSQLが得意とする機能が利用できない代わりに、大規模な並列分散処理や柔軟なデータ構造の定義など、リレーショナル型では不可能だったり苦手な機能を実現したものが多い。
代表的な方式として、標識(key)と内容(value)を一対一に対応付けて保存する「キーバリューストア」(KVS:Key-Value Store)がよく知られる。NoSQLの中で分散型KVSが最も種類が多く広く普及しており、KVSを指してNoSQLと呼ぶ用例が見られるほどである。
KVS以外の方式としては、柔軟で複雑な構造のデータをそのまま格納する「ドキュメント型データベース」(文書指向データベース)、表中の同じ列のデータをまとめて記録する「カラム型データベース」(列指向データベース)、グラフ構造でデータ間の繋がりを表現できる「グラフ指向データベース」などがある。
データモデル ⭐⭐
情報システムが取り扱う現実世界の対象をデータ集合として表現するため、対象を表す情報を抽象化して一定の構造や形式で記述したもの。データベースの設計・作成などのために行われる。
業務などで使用するシステムは様々な現実の存在を反映したデータを取り扱うが、システムの利用目的に照らして必要な情報(だけ)を、コンピュータプログラムによる自動処理に適した構造や形式で記録する必要がある。
現実の存在をどのようにデータとして表現するかを定めた取り決めがデータモデルで、データベースを用いたシステム開発などの際に設計作業の一環として作成される。データモデルを作成することを「データモデリング」(data modelling)という。
データモデルの表現形式や構築法には様々な手法があるが、例えば「ERモデル」(Entity-Relationship Model)を用いる場合、対象のうち名詞として表されるものを「実体」(entity)、実体間の関連性を「関係」(relation)、実体や関連の持つ性質を「属性」(attribute)として整理する。作成したモデルはER図などの形で図示して関係者間で共有することが多い。
人間による世界解釈からコンピュータの記憶装置上でのデータ構造へ落とし込んでいくため、対象全体を大まかにモデル化した「概念データモデル」、システム上で取り扱うデータをすべて詳細に定義した「論理データモデル」、論理データモデルをコンピュータ上の具体的な記録形式に変換した「物理データモデル」の三段階で詳細化する方式が用いられることがある。
企業などの情報システムではデータモデルが表すデータの格納先としてリレーショナルデータベース(RDB)が用いられることが多く、データモデルをもとに具体的なデータベーススキーマなどを設計し、データベース管理システム(DBMS)上でテーブルの構築などをしていく。
関係モデル 【リレーショナルモデル】 ⭐
データの集合を表現する数学的なモデルの一つ。データ群を複数の項目の「関係」(relation)として捉えるもので、リレーショナルデータベース(RDB)の理論上の基礎となっている。
リレーショナルモデルでは、一件のデータを複数の値を紐付けた「組」(tuple)として表現する。それぞれの値は「属性」(attribute)に所属しており、組の中では属性名を使って指し示すことができる。各属性はどのような値を取りうるかを定めた定義域(domain)を持つ。
この「組」と「属性」で整理されたデータ集合全体のことを「関係」(relation)と呼ぶ。関係のことを、属性のみが定義された、データの入れ物としての「関係変数」(relation variable)と、関係変数に具体的に0個以上の組を代入した「関係値」(relation value)に分けて考える場合もある。
リレーショナルモデルは集合論に基づいており、関係代数による関係同士の演算が可能である。基本的な演算として「和」(和集合を求める)、「差」(差集合を求める)、「交差」(積集合を求める)、「直積」(デカルト積を求める)、「制限」(条件に合う集合を抽出する)、「射影」(特定の属性だけ抽出する)、「結合」(条件に従って組み合わせる)、「商」(直積の逆演算)などがある。
RDBのテーブル
リレーショナルデータベースでは「テーブル」(table)と呼ばれる2次元の表を用いてリレーショナルモデルを具体的なデータ構造として記録する。リレーショナルモデルにおける組はテーブルにおける「行」(row)に、属性は「列」(column)に、定義域は「データ型」(data type)に、それぞれほぼ相当する。
ただし、テーブルと関係は厳密には同じ概念ではない。例えば、関係における組や属性の並びに順序は無いがテーブルでは順序が設定される、関係では行の重複(すべての値が同一である組を複数持つ)はできないがテーブルではできる、関係では値の不存在は許されないがテーブルではできる(Null値)、などの点が異なっている。
ネットワーク型データベース 【ネットワーク型データモデル】
データベースの種類の一つで、データを互いに結びついた網(ネットワーク)状の構造に整理して格納するもの。
一連の属性から成るデータのまとまり(レコード)を格納単位とし、レコード間は親子関係を持つが、各レコードは親レコードも子レコードも複数持つことができるため、必要に応じて関連する他の種類のレコードを参照することができる。
1970年代に考案された方式で、それ以前に主流だった「階層型データベース」ではレコード間を親子関係(親は必ず一つ)で結びつける木構造で管理していたが、ネットワーク型は親レコードを複数持つことができるため、現実世界のデータの関係に即した柔軟なモデリングが可能となった。
1980年代になるとデータの組を行と列を組み合わせた表のような形式で表現する「リレーショナルデータベース」が台頭し、商用データベース製品の主流の方式として定着したため、ネットワーク型が顧みられることはなくなった。2010年代には、データの繋がりを網状に表現できるという点はネットワークモデルに似ているが、より抽象度や柔軟性が高い「グラフデータベース」が登場し、リレーショナル型が苦手とする分野で活躍している。
階層型データベース 【階層型データモデル】
データベースの種類の一つで、データを階層的な木構造に整理して格納するもの。単一の頂点(ルート)から枝分かれする木のようにデータが連なっている。
起点であるルートノードに複数の子ノード(の記憶装置上での所在)が登録され、子ノードはさらに複数の子ノードを持つことができる。どのノードにとっても親ノードは一つで、親をたどっていくとルートノードに行き着く。
特定のノードを指定して内容を読み書きする操作を高速に行なうことができ、記憶領域の利用効率も良いが、データ全体から条件を指定してノードを絞り込む操作は苦手(標準的な方法がなくアプリケーション次第)で、子が複数の親を持つことができないなど柔軟性にも欠ける。
リレーショナルデータベース(関係データベース)の発明以前から存在する米IBM社のメインフレーム向けデータ管理システム「IMS」(Information Management System)が有名だが、SNMPで用いられるMIB(Management Information Base)なども一種の階層モデルであると考えることができる。
ディレクトリ ⭐⭐
電話帳(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(アクティブディレクトリ)が特に有名である。
Web API 【Web Application Programming Interface】
HTTPなどのWeb技術を応用して、あるコンピュータで動作しているソフトウェアの機能を、ネットワークを通じて他のコンピュータから利用できるようにする仕組み。
API(Application Programming Interface)とは、コンピュータプログラムが提供する機能を他のプログラムから呼び出して利用するための規約で、処理要求や応答のデータ形式、双方のやり取りの手順などで定義される。
Web APIはWebサーバ上で動作しているプログラムが外部に機能を提供するためのAPIで、Webサイトに別のサイトの提供する機能やデータを組み込んだり、アプリケーションソフトからWeb上で提供されているサービスの機能やデータを利用するために用いられる。
Web APIで機能を公開しているサーバに対して、インターネットなどを通じて依頼内容をHTTPリクエストの形で送信すると、処理結果がHTTPレスポンスの形で送られてくる。呼び出し側が挙動や入力データを指定する引数はURLパラメータ(クエリ文字列)などの形でURLの一部として指定することが多い。
送受信されるデータの形式はAPIの種類や目的によって様々だが、WebコンテンツやWebサービスで馴染み深いHTMLやJSON、XML、プレーンテキストなどがよく用いられる。応答として画像ファイルやPDFファイル、CSVファイルなど、内容を特定形式のファイルにまとめて送る仕組みもよく見られる。
RESTful APIとSOAP
Web APIの構成法としてよく知られるものに「SOAP(Simple Object Access Protocol/ソープ)と「REST」(Representational State Transfer/レスト)がある。
SOAPはXMLとHTTPを基本として、Web APIで用いるメッセージの形式や通信手順(プロトコル)などを規定した標準規格で、用途や目的ごとに詳細な拡張仕様が規定されている。2000年代初頭にWebサービス実装の有力な規格として期待されたが、仕様の複雑さや規模の大きさが敬遠されあまり普及しなかった。
RESTはシンプルさを重視するAPIの設計原則で、セッションなどの状態管理の仕組みを持たない(ステートレスである)など、4つの原則で構成される。これをWeb APIの設計に適用したものを「RESTful API」(レストフルAPI)あるいは「REST API」という。
RESTfulなWeb APIではHTTPやURLなどWeb技術の仕様をなるべくそのまま取り込み、HTTPメソッドによる動作の指定、HTTPステータスコードによる結果の通知、URLだけで機能や対象の一意な指定や識別を行う、実行状態を保存せず同じ入力に対しては常に同じ出力を返すなどの特徴がある。
REST自体は原則を示しているだけで個別の用途に応じた仕様の策定などは開発者に任されるため、似た目的のためにそれぞれ互換性のないAPI仕様が乱立するなどの問題はあるものの、仕様がシンプルで開発や利用が容易なことから広く普及している。