ISVの付加価値を高める「SAP SQL Anywhere」が、既存OEMパートナーや他のSAP製品の要望を取り入れバージョンアップ


こんにちは、SAPジャパンの伊藤です。データベース管理が不要でライセンス料も、ハードウェアコストも削減できるISV(Independent Software Vendor: 独立系ソフトウェアベンダー)の皆様にとっては夢のような自己管理型RDBMSの最新版「SAP SQL Anywhere 17」が、その特長であるデータベースの自律機能をさらに強化して8月にリリースされました。今回はそのSAP SQL Anywhereの最新版についてご紹介します。

業務特化のアプリケーションや中堅・中小企業を開拓したいISVに最適のデータベース

SAPの隠れたベストセラーであるSAP SQL Anywhereは、すでにこちらこちらのブログ記事でも紹介されているように、軽量・低コストでありながらエンタープライズレベルの性能を備えた自己管理型データベースで、日本市場でもすでに20年以上の長い歴史と多くの実績を誇ります。アプリケーションへの埋め込みが容易なため、多くのパッケージソフトにバンドルされるだけでなく一歩踏み込んでアプリケーションへ埋め込まれる形で販売されています。その上非常に安定して稼働するため、アプリケーションの裏でSAP SQL Anywhereが稼働していることに気づかれているエンドユーザーはあまりいないかもしれません。

会計事務所や企業の経理部向けの会計パッケージ、土木積算パッケージ、介護施設向けパッケージ、レセコン、貿易・通関業務パッケージなど業務特化のパッケージから、ネットワーク管理ソフト、バックアップソフト、BIツール、開発ツール、GISソフトなど様々なソフトウェアパッケージに採用されています。すでにグローバルで1,200万を超えるインストール/配備実績を見ても、その活用範囲の広さや使いやすさが多くのISVに受け入れられていることがわかります。

アプリケーションの要であるデータベースにおいて、使い慣れているデータベースから別のデータベースへ切りかえるにはたいへん勇気がいることだと思いますが、2013年(毎年行われている調査ではありません)のIDC調査レポートでは、SAP SQL Anywhereを新たに採用したISVは、製品コスト56%削減かつ売上21%アップ、オペレーショナルコスト20%削減、ROI 389%、これら売上の向上とコスト削減により、他のテクノロジーからの切り替えコストを6か月で回収、という圧倒的なコスト効果が報告されています。

自己管理型であるSAP SQL Anywhereの最大の特長は、他のアプリケーションとの共存も考慮し、動作環境をデータベース自身が自動的に検知してパフォーマンスを最適化するように設計されている点です。具体的には、キャッシュサイズの自動チューニング、マルチプログラミングレベルの自動チューニング、クエリープランの動的な適応、共通する多くのタスクの自動化、自動統計情報メンテナンスと修復など、通常専任のデータベース管理者が行うことをSAP SQL Anywhereが自動的に実行します。一般的なデータベースの知識さえあれば、新たに採用するSAP SQL Anywhereデータベースの開発・運用・管理のトレーニングに多大な時間を費やす必要もなく利用できるため、ISVは自社のアプリケーションの開発と運用に集中することができます。

さらに、SAP SQL Anywhereには以下のような特長もあります。

① 軽量ながら大規模システムでも利用可能なフルスペックのデータベース機能を装備:

具体的にはクエリー間の並列処理によるOLTPとOLAP再帰UNION、共通テーブル式、MERGE命令、WINDOWクエリー、テーブル関数、SEQUENCEサポートなどの豊富なSQLクエリーのサポート、標準タイプから、完全な空間エンジンによる空間データタイプ、全文検索(述語、ワイルドカード、類似検索など)、OPENXMLを介したXPATHクエリーによるXMLタイプ、ROWおよびARRAYタイプまでデータタイプをフルサポート、(ISO SQL規格に基づく)2つの方言:Transact-SQLとWatcom SQLのSQLストアドプロシージャーおよびトリガーをサポート、Java、.NET(共通言語ランタイム)、PHP、C/C++などの外部環境プロシージャーのサポート、プロキシテーブル、機能補償、クエリーエンジンのフェデレーションなどのリモートデータアクセス(CIS)、さらにはビルトインのHTTPサーバー、SAP SQL Anywhere OData Producer、トランザクションログに挿入、更新、削除などを含むロギング、データベースミラーリングによるHAおよび読込専用のスケールアウト(ログシッピングベース)、インメモリーモード、なども実装しているため、小規模から大規模向けのパッケージまで様々な需要に対応したパッケージを同じデータベースで開発することができます。TPC-Cのベンチマークで証明されているとおり(2015年11月現在価格性能比においてNO.1)、高価なハードウェアでなくとも大規模データ、大規模ユーザーを扱うことが可能なため、エンドユーザー様企業の事業規模拡大とともに別のデータベースへ変更する必要もありません。

② WindowsからLinux、UNIX、Macなど多種プラットフォームに対応:

SAP SQL Anywhereの最大の特長の一つに、サポートしているこれらプラットフォーム間をファイルコピーのみで簡単にデータベースを移動できることがあります。様々なOSをサポートするパッケージの開発や運用が容易にでき、多くの既存OEMパートナーより高く評価されています。
最近ではARM Linuxのシングルボードコンピューティング上で稼働するDebianもサポートプラットフォームに追加されました。

③ インストールが簡単で、デフォルトで高速パフォーマンスを発揮すること:

データベース単体のインストールが容易で特別な設定をしなくとも高速稼働するという大きな特長にプラスして、サイレントインストール、インストレーションプログラムやアプリケーションに埋め込むことができるデプロイメント用ウィザード、事前にコンフィグレーション済みのデータベースファイルの配備など様々な配備方法が用意されているため、複数拠点への短期間での展開や、専門知識のないユーザーによるインストールも容易に行え、ISVの負担を大きく削減します。

④ SAP HANAなどの異種のデータベースや他システムとも容易に連携:

SAP SQL Anywhereのパッケージに含まれるMobile Link同期ミドルウェアを使用すると、複数のSAP SQL Anywhereと異種のデータベースとの間で双方向にデータ同期をすることができます。この同期テクノロジーは、競合解決とスケーラビリティーに優れ、統合データベースと、何万ものリモートデータベースとの同期が可能です。しかもウィザードベースで簡単に同期設定することができます。この技術を利用し、代理店などネットワーク環境の整っていない地域の拠点サーバーに分散するSAP SQL Anywhereのデータを本社やクラウドの基幹のデータベースと随時シームレスに同期させることにより、拠点でも本社でもリアルタイムにデータを活用することができます。また、モバイル端末上のデータベースのデータと基幹のデータベースとをシームレスに同期させることによって、オンライン、オフラインを意識しない柔軟なデータ活用が可能になり、ストレスなく現場での業務を遂行することができます。データベースと通信のどちらもデータを暗号化することが可能なため、特に重要なデータを扱う場合に有効です。
この軽量なSAP SQL AnywhereデータベースサーバーとMobile Link同期テクノロジーの組み合わせは、リモートのナローバンド環境における複数のセンサーデータの企業システムへの活用の可能性を拡大するものとして、SAPのIoT戦略でも大きく注目を集めています。

⑤ クラウドへの展開が容易:

SAP SQL Anywhereのクラウド版であるSAP SQL Anywhere, on-demand editionを使用すれば、クラウド独自のデータベースの制約もないため、ISVはオンプレミス用に開発したアプリケーションを変更することなく、マルチテナント対応の管理ツールを利用してクラウドのアプリケーションサービスを容易に提供することができます。

SAP SQL Anywhereを採用しているアプリケーションのニーズを取り込んだ最新リリース

 

今回リリースされたバージョン17では、SAP SQL Anywhere の開発コンセプトであるパフォーマンス、セキュリティ、可用性、開発フレンドリー性の向上、そして、同時に使いやすいこと、埋め込みやすいことはそのまま、SAP SQL Anywhereを採用されている既存のOEMパートナーであるISVからの要望はもちろんのこと、SAP BusinessObjectsやSAP IQなどSAP SQL Anywhereを社内OEMしているSAPの様々な製品、IoTなどSAPが力を入れている重要戦略のマーケットニーズを取り込んだ幅広い機能強化が図られています。

以下では、数百種類にもおよぶSAP SQL Anywhere 17の新機能の中から、少し細かくなりますが大きく6つの領域に分けてご紹介します。
(以前のバージョンの強化点については、こちらをご参照ください)

ツール

• SQL Anywhere Cockpit:サーバーの可用性、キャパシティ、パフォーマンスを監視するためのWebベースのインタフェースです。
• SQL Anywhere プロファイラー:サーバーにある様々なパフォーマンスやチューニングのデータをまとめ、アプリケーションやデータベースのチューニングやトラブルシューティングをより容易に行うための開発ツールです。

パフォーマンス

• CPU変更の自動検出:システムに動的に新しく追加(あるいは取り除かれた)CPUを検出し、サーバーを再起動しなくともそれらのCPUを適切に使用できるようになりました。
• ミラーリングパフォーマンス: 特にプライマリサーバーへの大量の挿入、更新、削除の際に、ミラーまたはコピーノードのチェックポイントパフォーマンスが向上しました。
• インタフェース:ODBC、.NET、JDBC、Ruby、PHP、OLEDB、JavaScript、NodeJS、Perlなど、SQL Anywhereの様々なインタフェース全てを分析し、パフォーマンス向上に取り組んだ結果、データのフェッチやインサートがさらに高速になりました。
• パラレルリカバリ:データベースリカバリのフェーズにおいて、マルチコアマシンをより効果的に使用できるようになりました。
• プリフェッチ:プリフェッチの速度が向上しました。クライアント/サーバーのラウンドトリップの削減やサーバー上で処理に必要なローが異なるリクエストに対しても多くのローが使用できるようになったことにより、スループットが向上し、全体のパフォーマンスが向上しました。

セキュリティ

• パスワードプロテクションの強化:dbinitとCREATE DATABASE文ではデフォルトのDBAユーザー名とパスワード(DBA/sql)は使用しないこととし、デフォルトのパスワードの最少文字数を、3から6に変更しました。新しいデータベースを作成する場合には、DBAユーザー名とパスワードが必要になります。さらに、ユーザーがパスワードの最少文字数を特定することができるオプションを追加しました。
• データベースの独立性:データベースサーバーのためのデータベースの独立性のサポートを追加しました。1つのSQL Anywhereサーバーで複数のデータベースが稼働する環境において、新規に追加されたデータベースの独立性機能を有効にした場合には、それぞれのデータベースが、そのデータベースサーバー上で唯一のデータベースであるような動作をするようになります。

可用性

• Alter/drop プロシージャー:以前のバージョンでは、実行中のプロシージャーに対して、alter, replace, dropを試みてもエラーになりましたが、alter, replace, dropが成功するようになりました。現在は、そのプロシージャーが実行を開始した時のプロシージャーの定義を使用します。新しいバージョンでは、alter、replace、またはdropが、新しい定義のプロシージャーをコールするようにしました。
• オンライン中のDB再構成:本番データベースをデータベースが稼働している最中であってもデータベースの再構成が可能になり、ダウンタイムを減らせるようになりました。
• Point-in-timeリカバリ:特定のタイムスタンプ、またはトランザクションログのオフセットにデータベースをリストアできるようになりました。
• TCP-IP/HTTPの動的開始/停止:データベースサーバーが起動中の接続リスナのスタートとストップをサポートします(データベースのアップグレードまたは再構築が必要)。—つまり、HTTP、HTTPS、TCP/IP、シェアードメモリ接続リスナをデータベースサーバーの再起動なしに開始・停止できるようになりました。

新規サポートのSQL機能

• PIVOT/UNPIVOT:pivoted- または unpivoted-derivedテーブルを作成する際、クエリーのFROM句の中で、PIVOTとUNPIVOTの2つの句を使用してテーブルデータをpivot、unpivotすることができるようになりました。Pivot すると、カラムデーターはローに入れ替えられ、データをビジネスのニーズにとって意味のある方法で集計できます。Unpivotは、同様のオペレーションですが、ローデータをカラムに入れ替えます。Unpivotは、正規化されていないデータを正規化するのに便利です(例えば、他のデータとjoinされていなければならない同様のデータのカラムのいくつかなど)。
• DECLARE VARIABLE LIKE:他のオブジェクトのデータタイプをベースにし、%TYPEと%ROWTYPE属性を使用してデータタイプを定義することができるようになりました。カラムのようなスキーマオブジェクトを作成する際には、テーブルまたはビュー内のカラムのデータタイプに対して%TYPE属性を使用して作成またはalteringしているオブジェクトのデータタイプを設定します。テーブルまたはビュー内のローの複合データタイプに対してデータタイプを設定する場合には、%ROWTYPE属性を使用して、データタイプを設定します。変数を作成する場合には、%TYPEと%ROWTYPE属性を使用して、変数やカーソルのようなテンポラリーオブジェクトのデータタイプに対してデータタイプを設定することができます。
• FETCH INTO <row var>:SELECT 文に、INTO VARIABLE句が含まれ、新しいテーブルの明示的な作成をサポートするために、ロー変数とINTO TABLE句の特定をサポートしました。
• ユーザーロック:ユーザー定義のミューテックスやセマフォをアプリケーションロックの中に構築できるようになりました。これによりリソースの可用性に関してコミュニケーション、制御、そして、ロッキングの動作ができるようになりました。

開発者向け強化点

• ODataの強化:SQL Anywhereデータベースサーバー自体がOData サーバーとして機能するようになりました。今後は、この機能がこれまでのODataサーバユーティリティにかわることになります。さらに、ODataプロデューサは、OData Service Definition Language (OSDL) の幅広いサブセットをサポートしました。
• Javascript 外部環境:SQL Anywhereにおいて、JavaScriptストアドプロシージャーと関数をサポートしました。
• Node.JSとPythonドライバー:SQL Anywhere Node.jsドライバーによって、JoyentのNode.jsソフトウェアプラットフォーム上でJavaScriptを使用して、データベースに接続し、データベース上でクエリーを実行することができるようになりました。さらに、PythonのオフィシャルパッケージインデックスであるPyPIをとおして3つのSQL Anywhere Pythonドライバーが利用可能になりました。
• SAP PassportのサポートとNCSLibロギングに対応しました。
• 統合DB :Mobile Linkは、SAP (ASE、IQ、SQL Anywhere)、Oracle、Microsoft、IBM、MySQLのバックエンドデータベースをサポートしていますが、バージョン17では、さらにOracle 12.1、ASE 16、SS 2014、MySQL 5.6.20、IBM DB2 10.5をサポートしました。
• SAP HANAとの統合:2015年7月にリリースされたSAP HANA SPS 10にMobile Linkサーバーの機能が、SAP HANA Remote Data Syncとして実装されました。これにより、HANAプラットフォームのインフラストラクチャへより強固に統合されました。(ポート番号の割り当て、ライフサイクルマネジメント、ネームサーバの統合、ライセンス管理、モニタリングの統合など)。この機能を活用することで、リモート環境にあるSQL Anywhere にIoTなどのデータを収集して現場で必要な分析、予防保全のアクションを実施したり、SAP HANAへデータをセキュアに取り込み会社全体の分析などに活用することができます。また、HCP (HANA Cloud Platform)にもMobile Linkサーバーが実装されたため、同様のことがHCPでも可能です。

HANA_SPS10_RDSync

HANA_SPS10_RDSync

最新版のSAP HANA SPS 10に実装されたRemote Data Sync機能

 

各調剤薬局に点在するSAP SQL AnywhereのデータをMobile Link同期テクノロジーで本社へ統合した中規模ドラッグストアチェーンでの活用事例

最後に、SAP SQL AnywhereのデータベースとMobile Linkの同期ミドルウェアを採用されたOEMパートナー様の「調剤薬局向け」パッケージソフトの事例を、1つ簡単にご紹介します。
これは、それぞれの調剤薬局において処方せん入力や電子薬歴(服薬指導、服薬状況)、経営管理を行うパッケージソフトで、専任のIT管理者や高価なサーバーを置けない薬局で、自律的に稼働する自己管理型のSAP SQL Anywhereは最適でした。
このOEMパートナー様では、ドラッグストアチェーンへの販売を拡大するため、Mobile LinkをOEM契約に追加され、各ドラッグストアに点在するSAP SQL AnywhereのデータをMobile Linkのデータ同期ミドルウェアを使用して、本部でデータの集約管理をすることができる機能を追加されました。

このように、SAP SQL Anywhereは「軽量」「高性能」「データベース管理者不要」、そして「高安定性」が評価され、パッケージソフトに数多く採用されています。そして、そのほとんどはISVとのOEM契約を通じて提供されています。自社開発のアプリケーションに、使いやすく高機能で手離れがよい、しかもコストをトータルで大幅に削減するデータベースをお探しのISVは、ぜひこの機会にSAP SQL Anywhereの採用とOEM契約をご検討いただければと思います。

SAP Community Network に掲載している技術記事もご参照ください。