2007年 4月16日 特論-7 OLAP と DATAWAREHOUSE >> 目次に もどる
2012年 3月16日 補遺  


 本節は、OLAP (Online Analytical Processing) と DATAWAREHOUSE が出てきた歴史を述べているが、OLAP に関しては、mislead な記述になったかもしれない。

 コッド 関係 モデル を実装した RDB (Relational Data Base) が マーケット に出てきて、セット・アット・ア・タイム 法が実現されて、それまでの アクセス・メソッド (chained 構造の データベースや、キー [ indexing 」 を使って レコード 単位にアクセス する ファイル 編成) に対比して、1つの epoch (the epoch of the database revolution) になったのは事実であろう。

 いっぽうで、セット・アット・ア・タイム 法に対して、W.H. Inmon 氏が反論を提示したし、プロダクト としての SQL に対して、E.F. Codd 氏が非難した。

 Inmon 氏は、「(コッド 関係 モデル が示した) セット・アット・ア・タイム 法を (多量 データ・多量 トランザクション を対象とする) 『定型業務』 に適用する意味」 を疑問視した。というのは、「定型業務」 では、アクセス・パス が ほとんど きまっているので、「定型業務」 では、キー (indexing) を使った レコード・アット・ア・タイム 法が有効であると主張した。そして、セット・アット・ア・タイム 法を 「非定型業務」 あるいは 一過性の情報検索に使えば良いと主張した。
 Inmon 氏が擁護していた レコード・アット・ア・タイム 法は、(私が かれの いくつかの著作を読んで想像すれば、) 「inverted 式」 の データベース (MODEL204) であったと思われる。「inverted 式」 の データベース は、複数の ファイル を indexing で join した構成になっていて、READ では、I/O が少ない。ただ、MODEL204 は、当時、pipeline (UPDATE の I/O を削減する機能) を搭載していなかったので、READ の パフォーマンス は良いが UPDATE の パフォーマンス が悪かった。

 (「inverted 式」 の) レコード・アット・ア・タイム 法の データベース を主体にすれば、「view」 に対応できないので、Inmon 氏は、その後、「Data Mart」 を提唱した。それが、DATAWAREHOUSE の起点になった。

 いっぽう、Codd 氏は、SQL の 「fatal flaws (重大な欠点)」 として、「IBM/SQL が 『maybe (すなわち、null)』 を扱うことができない」 点を非難した。null は、構文論上、null にすぎないが、意味論上、多義 (「unknown」 と 「undefined」) になる。Codd 氏は、null を扱うために 4値論理を使ったが、プロダクト としての RDB は 3値論理を搭載した。ただ、3値論理では、null の論理否定 (not null) は、null として扱われる。
 Codd 氏は、1979年の論文で、(属性値集合を対象にした) 関係 モデル のなかに、主体集合を代入することも提示した。すなわち、多次元の データベース を示した。

 DATAWAREHOUSE と多次元 データベースが相まって、OLAP が整えられてきた。OLAP には、以下の 2つの流派がある。

  (1) ROLAP (Relational OLAP -- RDB を前提にする)
  (2) MOLAP (Multi-dimension OLAP -- 多次元 DB を前提にする)

 
 以上の歴史を振り返ってみれば、現実では、RDB が 「indexing」 を搭載して、セット・アット・ア・タイム 法が 「純粋に」 に使われている訳ではないし、RDB 上の コッド 正規形のほかに--あるいは、コッド 正規形を無視して--、DATAWAREHOUSE と称して データ を、ただ、時系列に格納して、それらの データ に対して OLAP を適用するという形態が多いようである。

 私 (佐藤正美) は、(コッド 正規形を意味論的に拡張した) TM の正規形を実装して、「INDEX-only」 を使って、レコード・アット・ア・タイム 法を セット・アット・ア・タイム 法にように使い、かつ、OLAP (dicing と slicing) に対応している。



[ 補遺 ] (2012年 3月16日)

 セット・アット・ア・タイム 法と DATAWAREHOUSE との関係の歴史を概括しただけなので、取り立てて補足説明はいらないでしょう。







  << もどる HOME すすむ >>
  「T字形ER データベース設計技法」を読む