新しいDb2 for i クライアント Mapepire
8月30日に、IBMは「Mapepire」というクラウド、コンテナ、OSS言語(Python、Node.js、Java)に対応したDb2 for i クライアントのTechnology Previewを発表しました。
Mapepireは「シンプルさとパフォーマンスを念頭に置いて構築された、クラウド対応の IBM i データベース アクセス レイヤー」とGitHubページに記載されています。詳しくはGitHubページのほか、下記を参照ください。
- ITJungleの記事「BM Introduces Mapepire, The New Db2 For i Client (英語)」
- worksofliam/blog Mapepire: A new IBM i database client #68 (英文)
見慣れない単語ですが、Mapepireは「マパイアー」? (‘mapəpɪə’ or ‘MAH-pup-ee’)と発音(動画で聞く)するらしく、ロゴは南アメリカに生息する毒マムシを表しています。
Mapepireは、一言でいうとUNIX ODBCおよびJDBCドライバーの代替です。GitHubでは下表のようにMapepireとJDBCおよびODBCを比較しています。
JDBC | ODBC | Mapepire | |
---|---|---|---|
必要なポートは1つだけ | ✅ | ||
データは常に暗号化される | ✅ | ||
システム出口点で管理可能 | ✅ | ✅ | ✅ |
強化されたCCSIDサポート | ✅ | ✅ | |
WatsonX.ai Jupyter Notebooksで実行 | ✅ | ||
軽量コンテナで実行 | ✅ | ✅ | |
複数のClient言語を直接サポート | ✅ |
以下はざっとGitHubを眺めた個人的な感想です。
従来のDBドライバーより優れている点
- Secure web socketsで実装しており、可搬性に優れている。
- 動作が軽くレスポンスが高速。ODBCとのパフォーマンス比較はこちら(英文)。
- プラットフォームへの依存性が低く、クラウドでの利用やコンテナ化が容易。
- クライアントにDBドライバー(ODBCのような)のインストールが不要。
懸念点
- RPG(ILEを含む)からは利用できず、プランにも記載なし。
- 現時点でTechnology Previewであり、本番業務に採用しにくい。
- 通信を暗号化するため証明書管理が必要。自動的に自己署名証明書を生成する機能があるが、この検証は現在サポートされていない。
YouTubeの動画やリスキリング資料でWebサービス・サーバーの簡易パフォーマンス調査をしたことがあります。
IBM i がサーバーの場合、TCP/IP経由で高密度のDBリクエストが発生すると、DBサーバー・ジョブであるQZDASOINITが大量に生成され、これが一定数に達するとリクエストをさばき切れなくなりました。Mapepireでこのような状況が改善される可能性があります。
RPGがネイティブでサポートされないのは残念(ILE-RPGからJavaメソッドを呼び出せば使えるかも)ですが、今後が楽しみです。