DB2の勉強会 #clubdb2 次回は5/25「初心者歓迎!運用管理入門」

DB2の勉強会CLUB DB2、次回は5/25(金)19時から渋谷で開催します。初心者歓迎!連続三回シリーズの第二回として「DB2の運用管理入門」を実施します。

- 第143回:初心者歓迎!DB2の使い方【運用管理編】
毎年恒例、これからDB2を勉強したい!という方向けに初心者向けシリーズ。連続3回開催の第2回です!
(去年とほぼ同じ内容です)
今回は、DB2を運用する際に必須となる管理系コマンドの使い方についての勉強会を、DB2もしくはデータベース初心者の方向けに行います。
管理が必要になる理由を解説してから、管理のためのDB2コマンドについて説明を行います。
前提知識は不要ですし、前回出ていなくても大丈夫です。お気軽にご参加ください!

講師は私が担当します。初心者編の講師をするのは久しぶりです。

内容はDB2ユーザ向けですが、なぜこの管理が必要なのかという概念自体はどのRDBでも共通だと思います。前提知識は不要ですので、ぜひお気軽にお申し込みください。渋谷でお会いしましょう!

この次の回、初心者歓迎!シリーズ第三回は6/8を予定しています。第三回は「SQLの基礎」の予定です。

最近のLinuxで有効になっているI/Oバリア機能と、RDBへの影響

比較的新しいカーネルを採用したLinuxディストリビューションでは、ファイルシステムのI/Oバリア (I/O barrier)機能がデフォルトで有効になっています。例えばRedhat Enterprise Linux (RHEL) 6やSUSE Linux Enterprise Server (SLES) 11等はインストール直後の状態でext4ファイルシステムのI/Oバリアが有効になっているようです。

I/Oバリアは簡単にいうと、「バリア命令」の後で発行されたI/Oは、バリア命令の前に発行されたI/Oの後に必ず実行されるようにする仕組みです。つまりI/Oの順序(物理ディスクに反映される順番)をまもらせる仕組みといえます。

ファイルシステムにI/Oバリア機能が追加されたのは、ファイルシステムが不整合な状態になる可能性を減らすためです。

そもそも、急な電源断でもファイルシステムの不整合が起こらないために、ext3やext4では「ジャーナル」と呼ばれるデータの「書き込み記録」が用意されています。ですのでこのジャーナルが正しく記録されていれば、ファイルシステムの不整合が起こらないはずなのですが、ハードディスクにキャッシュメモリが内蔵される事で、正しくジャーナルを書き出せない可能性が出てしまうのです。

ハードディスク装置にキャッシュが内蔵されると、書き込みでfsync()を実行しても、実際のディスクではなくキャッシュに書き込んだ時点でfsync()が返ってしまいます。

キャッシュに溜まったデータはいずれ実際のディスクに反映されますが、この反映途中で電源断が発生すると、物理ディスクには意図しない部分の(OSからの書き込みとは異なる順序で)データが反映されてしまう可能性があるわけです。

ファイルシステムのジャーナルは、ジャーナルが対応しているデータが反映される「前」に必ずディスクに書き込まれる必要がありますが、上のような電源断があると、データの方だけディスクに書き込まれて、ジャーナルのデータがロストしてしまう可能性があります。そうするとファイルシステムが不整合になってしまいますね。

※この説明はかなり端折って書いてしまっています。詳しい考え方については下記のblogエントリが分かりやすいです。

- Understanding Linux block IO barriers | Lifting the Earth using Linux

この不整合を防ぐために、デフォルトでバリアが有効になっているわけですが、これがどの程度速度に影響があるかはアプリケーションによって異なります。例えばRHEL 6のマニュアルには以下のような記述があります。

- Chapter 20. Write Barriers
Enabling write barriers incurs a substantial performance penalty for some applications. Specifically, applications that use fsync() heavily or create and delete many small files will likely run much slower.

fsync()を何度も実行したり、ファイルの作成と削除を多数行う場合は遅くなるとありますね。I/Oバリアを有効にすると、fsync()の前後にH/Wキャッシュへのフラッシュ命令が発行されるようになりますので、その分処理に時間がかかるようになります。

RDBの性能への影響がどの程度あるかについては、データを持っていないので良くわからないのですが、並行で書き出せば早くすむはずの書き出し処理(DB2だとバッファープールに溜まったダーティーなデータを表スペースに書きだす処理)を、順序を守って書き出す事になるわけですから、性能へのペナルティはあると考えるべきでしょうね。

例えばDB2 10.1+Redhat Enterprise Linux 6の場合について、DB2/Linuxのwikiには以下のような記載があります。

- Red Hat Enterprise Linux (RHEL) 6 - DB2 10.1 - Information Management
You are recommended to disable I/O barrier at mount time using the -o nobarrier option for mount on ext3 and ext4 file systems.

このようにI/Oバリアをオフにする事が推奨されていますね。DB2 10+SLES 11にも同じことが書かれていますので、こういった新しいディストリビューションでDB2を使う場合はI/Oバリアをオフにすると良いようです。

もちろんデータに不整合が発生してはいけないのですが、おそらくCOMMITした際にはDB2はトランザクションログをハードウェアのキャッシュまで含めてフラッシュしているため、ファイルシステム側で考慮してもらわなくても問題ないのでしょう。(DB2の挙動を確認したわけではないので、想像なのですが)

ext4でI/Oバリアをオフにするには、mount時にオプションbarrier=0かnobarrierを指定します(どちらでも良いようですが、RHELのマニュアルにはnobarrierと書かれていますし、SLESのマニュアルにはbarrier=0と書かれています)。

その他、XFSやreiserfsにもバリア機能が用意されています。

おそらくこのI/OバリアをOFFにしたほうが良いというのは、他の多くのRDBでも共通だと思われます。
例えばMySQLについては、(MySQLで超有名な)松信さんのプレゼン資料で"xfsはI/Oバリアがデフォルトで有効なので消すこと"と書かれています。(p.23)

- Linux/DB Tuning (DevSumi2010, Japanese)

DB2 Express-C v10.1のインストールガイドを書きました

先日新しいバージョンが公開された、無料で使えるDB2 Express-C v10.1の、Windows版とLinux版の「クイックインストール」記事を書きました。インストール方法の解説記事です。

- DB2 Express-C 10.1 for Windows クイックインストール
- DB2 Express-C 10.1 for Linux クイックインストール

スクリーンショットを出来るだけ多く使って分かりやすくしたつもりですので、DB初めてという方でも導入できると思います。ぜひ無料のDB2をお試しください!

DB2のFix Packで修正された問題(APAR)一覧

DB2のパッチ(Fix Pack)で修正された問題(APAR)の一覧は、以前はFix PackにHTMLファイルが同梱されていたのですが、最近は以下のURLにまとめられているようです。

- IBM Fix List for DB2 Version 9.7 for Linux, UNIX and Windows - United States
- IBM Fix List for DB2 Version 9.5 for Linux, UNIX and Windows - United States

上記は9.7と9.5だけリンクを引用しましたが、9.8(pureScale)や9.1,8.xの情報も上記リンクから辿る事ができます。10.1はまだFix Packがリリースされていないので、情報がありません。

これまでの修正内容一覧なのでリリースしてから時間が経過している9.5の方がたくさんの情報がありますね。Fix Packを適用する際や、問題が発生した時に参照すると便利です。

無料のDB2 Express-Cで利用可能なメモリが4GBに増加しました

少し前のエントリに書いたように無料で使えるDB2 Express-Cのv10.1が公開されて、ダウンロード可能になっています。

- 無料の DB2 10.1 Express-Cがリリースされました!

メジャーバージョンが上がったことで多数の新機能が使えるようになったのが大きな変更点ですが、使用可能なメモリ容量が増加したのも嬉しい変更点です。下記blogエントリでは他RDBMSの無料バージョンとの比較をいれつつ紹介されています。

- DB2 Express-C 10 is now out
The already excellent performance has been improved further (including XML performance), and the free edition now takes advantage of up to 4 GB of RAM (but you can have as much RAM on the server as you wish).

これまで(v9.7まで)はDB2 Express-Cが利用可能なメモリは2GBまででしたが、v10.1からは4GBになりました。64bit OSを使うメリットが増えましたね。利用可能なプロセッサコア数は2までというのは変わっていません。

誤解しやすい点ですが、制限以上のリソースを持つサーバ、例えば8GBのメモリを持つマシンにもDB2 Express-Cは導入可能です。DB2が利用可能なメモリが4GBに制限されているというだけです。

DB2 Express-CはIBMのサポートこそありませんが、使用用途の制限が無く(本番業務でも使える)、DBサイズの制限もありませんので、非常に使いやすいエディションです。XML-DB機能や、Oracle互換性機能(PL/SQLの実行など)の機能も使えますので、ぜひ試してみてください。

DB2の勉強会 #clubdb2 では5/11から3回連続で「初心者歓迎編」を開催します

DB2の勉強会 CLUB DB2、次回は5/11(金)に開催します。

- 第142回:初心者歓迎!DB2の使い方【はじめの一歩編】
内容:
毎年恒例、初心者向け企画!
これからDB2を勉強したい!という方向けに初心者向けシリーズを開催しますよー
全3回でデータベースとは何?からSQLまで、データベースの基礎を勉強します。
DB2にコダワラズ、この勉強会の知識はその他のデータベースでも活用できますので、是非ご参加ください。
アジェンダ:
全くのデータベース初心者の方を対象にした「はじめの一歩編」を開催します。
(過去に実施した内容とほぼ同じです)
データベース入門として、一般的にRDBMS内部がどのような構成になっているかを学習しませんか?
基本的な内部構成について知っておくと、その後のデータベース関連知識習得がやりやすくなります!
基本構造を理解した後は、それがDB2でどのように構成されているかについても学習します。
前提知識不要、超初心者でも大丈夫なので、気軽に参加ください。

毎年この時期に開催している初心者歓迎!編を今年も開催します。(ですので、内容は去年とほとんど同じです)

まずは基礎の基礎という事で、RDBって何?というところから解説します。これからRDBを触る事になったけど、何も知らない...という方でも全然OK!の内容ですので、ぜひお気軽にご参加ください。
5/11(金)19時開始、場所は渋谷です。すでに申し込み開始になっています。(今回はメールでの申し込みになっていますのでご注意ください)

この後は、5月下旬の回、6月上旬の回も初心者向けの内容を行う予定です。5月下旬はおそらく運用管理ツールについての説明になると思います。

Ruby/Rails用DB2ドライバ ibm_db 2.5.10リリース:Rails 3.2をサポート

DB2用のRubyドライバ&Ruby on Railsアダプターである、ibm_dbの新バージョンv2.5.10がリリースされています。(正確にはInformix等にも対応しています)

- Rails Adapter/Driver for IBM DataServers
- RubyForge: ibm_db-gem-version-2.5.10-release
New version 2.5.10 of ibm_db gem is now available.

CHANGEファイルには、以下のような記述があります。
2012/05/01 (IBM_DB adapter 2.5.10, driver 2.5.10) :
- Support for Rails-3.2
- Changes in installation process. Now user should set only one environment variable IBM_DB_HOME to DB2/IBM_Data_Server_Driver installation directory
- Fixed bug #29541 - Serialize data when corresponding field maps to CLOB type on Database
- Fixed bug #29561 - Fixed data truncation error when client and server codepages are different
- Updated IBM_DB specifics of AR test suite as per Rails-3.2.3

一番上にあるように、Rails 3.2を正式にサポートしたのが大きな変更点でしょうか。また、環境変数の設定がIBM_DB_HOMEを設定するだけ(DB2の導入ディレクトリを指すように設定する)になったのも良い変更ですね。

ダウンロードは以下から可能です。また、gemコマンドで更新する事も可能です。

http://rubyforge.org/frs/?group_id=2361

DB2 10.1のオンラインマニュアル(インフォメーション・センター)が公開されました

DB2 10.1リリース& DB2 Express-C 10.1リリースに合わせて、DB2 10.1のオンラインマニュアル(インフォメーション・センター,Information Center)も公開されました。全言語一斉にリリースされたので、日本語で閲覧できます。Unofficial DB2 FAQの方も更新しています。

- IBM DB2 バージョン 10.1 インフォメーション・センター
- DB2のマニュアルはどこにありますか? (Unofficial DB2 FAQ)

気になるV10.1の新機能一覧は以下で閲覧できます。

- 新機能

なおインフォメーション・センターはブラウザの言語設定で自動的に表示が変わるので、ブラウザの言語設定を英語にすると、英語版のインフォメーション・センターが閲覧できます。

PDF版マニュアルは今のところ英語版のみの公開で、日本語はまだ公開されていません。

- DB2 Version 10.1 for Linux, UNIX, and Windows English manuals

余談ですが、今までインフォメーション・センターのURLは、http://publib.boulder.ibm.com/infocenter/ ...だったのですが、今回のv10.1から http://pic.dhe.ibm.com/infocenter/ ... に変更になったようです。(一次的なものかもしれませんが)

無料の DB2 10.1 Express-Cがリリースされました!

DB2 9.1が標準サポート終了になった4/30は、同じくDB2 10.1のGA(General Availability=出荷開始)日です。

そして10.1出荷開始と同時に、無料版DB2である、DB2 Express-C 10.1も公開されました!
すでにダウンロード可能になっています。(Tさんからの情報です。ありがとうございます!)

- Download DB2 Express-C - Free to develop, deploy, distribute
※なぜかWEBページが9.7.5ダウンロードの状態に戻ってしまっていますが、上記リンク先からOSを選択した先では10.1がダウンロード可能です。(Kさんよりの情報:2012/5/1 22:30追記)

公開されたOSは、Windows(32bit,64bit),Linux(Intel 32bit,64bit) ,Power Linux(Power 64bit),Solaris x86-64です。残念ながらMac OS X版はv9.5.2のままです。

試しにWindows 64bitを選択してみると、本体サイズは500MBほどでした。

DB2 express-c 10.1 Windows 64 download
(※リストにあるDB2 Express-C Lightはネットワーク帯域が狭い方向けの最小バージョンで、日本語リソースなどが入っていませんので、普通はDB2 Express-Cをダウンロードしてください)

このDB2 10.1からGUIのコントロールセンターが廃止になっていて、GUIとしてはData Studio Administration ClientというEclipseベースのGUIに変更になっています。Data Studioも上記リンクからダウンロード可能です。

Express-Cチームblogでも紹介されています。

- DB2 Express-C Team Blog: Download free DB2 Express-C 10.1 database with NoSQL, RDF, and Time Travel Query
DB2 Express-C Team Blog: Download free DB2 Express-C 10.1 database with NoSQL, RDF, and Time Travel Query

上記にあるように、v10.1新機能のタイムトラベルクエリーや、RDFサポート(どちらも後ほどblogで紹介します)も無料のExpress-Cで使えるようになっています!また、以前からあるOracle互換機能(PL/SQLが動く)もそのまま使えます。

ぜひゴールデンウィークに、新しいDB2をお試しください。

DB2の勉強会 CLUB DB2 4/27はDB2 10.1の新機能をさらに深く

紹介が遅くなりましたが、DB2の勉強会 CLUB DB2の次回4月27日(金)の申し込みが可能になっています。次回も前回に引き続きDB2 10.1の新機能解説です。

- 第141回:追加公演決定!!DB2 10新機能のご紹介
前回のClubDB2でも取り上げたDB2 10新機能ですが、前回詳しく解説しきれなかったところを含め、DB2 10の情報を詳しくお届けする予定です。
また、IODC 2012への参加、有り難うございました。IODC2012でもDB2 10の新機能について話しましたが、45分枠を10分オーバーしてしまい、それでもなお、話し足りない部分が多々ありますので、次回はそこを話したいと思います。
(前回は若干国内発表日よりフライング気味でしたので今回改めて!という位置づけです。前回と同じ部分もありますがご容赦ください)
懇親会の時にリクエストのありました、オプティマイザーの改良部分や、新たなジョインの方法、タイムトラベルクエリーの具体的な使い方やセキュリティー部分などを話したいと思っています。

引用にあるように、前回と被る部分もあるようですが、前回解説しきれなかったより深い部分の説明もあるようです。前回参加された方も出来なかった方も、ぜひお気軽にお越しください。渋谷で19時開始です。

例によってUSTREAM中継も実施する予定ではあるのですが、申し訳ないのですが最近UST中継が不調でなかなか安定して中継をお届けする事ができていません。UST以外の中継サービスも試してみようかと考え始めているのですが、何かお勧めの方法がありましたら教えてください。

検索
著書
DB2cover_small.jpg
DB2の管理方法を解説した本を書きました。
CLUB DB2 今後の予定
ad
リンク集
about this site
recommend
recommend
DB2 9.7 エバリュエーション・ガイドブック
DB2 9.7 エバリュエーション・ガイドブック (JUGEMレビュー »)
日本アイ・ビー・エム
DB2 9の全体像と9.7の新機能を余すことなく解説した入門者向けガイド本です。(レビューはこちら)
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
達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)
達人に学ぶ SQL徹底指南書 (CodeZine BOOKS) (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
プロジェクトの流れで理解するXMLDBデザイン徹底解説―最新DB2 9.5pure XML対応
プロジェクトの流れで理解するXMLDBデザイン徹底解説―最新DB2 9.5pure XML対応 (JUGEMレビュー »)
日本アイ・ビー・エム
XML-DBの実践的なデザイン方法を解説した初めてのガイドです。XML-DBを使った開発に興味のある人やプロジェクトでXML-DBを使用する予定の人にお勧めです。
recommend
データベースパフォーマンスアップの教科書 基本原理編
データベースパフォーマンスアップの教科書 基本原理編 (JUGEMレビュー »)
エンコアコンサルティング
DBMSの基本的な内部構成、動作についての考え方をやさしく解説してくれています。(レビューはこちら)
recommend
メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方
メインフレーム実践ハンドブック z/OS(MVS),MSP,VOS3のしくみと使い方 (JUGEMレビュー »)
神居 俊哉
メインフレームの技術について、基礎概念から、実践的な使い方までを網羅した初めての解説書です。
recommend
セオリー・オブ・スタイルシート (Quick Master of Web Technique)
セオリー・オブ・スタイルシート (Quick Master of Web Technique) (JUGEMレビュー »)

CSSの概念/基礎をしっかりと解説してくれるCSS入門書。サイトへの実践的な適用方法も解説されています(レビューはこちら)
無料のDB2 Express-C
DB2 Express-C ダウンロード
recent entries
categories
recent comments
  • 無料のDB2 Express-Cで利用可能なメモリが4GBに増加しました
    SIM (05/06)
  • 無料のDB2 Express-Cで利用可能なメモリが4GBに増加しました
    adatmn (05/06)
  • 次回 #clubdb2 2/24はDB2モニタリング入門です
    SIM (02/23)
  • 次回 #clubdb2 2/24はDB2モニタリング入門です
    地方 (02/23)
  • DB2 9.7新機能:更新トランザクションが読み取りトランザクションをブロックしなくなった
    SIM (01/05)
  • 自著「即戦力のDB2管理術」のサポートページに正誤表が追加されました
    SIM (01/05)
  • DB2 9.7新機能:更新トランザクションが読み取りトランザクションをブロックしなくなった
    しょし (01/03)
  • 自著「即戦力のDB2管理術」のサポートページに正誤表が追加されました
    YOU (12/28)
  • DB2 9.7 Fix Pack5リリース。無料のDB2 Express-CにもPL/SQL実行機能が追加
    SIM (11/14)
  • DB2 9.7 Fix Pack5リリース。無料のDB2 Express-CにもPL/SQL実行機能が追加
    moda (11/14)
recent trackbacks
archives