DB2 Stingerがやってくる

近く登場する新機能の紹介

DB2 UDBの次のリリースStingerは、オンデマンド・ソリューションの価値実現までの時間を短縮する新機能を満載しています。Stingerには、アプリケーション開発機能の強化、完全自動のオペレーションと管理容易性における大幅な改善、高可用性、セキュリティーなど、数多くの機能が盛り込まれています。

Paul Zikopoulos (paulz_ibm@msn.com), Senior Database Specialist, IBM Toronto

Paul Zikopoulos photoPaul C Zikopoulos(BA、MBA)氏は、IBM Database Global Sales Supportチームで優れた執筆や講演活動を行っています。DB2 UDBの経験は9年以上に及び、DB2 UDBについて数多くの雑誌記事および書籍を執筆しています。共著に、『DB2 - The Complete Reference』、『DB2 Fundamentals Certification for Dummies』、『DB2 for Dummies』、『A DBA's Guide to Databases on Linux』および『DB2 Version 8: The Official Guide』があります。Zikopoulos氏は、DB2公認上級テクニカル・エキスパート(DRDAおよびクラスター/EEE)、ならびにDB2公認ソリューション・エキスパート(ビジネス・インテリジェンスおよびデータベース管理)です。同氏の連絡先は:paulz_ibm@msn.com



2004年 4月 08日

はじめに

最近、IT関連の雑誌を開いたり、IBM®DB2®Universal DatabaseTM (UDB) の説明会に参加した経験があるなら、「Stinger」について間違いなく見聞きしているはずです(「Stinger」とは、Linux、UNIX®およびWindows®向けのDB2 UDBの次リリースのプレビューに対するニックネームです)。

Stingerは、アプリケーション開発機能の強化、「完全自動」のオペレーションと管理容易性の大幅な改善、高可用性機能、セキュリティー機能など、DB2 UDBソリューションの価値実現までの時間を短縮する約175の新機能を満載しています。Stingerには、多くのベンダーが新バージョンに入れるよりも多くの機能が盛り込まれています。

この記事では、これらの機能の一部を全体的な観点から示し、それらの機能がどのように役立つかについて説明したいと思います。この記事を読んで、Stingerについてさらに知りたくなった場合は、http://www.ibm.com/db2/stingerのStinger Buzz Central WebサイトにアクセスしてStingerのコピーを取得することをお勧めします。この記事を読む際、ここで説明している機能はプレビューされている機能であることに注意してください。つまり、ここでは説明できない(一部は非常に重要な)機能が他にもたくさんあります。


アプリケーション開発機能の強化

Stingerリリースは、オンデマンドe-businessデータベース・アプリケーションの構築と配置関連の開発サイクルを簡素化し、コストを最小化にすることによって、アプリケーション開発ライフサイクルを加速します。

アプリケーションおよびデータ・モデリングのため、Microsoft Visual Studio .NET、WebSphere® Studio Application Developer、Eclipseフレームワーク、Rational®Developerツールキット(.NETとJavaTM両方に対する強化を含む)など、世界で最も広範に使用されている統合開発環境(IDE)用の開発プラグインに多くの労力が注ぎ込まれています。開発者がDB2 UDBアプリケーションを開発するために新しいIDEやプログラミング・モデルを学ぶ必要がないように、DB2 UDB開発チームは多大な努力をこれらのプラグインに注いでいます。

私たちは、これまで長い間.NET開発者向けのStingerアプリケーション使用可能化テクノロジーをプレビューしてきました。Stingerは、Microsoft共通言語ランタイム(CLR)に基づいた.NETストアード・プロシージャーをサポートすることにより、DB2 UDB .NET開発者の作業の幅を広げます。CLRは、コード実行サービス(例えば、メモリー管理、スレッド実行、コード実行、コード安全性検証など)を提供する仮想マシンです。JavaでのJava仮想マシン(JVM)に相当するものが.NETでのCLRです。

Stingerでは、開発者は、カプセル化したビジネス・ロジックをC#またはVisual Basic .NETで記述することができ、そのロジックをデータベースでネイティブに実行して管理することができます。DB2 UDBの.NET開発者向け機能(多数あり)になじみがない読者は、Abdul Al-Azzaweによる各種の記事とチュートリアルを参照してください。

.NETルーチンの構築を支援するため、新しいDB2クラス・ライブラリー・オブジェクトがVisual BasicおよびVisual C#®プロジェクト・フォルダーに追加されました。このオブジェクトは、IBM.Data.DB2管理プロバイダー・アセンブリーへの自動プロジェクト参照機能および簡単なCLRメソッドの組み込み例を備えた、標準C#クラス・ライブラリー・テンプレートに基づいています(Visual Basic DB2クラス・ライブラリーはもちろん、Visual Basicテンプレートに基づいています)。

図2. DB2クラス・ライブラリーのアイコン
図2. DB2クラス・ライブラリーのアイコン

DB2クラス・ライブラリーのプロジェクト・テンプレートを使用して新しいクラス・ライブラリー・プロジェクトを作成すると、DB2Class1.csファイルも同時に作成されます。このファイルには、CLRプロシージャーのDB2必須シグニチャーを持つデフォルトのCLRメソッドが含まれています。これを定義すると、.NETベースのストアード・プロシージャーを構築する準備が整います。もちろん、これを補助するウィザードがあり、ウィザードはソリューションにあるCLRプロジェクトのリストを自動的に検出し、そこから有効なDB2 CLRプロシージャーに適したクラスおよびメソッドを検出することができます。

図3. デフォルトのCLRウィザード
図3. デフォルトのCLRウィザード

CLRメソッドを定義した後、CLRプロシージャーを含んでいるアセンブリーがローカルまたはリモートDB2 UDBサーバーにデプロイされることを確認する必要があります。DB2データベース・プロジェクトは、読者のご期待どおり、必要に応じてプロジェクトのビルド時にサーバーに自動的にデプロイされるアセンブリーの管理もサポートしています。これによりアセンブリーは、修正された(または初めてビルドされた)ときのみサーバーにデプロイされます。

図4. CLRアセンブリー
図4. CLRアセンブリー

ネイティブCLRサポートは、.NET開発者にとっては氷山の一角にすぎません。IBM Explorerプラグインは、表、ビュー、索引を作成する機能、DB2 UDBオブジェクトのDDLの自動生成、再使用可能データ・アダプター、ネットワーク上のDB2 UDBデータベースの自動検出など、非常に強力なスキーマ操作により強化されています。

新しい.NET強化機能についての詳細は、以下をご覧ください。

http://www.ibm.com/developerworks/db2/library/techarticle/0311alazzawe/0311alazzawe.html

SQL/PLでロジックをプログラムする開発者は、コード開発のための分散ワークステーション上でネイティブCコンパラーがもはや必要ないことを知って喜ばれるに違いありません。StingerにはSQL/PLをバイト・コードとしてエンジンで実行するオプションがあります。このインプリメンテーションによって、パフォーマンスが向上し(バイト・コードはDB2 UDBカタログに入るため、コンパイルされたバージョンと同等以上に効率的になります)、コンパイラーのセットアップやルーチン展開のためのGETおよびPUTルーチン関数使用の複雑さが軽減されます。今では、DB2 UDBを分散プラットフォームにインストールして(z/OSに対するコンパイラー前提条件を取り除くためのサポートを準備中です)CREATE PROCEDUREステートメントを実行するだけで、SQL/PLルーチンをビルドできます。

現在のSQL/PLアーキテクチャーは、次のようになっています。

図5. SQL/PLアーキテクチャー
図5. SQL/PLアーキテクチャー

Stingerでは、さらに簡単になります。

図6. StingerでのSQL/PLアーキテクチャー
図6. StingerでのSQL/PLアーキテクチャー

さらに、SQL/PLストアード・プロシージャーの開発を容易にするため、DB2 UDBは2 MBまでのステートメントをサポートする予定です。64 KBという以前の上限から、ユーザーにとってありがたい大幅な増加です。

Stingerはまた、トリガーからのストアード・プロシージャーの呼び出しも可能にします。この改善によって、開発者はトリガーごとにロジック・コードを再コーディングする必要なしにコードをカプセル化してトリガー間で共有できるので、ロジック・コードが簡単になります。

その他のStingerの強化機能には、切り替え可能な生成列、ネストされたセーブ・ポイント、グローバル・タイムアウト設定を無効にするためにステートメント・レベルで待ち時間を設定する機能、ステートメントを実行時に動的に最適化する機能(統計情報が頻繁に変わるキー表に便利)があります。


DB2 UDB情報

DB2

UDBインフォメーション・センターは、オンライン・ヘルプにEclipseフレームワークを使用するために完全にリニューアルされました。このフレッシュな新インターフェースは、使いやすいインターフェースで超高速の検索メカニズムを実現しています。

図7. DB2 UDBインフォメーション・センター
図7. DB2 UDBインフォメーション・センター

このヘルプ・システムを今すぐに使用することができます。次のURLにアクセスしてください。
http://publib.boulder.ibm.com/infocenter/db2help

これに加えて、DB2 UDBヘルプは現在、Google検索エンジンにカタログされ、検索可能になっており、DB2 UDBに関する検索でヒットしたものがこのオンライン・ヘルプ・システムにリンクされます。

図8. DB2 UDBデータのGoogle検索
図8. DB2 UDBデータのGoogle検索

セキュリティー

Stingerは、DB2 UDB下のオペレーティング・システムまたはKerberosサポートのセキュリティー・システムを拡張する、広範なプラグイン・フレームワークとともに出荷されます。新しいプラグイン・アーキテクチャーによって、あらゆるグループ・メンバーシップを処理する認証メカニズム、クライアント側認証、またはサーバー側認証の操作を完全にカスタマイズすることができます。本質的に、GSS-APIに従ってコーディングすれば、セキュリティー管理者は、このインターフェースに対応するサポートされているセキュリティー・メカニズムならば、ほぼどれでも実装可能です。例えば、LDAP権限ルックアップを利用するプラグインを書くことができます。

DB2 UDB for Windowsユーザーは、Stingerでのセキュリティー変更の一部を歓迎するでしょう。例えば、以前のDB2 UDBではユーザー名に含められなかった文字がサポートされるようになります。

さらに重要なことは、DB2 UDBがWindowsローカル・システム・アカウント(LSA)をサポートし、それをシステム管理者として認識するようになることです。これによって、DB2 UDBにアクセスするときに、外部化ユーザー・アカウントを指定したり作成したりする必要なしに、(DASスケジューラーを含めた)DB2 UDBアプリケーションをこのアカウントで実行することができます。

最後に、Stingerは、2つのパートでできたユーザー名をサポートします。このサポートによってDB2 UDBは、認証時に <ドメイン名>\<ユーザー名> のフォーマットを理解できるようになります。以前ならば、DB2 UDBが複数ドメイン環境で動作していた場合、認証のためにDB2 UDBに渡されたユーザー名を、それが定義されている場所を見つけるために、すべてのドメイン・サーバーにブロードキャストしなければなりませんでした。このため、接続時にパフォーマンス問題が発生し、さらに、許可の競合が生じる可能性がありました。Stingerではこれらの問題がすべて解決されます。

Stingerは、クライアントとサーバー間のワイヤー上のデータを暗号化する機能も備えています。DB2 UDB for z/OSRプラットフォームまでDB2 UDBファミリー全体にわたる互換性を保つため、インプリメンテーションは、最初は56ビット暗号化になります。Stingerは、すべての関連概念をまとめた新しい添付セキュリティー・マニュアルにより、コモン・クライテリア認定についてもテストされます。


管理容易性とオートノミック

このStingerリリースには、多くの新しい管理容易性機能とオートノミック機能があります。これらの機能の主な目的は、デプロイメント作業の自動化を一層進めて管理容易性を向上させることにより、スキルのあるデータベース管理者(DBA)リソースを解放してビジネス・クリティカルな問題に集中させ、DB2 UDBソリューションの総所有コスト(TCO)をさらに削減することです。

Stingerには、バックアップ、(サンプリングを使用し、ユーザーとアプリケーションには100%トランスペアレントである)表統計収集、オンライン表再編成などの自動保守操作の必要性を警告するか、またはそれらの操作を実行できる、自動化されたポリシー・ベースのモニターが含まれます。Stingerではバックアップが自動チューニングを行い、オンライン・バックアップのためのログ・ファイルを含みます。

図9. Configure Automatic Maintenance(自動保守の構成)
図9. Configure Automatic Maintenance(自動保守の構成)

Configure Automatic Maintenanceウィザードを使用して、指定したデータベースに活動レベルなしか、または低い活動レベルの期間を定義したり、DB2 UDBが自動的に操作するサポート保守ユーティリティーを選択したり、保守が正常でなかった場合(または、DB2 UDBは保守が必要だと判断したけれど、ユーティリティーを実行させたくない場合)に通知するスタッフおよびパワー・ユーザーのグループを選択したりすることができます。

図10. コントロール・センターの表示設定:基本、詳細、カスタマイズ
図10. コントロール・センターの表示設定:基本、詳細、カスタマイズ

コントロール・センターも実行速度を速めるために大幅に強化されました。異なる表示設定(基本、詳細、カスタマイズ)を選ぶことができ、メイン・ウィンドウ・ペインに表示されるダッシュボードが組み込まれています。例えば、表スペース・コンテナー情報およびデータベースの稼働状況は、データベースを選択するとコントロール・センターのダッシュボードに強調表示されます。メニューをドリルダウンしたり展開したりする必要はありません。

図11. データベース・ダッシュボード
図11. データベース・ダッシュボード

「完全自動」管理をさらに容易にするため、Stingerには稼働状況管理に必要なメモリーのシフトに対応するために他のヒープから流用することができる拡張メモリー・モデルが含まれています。

大幅に強化されたアドバイザーは、稼働状況に関するアラートを発行し、より多くのユーティリティーをスロットルすることができます(BACKUPとREBALANCEにRUNSTATSを追加)。

Stingerにはスキーマ自動化への第一歩となる機能もいくつか含まれています。例えば、列名の変更、列の削除、列サイズの拡大、デフォルトの列値の変更など、スキーマの変更を簡単にする機能です。

DB2 UDB Design Advisorウィザードは、索引に加えて、マテリアライズ照会表(MQT)に対する推奨、パーティション・データベース環境でのパーティション・キー選択、および多次元クラスタリング(MDC)候補を含めるように強化されています。これらのアドバイザーは、ワークロードを考慮し、それをサポートするスキーマを推奨します。

図12. StingerのDesign Advisor
図12. StingerのDesign Advisor

図13は、Design Advisorのようなツールであり得る結果の例を示しています。社内の実験的なテストでは、Design Advisorは、チューニングされていないDB2 UDBデータベースのパフォーマンスを84%向上させることができました(もちろん結果は状況によって異なりますが、このテスト・ランは1 TBのデータにTPC-H照会ワークロードを負荷して行されました。データベース・サーバーは、4つの論理パーティションに分けたAIXRを動作させた8ウェイ・ボックスでした)。これらのパフォーマンス強化を達成するため、アドバイザーは、新しく20の索引、4つのパーティション・キー、2つのマテリアライズ照会表、および6次元MDC表を作成することを推奨しました。

図13. パフォーマンス改善
図13. パフォーマンス改善

高可用性

Stingerは、ビジネス・オペレーションの継続性や災害時リカバリー・サービスのためにDB2 UDB OnDemandデータベースの回復力を強化する新機能を提供します。

Stingerにおける高可用性のための最大の機能は、高可用性災害時リカバリー(HADR)です。このインプリメンテーションは、Informix®のHDRインプリメンテーションをベースにしています。HADRは、部分的なおよび全面的なサイト障害に対応する高可用性(HA)ソリューションを提供する、使いやすいデータ・レプリケーション機能です。

図14. 高可用性災害時リカバリー
図14. 高可用性災害時リカバリー

本質的には、HADRは(DB2 UDBが現在サポートしている)ログ・シッピングですが、ハード・ディスクのログからではなくログ・バッファーからのシッピングです。この方法はソリューションの高可用性要件に適した高度な細分性を提供します。

例えば、StingerのHADR機能では、3レベルのデータ保護を選択することができます。

  • Synchronous(データ損失ゼロ) − ログ・データは、スタンバイで安定したストレージにフラッシュされた後、プライマリーでコミットされます。スタンバイ・システムは、同じログがそのディクス上にあることをプライマリーから通知されるまでログを書き込みません。同時に、プライマリー・サーバーは、スタンバイがログを書き込んだとの通知を受け取るまで次のログ・フラッシュに進みません。最終的に、ログ・データがプライマリーとスタンバイのディスク上にあり、したがってデータ損失がゼロであることが確認されると、コミットが成功します。
  • Near Synchronous − このモードでは、ログ・データはスタンバイ・サイトに正常に送られることが保証されますが、プライマリーでのコミットが成功しても、データは安定したストレージにフラッシュされていない場合があります。プライマリーでのログ書き込みとスタンバイへの送信は、プライマリー・サーバーで並列に実行されます。このモードでは、ログ・データがプライマリーのディスク上にあり、スタンバイ・サーバーによって受信されると、コミットは成功します。このモードではデータ損失の可能性がありますが、両方のサーバーでほとんど同時に何か問題が起こった場合のみです。
  • Asynchronous − このモードでは、データ損失を保護する程度が最も低くなります。非同期HADRセットアップは、ログ・データがTCP/IPスタックに渡され、ソケット送信呼び出しが正常に戻されたことのみ保証します。ここで注意する必要がある重要なことは、ソケット送信呼び出しの戻りは、呼び出しがスタンバイ・サーバーによって正常に受信されたことの確認ではないため、接続が切断されると、スタンバイはプライマリー・サーバーが送信したものをすべて受信していない可能性があるということです。ただしこのモードでも、TCP/IPソケットは送信順を保証するため、ソケットが正常に機能している間は、スタイバイ・サーバーから見てパケットの損失や順番の間違いはないという点で、ある程度の保護は保証されます。このモードでは、プライマリーでのログ書き込みおよびスタンバイへの送信はプライマリー・サーバーで並列に実行され、ログ・データがプライマリーのディスク上にあり、データがスタンバイに送信されると、コミットは成功します。
図15. HADRのステータス
図15. HADRのステータス

DB2 UDB製品に組み込まれる新機能のすべてでDB2 UDBの基本姿勢である「使いやすさ」を保つため、グラフィカル・ウィザードを使用してHADRシナリオ全体をセットアップし管理することができます(例えば、サイト障害の後のプライマリー・サーバーとスタンバイ・サーバーとの再同期)。

図16. Configure Database Logging(データベース・ロギングの構成)ウィザード
図16. Configure Database Logging(データベース・ロギングの構成)ウィザード

HADRによって、停止する必要なしに稼働中にアップグレードを行うこともできます(例えば、DB2 UDBまたはオペレーティング・システムのアップグレード)。

クライアント・リルートは、HADRばかりでなくDB2 UDBのどの災害時リカバリー・スキームとでも作動するStingerのもう1つの新機能です。プライマリー・データベースの停止が発生しても、アプリケーションはこの問題をエンドユーザーに通知することはなく、カタログされているセカンダリ・サーバーに切り替え、再接続を発行します。厳しいサービス・レベルの合意(SLA)を結んでいるDBAは、この新機能を大歓迎することでしょう。


DB2 Stingerのその他の機能

Stingerには、ほかにもこの記事では網羅しきれなかったたくさんの新機能があります。その中でも特に注目されそうな機能についていくつか示します。

  1. 高可用性および高速レプリケーション・スキームのために、WebSphere MQRを使用したQベースのレプリケーション
  2. 新しいDB2 Geodetic Extender(Informix Geodetic DataBladeのDB2 UDBポート)でのDB2 UDB「位置情報対応」の拡張。このエクステンダーは、DB2 Spatial Extenderで使用可能な従来の緯度/経度投影よりも豊富なロケーション・セマンティクスを付加します。
  3. (大幅に強化されたSQLJサポートを含む)新しいDB2 UDBユニバーサル・ドライバーでのJ2EE 1.4およびJDBC 3.0準拠
  4. 64ビットLinux用のDB2 UDBをどこでも実行可能にする2.6 Linuxカーネルのサポート
  5. 各種OLTPパフォーマンス拡張機能、Informix 4GLからIBM EGLへのツーリングおよびツールキットなど、数多くのInformix互換機能
  6. DB2 UDBサーバーにDB2 Everyplaceの機能を与えるMobilityOnDemandにより、どこでも、いつでもインフォメーション・オンデマンドを実現(これはStingerの新機能ではありませんが、DB2 UDB v8.1.4で付加されたこの機能は注目に値します)

この記事によって、私たちIBMデータベース開発チームが取り組んでいることについて理解していただければ幸いです。ぜひ、登録してStingerのコピーをダウンロードし、その素晴らしい機能のすべてをご自身で試してみてください。


謝辞

この記事およびこの記事で説明した機能の開発作業に尽力してくださったAbdul Al-Azzawe氏、 Dale McInnis氏、Peter Kohlman氏およびGwyneth Evans氏に心からの謝意を表します。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=326158
ArticleTitle=DB2 Stingerがやってくる
publish-date=04082004