XForms 1.1がW3C勧告になりました

W3C勧告候補(candidate recommendation)になってから約2年、ついにXForms 1.1がW3C勧告(recommendation)になりました。

- XForms 1.1
XForms is an XML application that represents the next generation of forms for the Web.


XFormsは以前に少し書きましたがXMLで入力フォーム(form)を定義するためのフォーマット仕様です。

(参考)
- XForms - Wikipedia

XFormsは当然XMLデータですので、そのままDB2 pureXMLに格納可能です。

- XFormsのデータをDB2に格納する | Unofficial DB2 BLOG

RubyのXMLライブラリ比較(Libxml-RubyとREXML)

developerWorks(dW)にRubyのXMLライブラリであるLibxml-RubyとREXMLの比較記事が掲載されています。

- 性能かコーディング量か?RubyにおけるXMLライブラリーの選び方
本稿では特にREXMLとLibXml-Rubyの2つのライブラリーを取り上げ、XMLデータに対して処理を行った際のパフォーマンスについて確認します。その結果から、それぞれのライブラリーがどのようなシーンに向いているかについて考察します。


REXMLは100% pure Rubyのライブラリで、Libxml-RubyはCで書かれたXML処理ライブラリへのブリッジになっています。

移植性を考えるとpure Rubyの方が望ましいのですが、パフォーマンスはどれぐらい違うのでしょうか?記事ではベンチマーク結果も記載されていますので、ぜひ読んでみてください。

DB2 pureXMLでの効率的なXMLインデックスの作成方法

DB2のpureXMLには、独自のXMLインデックス機能があります。特定の要素や属性(アトリビュート)に対してまるでRDBMSのようなインデックスを作成することができ、これによって読み込み速度を大きく向上させることができます。

XMLインデックスの概念は理解しやすいのですが、まだノウハウがあまり蓄積されていない上に自由度が高いので、やってみると案外難しい事が分かります。

ClubDB2場外ブログで紹介されている以下のdW記事は、XMLインデックスの考え方、XQueryを使う上でのパフォーマンス上の注意点が丁寧にまとめてあって非常に良い資料です。

- ClubDB2 場外ブログ: XML索引の使い方
英語になってしまうけど、DB2 V9以降のpureXML環境における、XML索引のTIPSページがDeveloper Worksにあります。そのページがV9.5、V9.7用にアップデートされています。


- Exploit XML indexes for XML query performance in DB2 9
This article presents a set of guidelines for writing XML queries and creating XML indexes in a consistent manner so that indexes speed up your queries as expected.


ClubDB2場外ブログのエントリでも紹介されていますが、このチートシート(PDF)もよくまとまっていて便利ですね。

GartnerによるDB2 9.7 Oracle互換性機能のショートレポート

GartnerによるDB2 9.7 Oracle互換性機能についてのショートレポートが公開されています。

- IBM DB2 9.7 Shakes Up the DBMS Market With Oracle Compatibility
A feature in the IBM DB2 9.7 that will enable users to more easily replace the Oracle database management system with the DB2 DBMS has important implications for the commercial, off-the-shelf software applications community.

レポートでは、DB2 9.7の一番重要な機能はOracle互換性の機能だとした上で、その影響は(Oracle版しか作っていない)商用アプリケーションベンダーにとって重要であるとしています。英語ですが短いレポートなので興味がある方はぜひ目を通してみてください。

DB2 9.7新機能:自立型トランザクション

DB2 9.7に追加された自立形トランザクション(Autonomous transactions)についての解説記事が米developerWorks(dW)に掲載されています。
- DB2 9.7: Autonomous transactions
Learn about autonomous transactions, a feature introduced in IBM DB2 Version 9.7 for Linux, UNIX, and Windows. You will get an overview and example of what an autonomous transaction is and how to create one.

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
バージョン 9.7 は、呼び出し側のトランザクションの結果とは無関係のステートメントのブロック を実行およびコミットするメカニズムを備えています。 このメカニズムは、「自律型トランザクション (autonomous transaction) 」と呼ばれ、 呼び出し側のトランザクション自体がロールバックされても、処理はコミットされることを意味しています。

「自立型トランザクション」とは、名前からは想像しづらいですが、外部のトランザクションの成否に関係なくCOMMITされる(成立する)トランザクションを書ける機能のことです。
具体的には、ストアドプロシージャ作成時にAUTONOMOUSと指定すると、呼び出し元のトランザクションがROLLBACKされてもそのストアドプロシージャはCOMMITされるようになります(通常は呼び出し元 - つまり外側のトランザクションに従って動作します)。つまり自立というかトランザクション制御が独立しているわけですね。

この機能は例えばアクセスログを取るストアドプロシージャを作成したいような場合に便利です。

アクセスログの場合、その操作がROLLBACKされてもログ(操作記録)はCOMMITされなければいけませんので、プログラムで実現しようとするとトランザクション操作が複雑になるのですが、この自立形トランザクションがあると楽に書くことができます。
アクセスログの例は上記dWの記事に具体例なコード付きで説明されていますので、ぜひ読んでみてください。

DB2 9.7小ネタ - Oracleとの互換性を最大にする設定

DB2 9.7では他社RDBMS(Oracle)との互換性を向上させる機能が多数追加されましたが、その機能の多くはデフォルトでオフになっています。機能を有効にするには、レジストリ変数のDB2_COMPATIBILITY_VECTORを設定する必要があります。

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
DB2 環境を適切にセットアップすることで、DB2 データ・サーバーで Oracle アプリケーションを使用できるようになります。

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
DB2 環境と、 Oracle データベース管理システム環境との互換性を高めるために、新しい DB2_COMPATIBILITY_VECTOR レジストリー変数を設定できます。

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
DB2_COMPATIBILITY_VECTOR レジストリー変数は、 DB2 バージョン 9.5 で導入された、1 つ以上の DB2 互換性フィーチャーを有効にするために使用します。


DB2_COMPATIBILITY_VECTORは9.5から導入された変数で、設定には16進数を指定するようになっていたのですが、9.7では新しい値"ORA"が用意され、Oracleとの互換性を最大にするためにはこの値が推奨されています。また、このレジストリ変数を設定後に作成したデータベースでないと使えない機能もあることに注意が必要です。
つまりDB2のOracle互換機能を試したい場合は

> db2set DB2_COMPATIBILITY_VECTOR=ORA
> db2stop
> db2start
> db2 "CREATE DB mydb"

としてデータベースを作成するのが確実な方法です。(レジストリ変数の設定とインスタンスの再起動は一度だけでOKなので、次回以降のCREATE DBの前には必要ありません)

DB2 pureXMLのパフォーマンスを上げるには

DB2 pureXML機能を利用する際のパフォーマンス向上のヒントを書いた文章が更新されています。

- DB2 での pureXML パフォーマンスのための 15 のベスト・プラクティス
この記事では特に XML に固有のパフォーマンスについてのヒントを説明します


v9.5の機能などが追記、修正されています。「XML文書の粒度の選択に注意する」といった非常に基本的なところから解説されている良い文章なので、DB2上でXMLを使う場合は読まれることをお勧めします。

唯一の注意点はヒント3の文章で、XMLデータを圧縮するにはINLINEにしないといけないような記述がありますが、これはV9.5までの話で、V9.7からはINLINE指定の有無に関わらずXMLデータが圧縮できるようになっています。

DB2 9.7新機能:DB2の圧縮が高い圧縮率を誇る理由と、V9.7での機能拡張

DB2 9.7が正式リリースされ、無料のExpress-Cも用意されましたし、オンラインドキュメントも見られるようになったので、そろそろ9.7の新機能や変更点について書いていきたいと思っています。

新機能はマニュアルの以下にまとまっています。

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
新規フィーチャーおよび機能

その中からまずは圧縮の新機能を紹介します。
- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
バージョン 9.7 には、さらに多くのデータ・タイプを圧縮し、ストレージ要件をさらに削減し、入出力の効率性を向上させ、ディスクのデータへの高速アクセスを可能にするために使用できる新しい圧縮フィーチャーが含まれています。

DB2のデータ圧縮機能はV9.1から登場しました。簡単に言えばデータをZIPのようなアルゴリズムで圧縮してディスクに書き込むので、ディスク領域が少なくすむという機能です。サイズが小さくなると、ディスクアクセスの時間も減るため高速化にも繋がります。

DB2以外にも圧縮機能を持つデータベースはありますが、DB2の圧縮機能は他より高い圧縮率を誇ります。これはDB2の圧縮が表全体を対象にした辞書ベース圧縮だからです。つまり圧縮がページ(4KBとか)単位ではなく、表全体のデータで辞書を作り、それを元に圧縮しているために高い効率を実現できるわけです(考え方としては、大きなファイルをZIP圧縮するのと同じアルゴリズムです)。DB2 9.7の特集ページでサイズ83%削減(つまり元データの17%になった)事例コメントが紹介されていますが、これは表全体から辞書を作成する圧縮方式の恩恵によるものです。

- IBM Break Free コスト削減ならDB2|ストレージを83%圧縮してコスト削減 - Japan
データ圧縮率は実際のデータ特性によって異なりますが、あるDB2ユーザーは83%もの圧縮ができたことを報告しています。

またDB2は圧縮したままの状態でバッファープール(メモリーキャッシュ領域)にデータを置くようになっているため、メモリ使用効率も改善されます。

この辞書作成方式のデメリットは辞書をどこかで作らないといけない点です。例えば1000万行のデータを格納したい場合は、先に辞書作成に十分な量のデータを導入した後でREORGコマンドで辞書を作成し、その後で残りのデータを入れるという手間が必要になります。(辞書はいつでも作り直せます)

V9.5からはこの辞書作成が自動化され、ある程度の行が溜まった時点でDB2が自動的に辞書を作成するようになりました(自動辞書作成はOFFにもできます)。これでデメリットは大きく軽減されました。

V9.7ではさらに拡張され、XMLデータと一時表も圧縮可能になりました。また表データの圧縮とは別のアルゴリズムですがインデックスも圧縮されます。つまりほとんど全てのデータが圧縮可能になりました。特にXMLは同じようなデータ(値)を多数格納するケースが多い上にサイズが大きいので、非常に圧縮が効きます。

圧縮はディスク容量の削減、ディスクIOの削減、メモリ使用効率の改善を得る代わりに、CPUパワーを消費します。つまりCPUが逼迫しているようなケースで適用すると逆効果の場合もあるため、常に使えば良いという訳ではありません。しかし昨今はCPUパワーが余っている(ディスクI/Oを待っている)事例が多く、それだけ圧縮が有効なケースが増えているのではと思います。

DB2 9.7のマニュアルが公開

ついにDB2 9.7が正式にリリース!というわけで今後は色々情報が公開されていくと思いますが、まずはV9.7のオンラインマニュアルが公開されました。

- IBM DB2 9.7 for Linux, UNIX and Windows Information Center
DB2 Database for Linux, UNIX, and Windows インフォメーション・センターへようこそ


Unofficial DB2 FAQの方も更新しています。

- Unofficial DB2 FAQ - DB2のマニュアルはどこにありますか?

DB2 pureXML for Dummiesが無料ダウンロード可能(数量限定)

DB2 pureXML for Dummies

- DB2 pureXML for Dummies―Get Your Copy! « Native XML Database
Make sure to download it today as there are a limited number of free downloads available.


洋書のDummies本といえば、独特の黄色い表紙で有名な初心者むけの技術本シリーズですが、そのfor DummiesにDB2 pureXML版が登場したそうです。しかも現在無料でダウンロードできるようになっているそうです!

ダウンロードは数量限定と書かれているので、私はダウンロードしていないです。興味がある方はぜひダウンロードしてみてください。

検索
著書
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