<< DB2 10.5 関連の記事やオンラインドキュメントのURL | main | #clubdb2 次回(7/26)は IBM版HadoopことBigInsight、8月末には土曜開催DB2 10.5ハンズオン >>

DB2 10.5の新機能(2) カラム指向(カラムナ)DB機能

DB2 v10.5では結構色々な機能が追加されていますが、一番の目玉機能はカラム・オーガナイズ表機能(カラム指向DB、カラムナDB)でしょう。

マニュアルの「DB2 バージョン 10.5 の特長」でも一番最初に紹介されています。

- DB2 バージョン 10.5 の特長

カラム指向DBというのは、ここ数年間で一般的に知られるようになった、RDBの新しい「データ格納方法」です。
その名前の通り、カラム(=列)を中心に考えたデータ格納方法で、一般的なRDBMSが「行」単位でデータを格納するのと比較して、列単位でデータを格納するために、このような名前がついています。

内部的な格納方式が変わるだけなので、SQLを実行するユーザの視点では、特に列指向か行指向かということは意識する必要はありません。

DB2で普通に表を作成すると、行指向でデータを格納しますが、v10.5からは列指向「でも」データを格納できるようになりました。これを「カラム・オーガナイズ表機能」と呼んでいます。このDB2 10.5に搭載された列指向機能の特徴は以下の2つだと思います。

1) 表ごとに、「列指向」か「行指向」かを任意に選択可能
2) バッファープール(キャッシュ)や、表スペース(ディスク領域)を「列指向」と「行指向」の表で共有できる

表を列指向として作成するのはとても簡単で、CREATE TABLEの最後に"ORGANIZE BY COLUMN"と書くだけです。つまり、これまでの行指向表と列指向が簡単に「混ぜて」使用できるのです。
これは非常に重要なポイントです。「列指向」と「行指向」の表にはそれぞれ得手・不得手があるからです。

列指向の表は、列単位でデータを格納しているため、ある特定列を集計したり、巨大な表同士で列を比較してジョインするような用途に非常に向きます。

ただし、更新処理はやや苦手です。SQLにおける更新とは「行単位の処理」だからです。また、巨大な表から1行だけを抜き出すような処理もあまり得意ではありません。ある程度大量の行を抜き出すような処理の場合にメリットが大きくなります。例えばある値の範囲をしていしてまとめてDELETEするようなケースでは列指向の方が速くなるケースが多くなります。

これまでリリースされた列指向のRDBは、ほとんどが列指向専用だったので、ある程度利用用途が限定されたのですが、DB2では列指向が向くところにだけピンポイントで適用できます。(列指向が合わない場合に行指向戻すのも簡単です)

「この表は追記・更新が多いから行指向で、ジョインターゲットとなることがが多い表は列指向で」と、用途に応じて使い分けることで効率良いRDBシステムが構築できる、実に開発者にメリットが多いRDBになっていると思います。

なお正確には、カラム・オーガナイズ表機能は、DB2 v10.5に実装された「BLUアクセラレーター」の一部です。BLUアクセラレータの他の機能のおかげで、単純に列指向に物理配置が変化した以上の速度が出るのですが、それについても、これから書いていくつもりです。

コメント
コメントする(emailやurlは無記入でもOKです)









この記事のトラックバックURL (※SPAM対策のため、元記事のPermalink URLへのリンクがないものはトラックバックされません)
トラックバック
検索
著書
DB2cover_small.jpg
DB2の管理方法を解説した本を書きました。
ad
リンク集
about this site
recommend
プログラマのためのSQL 第4版
プログラマのためのSQL 第4版 (JUGEMレビュー »)
ジョー・セルコ
名著が第4版として、内容拡充されて発売されました。SQLの考え方を基礎からしっかり学習したい方にお勧めです。
recommend
recommend
WebSphere Application Server 構築・運用バイブル 【WAS8.5/8.0/7.0対応】
WebSphere Application Server 構築・運用バイブル 【WAS8.5/8.0/7.0対応】 (JUGEMレビュー »)
串宮 平恭,達見 圭介,田中 孝清,原口 知子,福崎 哲郎,盛林 哲
WebSphere Application Serverの運用管理本が出ました!WAS v7〜v8.5まで幅広いバージョンに対応しています。
recommend
recommend
Effective Java 第2版 (The Java Series)
Effective Java 第2版 (The Java Series) (JUGEMレビュー »)
Joshua Bloch
すべてのJava開発者必読の書が大幅改訂されて第2版になりました!。
文法などは解説していませんが、Java言語でプログラムを書くにはどういう事に気をつけるべきかという事が非常に端的に、かつ明確な理由とともに解説されています。
第2版ではJava SE 6対応がなされ、第1版で提案してJava SEに取り込まれた部分は整理され、新しい機能であるGenericsやアノテーションについての記述が多数追加されています。以前に増してお勧めできる書になりました。
まだ読んだことが無いJava開発者はぜひ読んでみてください。
recommend
 (JUGEMレビュー »)

基礎的なSQLは書けるようになったけど、今ひとつSQLのルールになんとなくしっくりこない、腑に落ちない。そんな人にお勧めの入門書です。SQLの根底に流れる基本的な考え方をやさしく解説してくれています。(レビューはこちら)
recommend
SQLパズル 第2版 プログラミングが変わる書き方/考え方
SQLパズル 第2版 プログラミングが変わる書き方/考え方 (JUGEMレビュー »)
ジョー・セルコ,Joe Celko
SQL入門を終えて、SQL中級/上級者になりたいと考えている方にぴったりのトレーニング本です(レビューはこちら)
recommend
XML-DB開発 実技コース
XML-DB開発 実技コース (JUGEMレビュー »)
下佐粉 昭,野間 愛一郎,久保 俊彦,高橋 賢司
XML-DBのやさしい入門書です。XMLの基礎から、XPath,XQueryの解説、設計の基礎、Javaでのプログラミング等盛りだくさんの内容です。
recommend
データベースパフォーマンスアップの教科書 基本原理編
データベースパフォーマンスアップの教科書 基本原理編 (JUGEMレビュー »)
エンコアコンサルティング
DBMSの基本的な内部構成、動作についての考え方をやさしく解説してくれています。(レビューはこちら)
recommend
メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方
メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方 (JUGEMレビュー »)
神居 俊哉
メインフレームの技術について、基礎概念から、実践的な使い方までを網羅した初めての解説書です。
recommend
 (JUGEMレビュー »)

CSSの概念/基礎をしっかりと解説してくれるCSS入門書。サイトへの実践的な適用方法も解説されています(レビューはこちら)
無料のDB2 Express-C
DB2 Express-C ダウンロード
recent entries
categories
recent comments
  • DB2の正式名称が"Db2"に変更。dashDB for TransactionもDb2 on Cloudに名称変更
    Taco (06/24)
  • DB2でインスタンスを追加で作成するには
    SIM (03/18)
  • DB2でインスタンスを追加で作成するには
    晩衛 (03/17)
  • SQLの学習サイト
    SIM (03/26)
  • SQLの学習サイト
    DB (03/25)
  • IBMとマイクロソフトが提携!AzureでDB2やWebSphereが、IBMクラウドでSQL Serverが提供される事に
    sim (10/25)
  • IBMとマイクロソフトが提携!AzureでDB2やWebSphereが、IBMクラウドでSQL Serverが提供される事に
    INA (10/24)
  • OpenSSLのHeartbleed脆弱性(CVE-2014-0160)は、DB2には影響ありません
    SIM (04/24)
  • OpenSSLのHeartbleed脆弱性(CVE-2014-0160)は、DB2には影響ありません
    oda (04/23)
  • IBM BLU for Cloudの日本語ガイド
    SIM (03/13)
recent trackbacks
archives