EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

本音で話そう、Db2の好きなところ、イマイチなところ

edited by DB Online   2017/11/30 11:00

 ミッションクリティカルなシステムや大規模システムで採用されることが多い、IBMのリレーショナルデータベース製品「Db2」。どちらかというと「玄人好みの製品」というイメージが強く、他の商用リレーショナルデータベース製品と比べると情報も少ないために、触ったことがない人にとっては少し近寄り難い印象もあるかもしれない。そこで本稿では、実際にDb2を日々使ってシステム開発やデータベース運用に従事しているエンジニアの方々に集まってもらい、「Db2メッタ斬り!」と題してDb2について本音で語り合ってもらった。前編となる今回は、「Db2の好きなところ」「イマイチなところ」について忌憚ない意見をぶつけ合ってもらった。

 <座談会参加者>

  •  株式会社ライトウェル 企画管理部 商品企画管理グループ 主任技師 新田俊邦氏
  •  株式会社ラック ITサービス事業部 ITサービス第三部 GL 三森悟毅氏
  •  株式会社JIEC 基盤エンジニアリング事業部 齊田祐治氏
  •  ニッセイ情報テクノロジー株式会社 基盤ソリューション事業部 基盤ソリューションブロック 専門職 佐藤圭吾氏
  •  日本IBMシステムズ・エンジニアリング株式会社 ITスペシャリスト 大月真史氏

 <モデレータ>

  •  DB Online チーフキュレーター 谷川耕一氏

シンプルに「書いたままに動く」ところがDb2の最大の魅力

cap
左から、IBM大月氏/ニッセイ情報テクノロジー佐藤氏/ライトウェル新田氏/
ラック三森氏/JIEC齊田氏/DBオンライン谷川氏

谷川氏:まずは皆さんのこれまでのDb2との付き合いについて、簡単に教えてください。

齊田氏:私はもともとOracle Databaseの開発チームにいて、そこからDb2のチームに移りました。世の中にOracle Databaseのエンジニアはごまんといますが、Db2のエンジニアは数が少ないので、Db2をやっていた方が自分の価値をアピールできるのではと思い、それ以来10年以上に渡ってDb2に関わり続けています。現在では主にAIX基盤上のDb2のプラットフォーム構築・運用やデータベース構築を担当しており、開発チームからSQLのパフォーマンスチューニングの支援依頼を受けることもあります。

三森氏:私はOracle DatabaseとDb2の案件を両方担当していて、案件数の比率としてはOracle Databaseの方が若干多いぐらいですね。やはり市場的には、Oracle Databaseのユーザー数の方が多いですから。ただ、こちらからDb2を提案して採用されたこともあり、その時にお客様が気に入ってくれたのはpureScaleです。実際に導入して特にトラブルもなく現在も稼働しています。個人的には、どのリレーショナルデータベース製品を選ぶかについて、特に強いこだわりはないのですが、あえてDb2のいいところを挙げるとしたら、とにかく「シンプルなこと」に尽きるかと思います。

新田氏:私は会社に入社したのが1983年で、当時はやはりメインフレームの案件がメインでした。それから世の中のオープン化の流れに伴って、オープンプラットフォーム上のDb2の案件を手掛けるようになりました。直近では選挙の世論調査のシステムを、IBMさんの支援も受けながらDb2で構築しました。Db2のセルフチューニング・メモリー・マネージャーによって、OLTP系のワークロードと、急に集計をするようなワークロード、両方とも見事に動き、何も問題ありませんでした。また「Oracle Databaseは分かるけどDb2はちょっと……」というSIerが、何かDb2周りのトラブルを起こしたときに、調査のお手伝いをするようなこともしています。

佐藤氏:私は数年前まではメインフレーム上のデータベースの環境構築やテーブル構築、障害対応、パフォーマンスチューニングなど、インフラ周り全般を担当していて、ここ数年でようやくオープン系のDb2 for LUWも触り始めるようになりました。リレーショナルデータベース製品としてはほとんどDb2しか触ったことがないので、今日はほかの製品の話なども聞けたらうれしいですね。

大月氏:私は一応、Db2の販売元である日本IBMの側の人間なのですが、製品を売るというよりは、どちらかというとお客様に製品をきちんと使っていただくためのお手伝いをさせていただく立場で仕事をしています。主に金融系のお客様を支援してきた中で、Db2との付き合いはもう14年ぐらいになります。

cap
「UNIXのシェルとDb2は親和性が高い」(齊田氏)

谷川氏:皆さん、さまざまな立場からDb2と携わっておられるようですが、普段Db2を使っていて「ここはいい!」「このあたりは他のデータベース製品と比べて使いやすい」と思うような点はどんなところですか?

cap
「『Db2はデッドロックが起きやすい』と悪く受け取られがち?!」(谷川氏)

齊田氏:先ほど三森さんがおっしゃった「シンプルさ」に、私も共感しますね。特に普段の仕事の中で、運用を自動化するためのシェルを書くときなどには、それを強く実感します。UNIXのシェルとDb2って、とても親和性が高いんです。

三森氏:他の商用データベースと比べても、そのシンプルさは際立っていると思いますね。他製品の中には、あまりに多くの機能を盛り込んだ結果、内部動作がさっぱり分からないものもあります。例えばデッドロックの問題も、他の製品ではデータベース側である程度回避してくれるような機能を実装したものもありますが、Db2の場合はデッドロックを考慮せずに設計すると、そのままデッドロックが起きてしまう。この点はあまり評判がよくないようですが、個人的にはむしろこれが正しい姿だと思っています。

谷川氏:そういう意見は初めて聞きました! 一般的には、「Db2はデッドロックが起きやすい」と悪く受け取られがちですからね。

新田氏:ほかの製品は、データベース側が勝手にいろいろやってくれますから、プログラマがぬるま湯に浸かってしまうんです。Db2では逆に、プログラマのスキルがそのまま結果に表れますから、自ずとぴしっと筋の通ったコードを書くようになり、Oracleでも性能が出るようになるんですよね。シンプルかつ切れ味がいいのが、Db2の良い点です。

cap
「エラーメッセージの解説が細かく、トラブルシューティングの際は重宝する」(佐藤氏)

佐藤氏:私は個人的に、ドキュメントの品質が高い点がDb2のいいところだと感じています。商用データベース製品の中では、マイクロソフトのSQL Serverと並んでドキュメントが充実していると思います。例えばエラーメッセージの解説も、個々のエラーの内容はもちろん、リターンコード別にエラー原因として考えられることが事細かに記されているので、トラブルシューティングの際はとても重宝します。

谷川氏:海外ベンダーは得てして、日本語ドキュメントの整備が後手に回ることが多いのですが、Db2はその点安心してよさそうですね。

Db2エンジニアの仲間がもっと増えてほしい!

cap
「Db2でリレーショナルデータベースの基礎を学んだ」(新田氏)

谷川氏:先ほど齊田さんからもコメントがありましたが、Db2はほかの商用リレーショナルデータベース製品と比べると、エンジニアの数が相対的に少ないですよね。そのことで肩身が狭い思いをしたことなどはありますか?

新田氏:私はもともとDb2でリレーショナルデータベースの基礎を学んで、その知識をほかの製品にも生かしてきたので、Db2だから肩身が狭いという感覚を持ったことはないですね。

佐藤氏:私はよく社外のデータベース関連の勉強会に参加するのですが、そこで「Db2を使っている」という人に出会ったことは今のところないですね。やっぱり「仲間が増えて欲しい」という思いはあります。

齊田氏:私の勤務先では今、「これからはDb2のエンジニアを増やしていく」という方針を打ち出していて、そのために上からの依頼で毎月社内でDb2の勉強会を開いています。主に若手エンジニアを対象に、Db2のいいところをレクチャーしているのですが、やはり仲間が増えるのはうれしいですね。

佐藤氏:そうですね。私は主に社外に向けて、Db2の情報をQiitaで発信しているのですが、こうした草の根的な活動を通じてDb2のユーザーが増えてくれるといいなあと思っています。あとは、日本語で書かれた入門書的な位置付けのドキュメントや書籍があると、Db2のハードルがぐっと低くなるのではと常日頃思っています。

三森氏:そういう情報発信を、われわれパートナー企業が主体となって行うのもアリですよね。例えば「Db2でこんなことをやってみました!」なんて企画を、場合によってはIBMさんに支援も仰ぎながら、パートナー企業が独自にコンテンツ化して発信していけば、多くの人にDb2をより身近に感じてもらえるようになるかもしれません。

齊田氏:以前はIBMの方が中心になって、独自に勉強会を開いていただいて、私たちのようなDb2エンジニアが一堂に会したこともありました。あれは個人的にとてもいい経験になったので、また似たような場を作れるといいですね。

大月氏:現在はDb2 User Networkという定期的な技術者コミュニティを開催していますので、ぜひノウハウや技術情報の共有の場として利用していただきたいです。

少し気になるところ

cap
「オープン系のDb2 for LUWがRACのようにもう少し手軽に使えるようになれば……」(三森氏)

谷川氏:先ほど、Db2の気に入っている点についていろいろ挙げていただきましたが、逆に「ここはイマイチ」「ここがもっと良くなればなあ」と感じているようなところはありますか?

齊田氏:個人的には、参照制約周りでたびたび面倒な操作を強いられるのが少し気になりますかね。

一同:あるある。

三森氏:あと、オープン系のDb2 for LUWに限った話なんですが、pureScaleを使ったアクティブ・アクティブ構成をとるためにInfiniBnadといった専用ハードウェアが必要で、ちょっと敷居が高すぎるのではと常々感じていました。現在ではそのあたりの制約はかなり外れてきているようですが、それでもOracle RACのようにもう少し手軽に使えるようになれば、私たちパートナーとしてもお客様への提案の幅が広がると思います。

大月氏:確かに、かつてのpureScaleのハードウェア要件はかなり限られていましたが、現在ではそうした制約はほぼ取り払われ、InfiniBandではなく、TCP/IPだけで内部通信できるようになりましたので、導入のハードルは低くなっています。また性能の面でも、少し前に検証した際は、TCP/IPを内部通信に使い、さほど大きくないクラスターで、秒間2000トランザクションぐらいまでは追随できていましたね。developerWorksにも、「pureScaleをクラウド環境で動かしてみよう」と、AWSでpureScaleを動かしてみた記事を書いたので、ぜひご参照ください。

新田氏:監視系の機能も、もうちょっとかゆい所に手が届くといいなあと感じることがあります。例えば、最近パッケージ・キャッシュ・ステートメントレベルのモニター表関数「MON_GET_PKG_CACHE_STMT」ができて、デルタ値が取れるのではないかと期待していたのですが、SQLが終了したときにまとめて情報が書かれる仕様になっていて、実行途中のモニタリングができないのがちょっと残念でした。

佐藤氏:私もその点についてはちょっと気になりますね。メインフレーム版のDb2ではSMFという機能を使って常時トレースできますし、その粒度も細かく指定できるのですが、Db2 for LUWではその時点でのスナップショットしか見れないので、ちょっと不便に感じることがありますね。

谷川氏:メインフレームからの流れを考えると、Db2は監視機能が極めて充実しているイメージがあったのですが、中にはそうとも言い切れない部分もあるんですね。

大月氏:確かに、本番運用に負荷を掛けずに個々のイベントのモニタリングを行う機能は、zに比較すると、LUWにはまだ足りないところかもしれません。でもそのかわりに、統計的なビューを充実させて、後はSQLで工夫してレポート的なものを出したり、もしくは累積値で累積していって、それを分かりやすいレポートの形で可視化できるような、ベーシックな機能を提供している感があります。その一方で、エンタープライズ・マネージャのような、もっと簡単に見えるようなものが欲しいという声もあって、リアルタイムで見ることができるData Server Managerを提供しています。最近は、クラウド上のDb2や、Dockerイメージで提供されるDb2にも、このData Server Managerが入っていて、すぐ使えるようになっています。

cap
「かつてのpureScaleのハードウェア要件はかなり限られていたが、現在ではそうした制約はほぼ取り払われ、InfiniBandではなく、TCP/IPだけで内部通信できるように。導入のハードルは低くなった」(大月氏)

 ***

 以上、Db2に関しては一家言持つコアなユーザー同士が集まっただけあり、熱い意見が飛び交う“濃い”座談会となった。なお後編では、気になる機能や最新の機能について、さらにマニアックな意見が交わされた模様をお届けする。

後編へ続く

【関連記事】
IBM Db2を選んでみたらこうなった
Db2の新たな方向性にデータベース技術者が思うこと
そろそろ、HTAPの話をしよう
今度こそ更新系と分析系は統合できるか?IBMが考えるHTAPのアプローチと現実

関連リンク

著者プロフィール

  • 丸毛透(マルモトオル)

    インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。  

  • 吉村 哲樹(ヨシムラ テツキ)

    早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。

  • DB Online編集部(ディービーオンライン ヘンシュウブ)

    DB Online編集部 翔泳社 EnterpriseZine(EZ)が提供するデータベース/データテクノロジー専門メディア「DB Online」編集部です。皆様からの情報お待ちしています。 Twitter : https://twitter.com/db_online Facebook : http://www.facebook.com/dbonline.shoeisha

All contents copyright © 2007-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5