インメモリデータベース、カラム型データベースは使い物になるのか? インメモリとカラム型データベースの可能性を調べる(その1)

2013年5月20日

ERPベンダ最大手のSAPは2010年、新規に開発したデータベース「SAP HANA」(当時の名称は「SAP High-Performance Analytics Appliance」)を発表しました。

HANAの製品化を背景に、SAPは2012年5月にデータベース市場への本格参入を宣言し、オラクルやIBM、マイクロソフトとデータベース市場で競合していくことを表明。そして今年2013年2月にはついにERPと組み合わせた「SAP Business Suite powered by SAP HANA」の出荷を開始し、業務アプリケーションのバックエンドデータベースとしてHANAの本格利用を開始しました。

HANAには、これまで主流だったリレーショナルデータベースとは異なる2つの技術的な特長があります。1つはデータベースをメインメモリ上に保持する「インメモリデータベース」、もう1つはデータを列(カラム)指向で処理する「カラム型データベース」です。

この2つの技術はいま、主要なデータベース製品にも次々に採用されています。

マイクロソフトは現バージョンのSQL Server 2012で「xVelocity」と呼ばれるインメモリ機能とカラム型データベース機能を搭載、次期SQL Serverではさらにインメモリ機能を強化したコード名「Hekaton」を搭載予定です。

オラクルもハイエンド製品の「Oracle Exadata」ではカラム型データベース機能を備え、最新の「Oracle Exadata X3 Database In-Memory Machine」ではインメモリの名前を冠しています(ただしフラッシュメモリが中心)。

また、IBMが今月発表したIBM DB2の最新版IBM DB2 10.5でも、インメモリデータベース機能とカラム型データベース機能が組み込まれています。

インメモリデータベースとカラム型データベースの2つの技術は、このように最新製品に続々と採用されている注目すべき技術なのです。

インメモリデータベースとカラム型データベースへの疑問

一方で、この2つの技術は従来のリレーショナルデータベースの基本である、「データベースをハードディスクに保存する」「行指向でデータを処理する」のいずれとも大きく異なる技術でもあります。ですから、これらが本当に実用的なものになるのかどうか、疑問に思うのは自然なことです。例えば次のような疑問が浮かびます。

  • わざわざインメモリデータベースにしなくても、従来のデータベースを大きなメモリを積んだサーバで走らせれば全部メモリに載るではないか。なぜインメモリデータベースが必要なのか?
  • インメモリデータベースでは、マシンが落ちたらメモリ上のデータは全部消えてしまうのではないか。大事なデータベースを任せられるのか?
  • カラム型データベースの構造は集計などの高速処理に向いているが、行ごとの操作が必要なトランザクション処理には向いていないはずだ。本当にカラム型データベースで実用的なトンランザクション処理ができるのか?

特にSAPのHANAは、最初からインメモリデータベースとカラム型データベースの技術を核に設計、実装されたものであり、その仕組みを調べることで上記の疑問に対する答えが見つかるはずです。

本記事では、インメモリデータベースについてはオラクルのTimesTenとSAPのHANAを、カラム型データベースではHANAの仕組みをおもに見ていくことで、上記の疑問に答えつつ、インメモリデータベースとカラム型データベースがどのような技術であり、どんな可能性を持つのかを、本記事も含めて5本の記事で調べていきます。

(本記事を書くにあたり、SAPジャパンから資料の提供やブリーフィングの機会をいただきました。ただし本記事ではPublickeyが独自に調査、分析した内容などを含むため、万が一間違いなどがあった場合にはその責任はPublickeyにあります。また本記事はタイアップ記事ではなく、Publickeyが独自に企画、執筆したものです)

≫次の記事「従来のデータベースをメモリに載せるだけではだめなのか? インメモリとカラム型データベースの可能性を調べる(その2)」に続きます。

インメモリとカラム型データベースの可能性を調べる

あわせて読みたい

RDB データベース HANA SAP インメモリデータベース カラム型データベース




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本