先週の #clubdb2 「初心者歓迎!DB2の運用管理入門」の資料を公開しました

先週(5/25)、私が講師を担当したCLUB DB2(DB2の勉強会)の資料をSlideShareで公開しました。

- DB2の使い方 管理ツール編

初心者歓迎!シリーズですので、「なぜこの運用が必要なのか」という事から初めて、バックアップ(BACKUPコマンド)、表の再編成(REORGコマンド)、統計情報の更新(RUNSTATSコマンド)の基礎を解説しています。

UST中継では解像度が低くて、文字が読めなかった方もいらっしゃるかと思いますので、ぜひ上記で確認してみてください。

以下に埋め込んでおきます。

DB2の勉強会 #clubdb2 の今後の予定

DB2の勉強会 CLUB DB2 の今後の予定が決まりました。

- CLUB DB2
5月25日(金) 第143回:初心者歓迎!DB2の使い方【運用管理編】
6月8日(金) 第144回:初心者歓迎!DB2の使い方【SQL編】
6月22日(金) 第145回:DB2のパフォーマンス・チューニング入門
7月13日(金) ゲスト講師登場!(1)
7月27日(金) ゲスト講師登場!(2)

次回(5/25)は、初心者歓迎!シリーズ第2回の運用管理編です。DB2運用に必要な基本的な概念やコマンドの学習です。講師は私が担当で、申し込み受付中です。もう明日ですね。

その次(6/8)はシリーズ第3回として、SQLの入門です。SQLの基礎の「き」からの話になる予定です。こちらは来週にも申し込み受付開始の予定です。

6/22は久しぶりにDB2パフォーマンスチューニングの予定です。まだ内容が詰め切れていないのですが、基本的なチューニング方法や概念の話になると思います。

そして7月ですが、2連続でゲスト講師に登壇いただき、楽しい勉強会になるよう企画中です!
今年のCLUB DB2は「DB2の基本に回帰」がテーマでDB2の基本と、DB2 v10の話中心に開催していますが、この7月はちょっとそれを外れて多彩なお話をしていただく予定です。日付が決まりましたので、ぜひ予定を空けておいてください。

会場はどれも渋谷です。ぜひお気軽にご参加ください。できるだけWEB中継もする予定です。

ISE Technical Conference 2012が6/7-6/8に開催。基調講演は米長永世棋聖です!

毎年この時期恒例の、毎年恒例、ISE(日本アイ・ビー・エム システムズ・エンジニアリング)の技術コンファレンス、ISE Technical Conferenceが今年も開催されます。

- IBM ISE Technical Conference 2012 - Japan
毎年ご好評いただいている、ISE Technical Conferenceですが、今年はIBM本社(箱崎)にて6月7日(木曜日)から8日(金曜日)に開催いたします。先進のソリューション、最先端の技術情報などをお伝えし、充実した技術者のためのConferenceとなるようスタッフ、講師とも全力で取り組んでおります。

参加費用が必要なのですが、その値段分の濃い内容が期待できるコンファレンスです。
また、毎年基調講演が豪華なのです。去年は「はやぶさ」の川口教授でした。そして今年は米長邦雄・永世棋聖です!

コンピューター将棋がプロ級の実力になりました。68才にして臨んだ最強コンピューターとの対戦での体験を踏まえ、コンピューターと人間との比較を語ります。
人間が勝っている点、コンピューターが勝っている点、これを研究するのが「思考の可視化」ですが、究極のところ私は共存共栄を目指しています。
われ敗れたり。その勝負の経緯、敗因と今後の展望を題材として、IT技術のプロフェッショナルとしてお客様にサービスをお届けする方々に対し、プロフェッショナルの心構え、勝負に臨む心構えをお伝えできればと思います。

これは楽しみな内容ですね!

もちろんIBM SW関連のセッションは豊富です。今年は二日目のトラックOにDB2やWebSphere Application Serverのセッションがあるようです。DB2 10.1の話もありますね。

申し込み〆切は6月4日(月)ですので、参加予定の方はお早めにどうぞ。

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

著書
「AWSではじめるデータレイク」
データレイクの本を書きました(共著)
DB2cover_small.jpg
DB2の管理方法を解説した本を書きました。
ad
無料のDb2 Community Edition
リンク集
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入門書。サイトへの実践的な適用方法も解説されています(レビューはこちら)
recent entries
categories
recent comments
  • Db2 11.5 Base Edition の標準サポート提供は2025年9月30日まで (Standard EditionやAdvanced Editionとは別です)
    sim (02/09)
  • Db2 11.5 Base Edition の標準サポート提供は2025年9月30日まで (Standard EditionやAdvanced Editionとは別です)
    oda (02/07)
  • ORDER BYでNULLを最小に持ってくるには
    通りすがり (03/15)
  • Db2をAWS上に構築する際のヒント&TIPS (2021年2月版)
    Jiyong, Jung (12/09)
  • DB2小ネタ - ALLOW REVERSE SCANS
    meijik (06/24)
  • 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)
recent trackbacks
archives