クラウド上でRailsのテストケースを実行するDevver

Devver.net

DB2には関係無いですが、Rails+クラウドで面白いサービスを知ったのでご紹介を。

クラウドは使用状況に波(ピーク)がある業務に向くとされています。短期間だけ使用することができるサービスが多いので、必要になった時点で使用開始し、終わったらすぐに停止することで(実際に買う場合と比較して)コストを抑える事ができます。

使用状況に波がある業務というと、突発的なアクセス(スパイク)があり得るWEBサイトや季節性の業務(年度末に処理が集中するとか)などが思い浮かびますが、以下はクラウド(Amazon EC2)をテスト(ユニットテスト)に使用しようとするサービスです。

- Devver: Run Your Tests or Specs 3 Times Faster (On A Cloud Of Servers)
Devver is a new Ruby testing service that lets you run your tests in parallel on their cloud of servers.

- Devver.net

Ruby言語に特化しているのが特徴で、Rails(Ruby)のRSpec(テストフレームワーク)で書かれたテストケースをクラウド上で実行してくれるサービスです。

クラウド活用方法の一つとして興味深いです。テストは年中やっているわけではないですし、環境構築も面倒ですので、開発の期間だけこのサービスを使ってAmazon EC2上でテストを実行する、というのは実に利に適った考え方だと思います。もちろん開発の情報が外部に出るわけで、そのリスクはトレードオフになるのですが。

同様の発想でビルド自動化ツールなんかもクラウド上に置くことで良い効果が出るかもしれないですね。Devverは現在パブリックベータで正式サービス開始前ですが、今後が楽しみです。

8/29のClub DB2土曜編は無事終了しました

1年ぶりに土曜開催になった「第82回 さわってみよう DB2 9.7」は30人以上の方に参加いただき無事に終了しました。お休みの日にわざわざ渋谷まできていただいたみなさま、本当にありがとうございました!

今回はいつもの講義形式とは異なり、極力DB2マシンに触ってもらうことを重視した実習中心の内容でした。そのためあまり解説は行わず、自由にDB2 9.7をいじってもらったのですが、いかがだったでしょうか?PM1時半から5時までという長時間だったのですが、演習をしているとあっという間という気がしました。

個人的にはやはりSQL入門は実機でやるのが一番良いなと思いました。SQLもプログラミング言語の一種ですから、頭で理解するだけではなく、自分の手を動かして理解を進めるようにするのが理解を早める一番の方法だという気がします。

終わった後は例によって懇親会(という名の飲み会)に突入。午後5時30分ぐらいから飲み始めたのに、2次会が終わったのが12時前というこちらも長丁場でしたが、色々なお話を聞けてこちらも実に楽しかったです。

さてもう9月ですが、9月もClub DB2は東京で2回、大阪で1回開催予定です。気軽にデータベース技術者同士の交流が出来る場でもありますので、ご都合が合う方はぜひご参加ください。

- Club DB2 ナイトサークル

クラウド(Amazon EC2)上へのDB2デプロイを簡単にするRightScaleのデモ

クラウド+DB2の話をもう一つ。こちらはAmazon EC2上のDB2を管理するRightScaleの動画デモです。

- DB2 Cloud with RightScale - Part 1 - Local Storage - ChannelDB2
- DB2 Cloud with RightScale - Part 2 - EBS - ChannelDB2

RightScaleは、Amazon EC2上の各種サーバーソフトウェアを管理するためのサービスを提供している会社です。

私の説明を読むよりまず動画を見ていただくのが良いと思います。ナレーションは英語ですが、GUIの操作を見ているだけでも簡単にDB2 9.7 + Linuxの環境がセットアップできるとことが分かると思います。Part 1ではDB2環境をEC2のローカルストレージ(EC2インスタンスを落とすとデータが消える)に構築するデモで、Part 2ではEBS(EC2インスタンスを停止してもデータが保存される領域)上にDB2のデータを置くように設定するデモです。

Part1は9分、Part2は7分ですがRightScaleやDB2のコマンドを説明している時間もあるため、実質の作業時間はもっと少ないです。(EC2インスタンス起動までの時間やDB作成の時間は編集でカットされていますので実際の作業ではもう少し待ち時間が発生します)。

RightScaleのおかげでEBS上にDB2を置く設定やファイアーウォールの設定も簡単になっていますし、解説されていませんがDB2のプロセス監視機能なども持っています。この簡単さは本当にすばらしいと思うので、ぜひ動画を見てみてください。

※ためしに2つのビデオを下に埋め込んでみました。うまく動くでしょうか。

DB2 Cloud with RightScale - Part 1 - Local Storage from ChannelDB2 on Vimeo.


DB2 Cloud with RightScale - Part 2 - EBS from ChannelDB2 on Vimeo.


Maximoをクラウド上に置く

Markさんのblogエントリで、Amazon EC2上でMaximoが起動できるようになったと紹介されています。

- Maximo and DB2 on the Cloud
Maximo in the cloud using DB2! Maximo is IBM's Enterprise Asset Management technology and I just happen to work in the same office as a very talented Maximo hosting team. The Maximo hosting team recently put Maximo on Amazon's EC2 following in the footsteps of other IBM software.


MaximoはIBMのソフトウェアで、企業資産管理(EAM)のソフトウェア郡です。簡単に言えば企業内の多様な資産(サーバとか備品とか、会議室とか)を管理し、どれぐらい有効に使われているか、価値を持っているかを測定するためのものです。(サーバの死活監視やエラー監視の製品ではないです)

どうしてDB2と関係あるかというとMaximoはデータの蓄積にデータベースが必要になるためです。Amazon EC2にはDB2のAMI(Amazon Machine Image)が用意されているので、簡単にMaximo環境がセットアップできたようです。

この手のEAM製品は使ってみて初めて効果を実感できる面があるので、パッと実現できることは大きな価値になると思います。案外クラウド環境と相性が良いのかもしれません。

Mac OS X Snow LeopardにDB2 9.5が導入可能です

WEBニュースやblogではMac OS Xの最新バージョン10.6(Snow Leopard)の話で盛り上がっていますが、AntonioさんのblogでそのSnow LeopardにDB2がちゃんと導入できたというエントリが公開されています。

- DB2 on Mac OS X Snow Leopard | Zen and the Art of Programming
DB2 users may be wondering if it is safe to install this version of Mac OS X 10.6 or if their existing installation will go awry. I’m happy to report that DB2 Express-C 9.5 FixPack 2 for Mac works fine on Snow Leopard.


以前より公開されているDB2 Express-C 9.5で問題なく導入できたようです。
Mac OS版はまだベータ扱いのためv9.5しか公開されていないのですが、そろそろv9.7に対応した次のベータバージョンが公開されて欲しいですね。

ロックの据え置き機能を無効にするレジストリ変数

DB2は9.1 Fix Pack 2ぐらいから少しずつロックの据え置き(Lock Avoidance)という機能が追加されています。そのLock Avoidance機能についての技術文章が公開されています。

- IBM ソフトウェア | DB2 for LUW V9.5のLock Avoidance機能によって、V9.1までは発生していたロック競合が発生しなくなることがある場合の対応 (DM-09-013)
V9.5では、Lock Avoidance が働くことにより、V9.1までは取得されていた行ロックが取得されず、V9.1までは発生していたロック競合が発生しなくなることがあります。アプリケーションのデザイン上、V9.1までの挙動と同様のロック取得を望む場合には、Lock Avoidanceが動作しないような設定を行ってください。

- IBM - Locking behaviour changes in DB2 Version 9.5

Lock Avoidanceのおかげで並列性が高まるので基本的には良いことなのですが、以前までの挙動に強く依存したアプリケーションが誤動作する可能性もあります。上記文章ではその挙動を以前と同じに戻す方法が解説されているのですが、それによると、

> db2set DB2_LOCKAVOIDANCE=OFF

というようにレジストリ変数を設定すれば良いようです。

この変数はドキュメントに記載されていないようで、英文のTechnoteを参照すると"the internal DB2 registry"と記述されています。(繰り返しますが、基本的にLock Avoidanceは良い機能なので通常はOFFにする必要はありません。)

9/11のClub DB2(大阪)が申し込み開始 - アクセスプラン入門編

9/11(金)は久しぶりに大阪でClub DB2を開催します。サイトがオープンして申し込み可能になっています。内容は7月の品川開催で好評をいただいたアクセスプラン(アクセスパス、実行計画)入門編です。

- 第84回 [大阪開催]初心者歓迎!DB2 9の使い方 【アクセスプラン編】
DB2の初心者向けシリーズ・ステップ2【アクセスプラン編】のアンコール開催です。データベース・パフォーマンスの肝となる「アクセス・プラン(実行計画)」という単語を聞いたことがある方は多いと思います。
しかし、、、 そもそも、なぜそのようなものが必要なの?どのように読めばよいの?どうすれば改善できるの? というような疑問を持っている方も多いのではないでしょうか。
そこでデータベース初心者の人向けに、アクセス・プランの考え方や読み方を肩の力を抜いてやさしく楽しく学んでいきます。DB2の基礎知識がない方でも大丈夫な内容ですので、お気軽にご参加ください。

上記引用にあるように、アクセスプランやDB2の知識が無い方でも大丈夫な内容になっていますので、初心者の方はぜひご参加ください。場所は本町で18:30開始です。

ruby 1.9環境でのパフォーマンスが向上したRuby/Rails用ドライバibm_db v1.5

Ruby/Rails環境からDB2やInformixに接続するためのドライバ(アダプタ)であるibm_dbの新バージョン1.5がリリースされました。今回は大きな機能がされています。
- RubyForge: ibm_db-adapter-gem-refresh-1.5.0
This release of the gem enhances the performance of the Ruby driver for IBM Data Servers on Ruby 1.9, by making non-blocking database calls in a transparent manner. With this feature you can now get the real benefit of Rails threaded support and connection pooling with IBM Data Servers. A single copy of Rails with IBM Data Server can handle multiple concurrent database requests simultaneously.

ibm_db 1.5ではDB2へのノンブロッキングコールがサポートされました。これによってRails環境でスレッドを使って並列にSQLを処理できるようになり、パフォーマンスが向上するというわけです。

Ruby 1.8まではいわゆるグリーンスレッド実装だったので、インタープリタが実行単位を切り替える事で実現していました。Ruby 1.9からOSのスレッド機能を活用できるようになって、Railsもスレッド化やコネクションプーリングの仕組みが追加されていました。ibm_db 1.5ではそれらの仕組みをうまく活用できるようになったというわけです。

マルチコア化が進むサーバ用CPU

- 8コア・サーバ・プロセッサの最新動向が明らかに : プラットフォーム - Computerworld.jp
8月23〜25日に米国サンフランシスコ近郊のスタンフォード大学で開催されるコンファレンス「HOT CHIPS 21」で、半導体メーカー各社がCPUコアを8個備えるサーバ・プロセッサの提供計画を説明する。


HOT CHIPS 21ではINTEL、IBM、Fujitsu(SPARC)、AMDなどが、近い将来に製造開始になる新しいプロセッサの発表を行うそうです。INTELはNehalem-EX、IBMはPower7などで、例えばPower7だと8コア搭載可能でそれぞれ同時に4スレッド実行可能ということらしいので、同時に32スレッド実行可能になりますね。HOT CHIPS 21は米国時間の25日開催なのでもうすぐ詳細情報が出てくると思います。

これだけ並列実行性能が高くなると、それをどうやって生かすかが課題になってきそうですね。上記記事でも
わずかな例外を除けば、今日のほとんどのアプリケーションは、4つ以上の論理プロセッサが利用できる環境で、パフォーマンスが頭打ちになっている

と指摘されています。

DB2は64コア環境でのベンチマーク結果で良い数字が出ているように、昔からマルチプロセッサ環境に適用できるように作られているのですが、他にはどういうソフトウェアが考えられるでしょうか。WEBサーバ/WEBアプリケーションサーバの分野などでしょうか。

パワーを使い切れないのであれば仮想化環境の使用がより推進されて、今以上に仮想化が一般的になるのかもしれないですね。

ダウ・ジョーンズがDB2を選択した理由

ウォールストリート・ジャーナルで有名なダウ・ジョーンズ社がIBMのインタビューに答えて「なぜDB2を選択したか」という事を語っているビデオが公開されています。

- Why Dow Jones Chose DB2… « Conor's DB2 News and Personal Views
Here is an interview from 2008 with Bashir Khan from Dow Jones. In this interview, he tells us why Dow Jones chose DB2 ahead of other database management systems.

IBMがインタビューしている記事ですので、DB2の宣伝色が強くなるのはある意味当然なのですが、複数のDBMSを比較した上で「使いやすいから(ease of use)DB2を選択した」と語っているのは興味深いです。

著書
「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