[技術解説]
カラム圧縮がインメモリーDBの追い風に用途に応じて従来型と使い分けも
2013年5月30日(木)栗原 潔(テックバイザージェイピー 代表/チーフコンサルタント)
一般的に“枯れた”テクノロジー群で構成するDBMSの領域で、今まさに旬を迎えつつあるのが「インメモリー技術」だ。必ずしも新しい技術ではないが、インメモリー技術と相性のよいカラム指向DBMSが登場したことで関心度は増している。これらテクノロジーの技術的背景と将来動向について考察する。
データの記憶媒体には、読み書き性能差の異なるものが様々ある(図2-1)。これらテクノロジーを組み合わせ、システムとして最適な価格性能比を得ることが、ハードウェアとソフトウェアのアーキテクチャ設計者の重要な課題である。特にデータベースマネジメントシステム(DBMS)の設計者は、メインメモリーとディスク間の速度差を考慮することが重要だ。
この難しさを感覚的に理解するために例えを使ってみよう。今日のメインメモリーのアクセス速度は数十ナノ秒の単位だ。これに対して、ディスクのアクセス速度は数十ミリ秒。その速度差は約100万倍である。メモリーをジェット機に例えるなら、ディスクはカタツムリということになる。DBMSの設計とは、ジェット機とカタツムリの間で速度の同期を取るようなものだ。ディスクの遅さを解消するのにSSDを用いるケースがあるが、それでもメインメモリーとの速度差は大きい。
コスト負担が軽減し大量データを展開可能なIMDB
両者の極端な速度差を解決するため、可能な限りディスクI/Oを減らすテクノロジーやイノベーションがこれまでに登場してきた。複雑なバッファプールの管理アルゴリズム、ページ単位のアクセス、ページ単位のロックなどだ。しかしどれも技術的前提は、メインメモリー上に全データを置くのはコスト面で非現実的で、データの主コピーはディスク上に置かなければならなかった。
こうした前提が今、当てはまらなくなりつつある。メモリーのコストが下がり、サーバーのメモリー搭載容量の増大により、多くのアプリケーションが扱うデータをメインメモリー上に格納できるようになったのだ。こうした経緯から注目を集めるのがインメモリーデータベース(以後、IMDB)である。ディスクにデータを置き、メモリーはバッファとして使うという従来の前提から離脱したテクノロジーだ。図2-1で示す階層の位置付けが1段階アップしたのである。
会員登録(無料)が必要です
- 1
- 2
- 3
- 次へ >