スタートページ> (主張・講演Web教材歴史データベース

インメモリデータベース(IMDB)と
列指向データベース(CODB)の歴史


インメモリデータベース(IMDB:in-memory database)も列方向データベース(CODB:column-oriented database)も関係データベース(RDB:Relational Database)のアクセスを高速化する目的で開発された。特に検索処理に効果的であり、OLAP(online analytical processing)に向いている。
 RDBをCODBやIMDBに変更してインストールしても、従来のRDBを対象にしてSQLで記述したプログラムをほとんどそのまま使うことができる製品が多い。


インメモリデータベース(IMDB)

IMDB(in-memory database:インメモリデータベース)とは、すべてのデータをメモリ内に格納するデータベースである。データだけでなく、インデクスや一時領域もメモリ内に置くことにより、ディスアクセスせずに処理できる。処理時間が極度に短くすることができる。特に、OLAPに適している。

大容量メモリが安価になったため実用化されたが、メモリ内に格納できる規模には限度がある。そのため、目的に応じて2つのタイプがある。

主要年表

1987年 IMDBの概念
1996年 TimesTen設立
1998年 ターボデータラボラトリー、LFM技術
2001年 Prevayler / Object Prevalence(ウエストフィールド)
2005年 Oh-Pa 1/3(富士通BSC)
2005年 Oracle TimesTen In-Memory Database
2005年 Oracle、TimesTen買収
2005年 Oracle TimesTen In-Memory Database
2007年 IBM、Solid社を買収
2008年 IBM solidDB
2008年 Sybase ASE-IMDB
2008年 SAP、Sybase買収
2010年 SAP HANA(IMDB)

初期のIMDB

日本での初期IMDB

IMDBの最近動向

2000年代中頃になると、大容量メモリが安価で得られるようになった。また、大量データの検索が一般的になり、一層の効率向上が求めれてきた。そのため、2000年代後半にはIMDBが注目されるようになった。


列指向データベース(CODB)

Columnar Storage:カラムナデータベースともいう。通常のRDBは、テーブルの行をレコードとして格納する。それに対してCODBでは、列の値をまとめてファイルシステム上の近い場所に格納する。
 格納配置の違いであるが、このほうがデータの圧縮効果が高く、大量データでの少数データを検索更新する処理効率がよいとされている。すなわち、OLAPに向いている。
 この方式が優れていることは以前から知られていたが、注目されるようになったのは2000年代中頃からである。

主要年表

2005年 Vertica(ストーンブレイカー、)
2007年 Sybase IQ(最初に普及し現在でも有名なCODB)
2008年? Netezza
2008年 Cassandra(Facebook、オープンソースCODB)
2009年 Oracle Exadata
2009年 SAP BusinessObjects Explorer
2009年 Apache、CassandraをFacebookから引き継ぐ
2010年 IBM、Netezza買収
2010年 IBM Netezza High Capacity Appliance(CODB)
2010年 SAP HANA


参考URL