SQL Anywhereは、SAP社のRDBMS製品の一つです。もともとは、旧Sybase社(アイエニウェア・ソリューションズ株式会社)の製品でした。
その名の通り、動作するプラットフォームが多彩で、Windows、Windows CE、MAC OS、Linux、AIX、HP-UX、Solaris、Armで使えます。
また、他環境への移行は、基本2つのファイルだけで利用が可能。そのため、SQL Anywhereをデータベースとしてパッケージソフトを開発すると、多くのプラットフォームに対応しやすいという利点がありました。小規模~中規模のクライアント・サーバタイプのアプリケーションに多く採用されていました。
その反面、大規模データベースで使うには、パフォーマンス面で問題がありました。高性能サーバで大量データを処理する用途ではSQL Anywhereでの利点が生かせないため、Webアプリケーションやクラウドでのアプリケーションが主流になるにつれ、「小中規模が得意で、ファイル2つコピーすればいろんな環境で動く」というSQL Anywhereのコンセプトそのものがデメリットになっていったようです。
最新版は2015年リリースの、SQL Anywhere 17
最新版のSQL Anywhereは、SAPのコンポーネント機能として利用されています。SAPのパッケージとして、SQL Anywhereを埋め込み(同梱)したアプリケーションは、今でも需要があるんですね。
バージョンアップにつれ、機能も拡張し、最新版では対障害性を高めるHAオプションや、インメモリモードなどの高速検索機能、管理者の負荷を減らすサーバスレッド自動チューニングや、統計情報管理の自己ヒーリング、同期時のキャッシュサイジングなど自己管理が充実しています。
バージョン11では、ミラーサーバへの読み込み専用アクセスが可能になりました。
バージョン12では、読み込み専用スケールアウト、データベースミラーリング自動設定、ウェブベースでのサーバミラーリングが可能になりました。
2013年のバージョン16では、大幅な機能追加。ロールと権限、LDAPユーザ認証、データベース内に証明書格納、暗号化と復号化、サーバディスクのサンドボックス機能、デュアルコントロールパスワード、ミラー/スケールアウトサーバのイベント、アービター移動、ミラー・コピー間の変換機能、Non-blockingのインデックス作成・カラム追加、アサーションハンドリングの改善が実施されています。
最新のバージョン17では、CPUリソースの動的変更(VM)への対応にも対応し、暗号化機能、パスワード保護機能が強化、ストアドプロシージャのパーミッションチェック機能、データベースの独立化、使用中プロシージャのAlterやdropに対応するなどオンラインでの再構築が可能に、Point-in-timeリカバリ、tcp-ip/httpの動的起動・停止に対応しています。
開発用Developer Editionが無償でダウンロード可能
SQL Anywhereのバージョン17から、インストールキーを入力せずにインストールすると、Developer Editionとして機能します。
参考)無償ソフトダウンロード | SAP SQL Anywhere
ダウンロードにはアカウントが必要。メールアドレス、氏名、会社名、SAPとの関係、アカウント用のパスワードを登録することでダウンロードが可能になります。特にSAP社との契約がなくても、ダウンロードは可能です。
オプションのHA(高可用性)、モニタリングツール、スケールアウト、インメモリーランタイム、RSAセキュリティ、FIPSセキュリティのインストルも可能。ただし、本番利用には、「OEM契約に盛り込む必要あり」と公式サイトに記載されています。
開発・テストに限り、無償で無期限使用可能です。
実運用環境で使うには、別途ライセンス購入が必要となります。
SQL Anywhereのライセンス
参考)SAPのライセンス体系
SQL Anywhereは、ユーザ数もしくは、サーバの物理コア数によるライセンス体系を取っています。
サーバライセンスは、最大8コアのWorkgroup, Edgeか、コア数無制限のAdvancedの二択。小規模システムか、大規模システムのどちらかで使うということを想定しているようです。
基本的には、スタンドアロンやデータ同期目的、クライアント数の少ないクライアント・サーバ構成で使用するならユーザライセンス、一定数以上のクライアント・サーバ構成やウェブベースの環境ならcoreライセンスにしてクライアントアクセス数無制限で使うことが推奨されています。
なお、ユーザライセンスは、workgroup、Edge Editionなら5ユーザ、Advanced Editionなら25ユーザ単位で購入が可能です。
SQL Anywhereのサンプルコード
SQL AnywhereにはSimpleプロジェクトというサンプルコードが付属しています。
サンプルデータベースdemo.dbを使った学習用のSQLスクリプト、javaのコードのサンプルコードを利用可能です。
また、SQL Anywhereの旧バージョンのサンプルコードが、下記で公開されています。
SQL Anywere バージョン11までのアイエニーウェア社のサンプルコードです。
Mobile Linkとの動機や、SSL、RSAの暗号化、パススルー関連のスクリプトがzip形式でダウンロードできます。最終更新日は2008年で、最新版でそのまま動作させることは難しそうです。
SQL Anywhereはもともと旧Sybase社の製品だったため、同じくSybaseから派生したMicrosoftのSQL Server関連の情報も参考になるでしょう。動作の違いを確認するために、SQL Server Expressという無料版も利用可能です。
【関連記事】
▶SQL Server Expressは無料で使えるけど、大きなデメリットはないの?
SQL Anywhereのマニュアル
参考)SAP SQL Anywhere 17 マニュアル | SAP SQL Anywhere
最新版、SQL Anywhere17のマニュアルがウェブでウェブ形式や、PDF形式にて公開されています。
SQL Anywhereサーバ、Mobile Link、Relay Server、SQL Remote、Ultra Lightなどに関するリファレンスを参照できます。
会員登録等不要で、クリックですぐにウェブオンライン版やPDFを確認可能です。
SQL Anywhereの開発事例
参考)介護・福祉分野のベストセラーソフト「ほのぼのシリーズ」の評価を支えるSQL Anywhereの差別化ポイント | SAPジャパン ブログ
参考)中堅・中小企業向けERPシステムの開発においてSAPジャパンの技術活用を推進|2017|ニュースリリース|ミロク情報サービス
参考)SAP社のDBをTOSSシステムにバンドル化するOEM契約を締結 – 株式会社バイナル | SAP社のDBをTOSSシステムにバンドル化するOEM契約を締結 – 株式会社バイナル
まとめ
- SQL Anywhereは、小規模~中規模が得意なデータベースで、多彩な環境に簡単に配置できる点が特徴。
- 最新版のV17では、ウェブや仮想環境(VM)への対応も行われている。
- 開発用ライセンスDeveloper Editionは、無償でダウンロード、インストール、利用可能。