PRODUCTS
SAP SQL Anywhere
SAP SQL Anywhere (v9まではAdaptive Server Anywhere、v10よりパッケージ名と同じSQL Anywhereへ名称変更)は、SAP SQL Anywhereのパッケージの中の主要コンポーネントとなる超高速RDBエンジンです。
完全なトランザクション処理、参照整合性、ストアド・プロシージャ、自動リカバリなどの豊富な機能を持ち、サーバーからモバイル端末まで快適に動作するよう設計されています。
専用の管理者を置かない環境での使用を考慮した機能や、アプリケーションへのデータベース埋め込みのための機能、大規模配布のための機能などを装備しています。
version 10では、パフォーマンスのさらなる向上に加え、HAオプションなどより大規模なシステム向けの機能がさらに強化され、
version 11ではインメモリモードや全文検索などの機能が追加されました。また、version 11より、お客様の環境に合わせてご利用いただけるようエディションが分かれました。
さらに、version 12では空間データをサポートし、データベースへの読み取り専用アクセスを必要とするレポート作成やその他の操作に伴う負荷の軽減するためのスケールアウト機能やサーバースレッド自動チューニング、統計情報管理の自己ヒーリング、同期時の動的キャッシュサイジングなどの自己管理機能が追加されました。
version 16 では、マルチCPUとクエリ内並列処理の活用を深め、パフォーマンスが一層向上しました。また、データベースミラーリング機能の強化や動的なプロセッサの割り当てにより24×365運用の強化し、停止出来ないシステムの運用性を向上させました。さらに、LDAPに対応することで既存のインフラとの統合が可能になり、ロールベースのアクセス権限によりきめ細かな権限設定が可能になるなどセキュリティも強化しました。SAPのフラッグシップ製品であるHANAとの同期も可能になりました。
SQL Anywhere 機能概要
機能 | SQL Anywhere workgroup, Edge Edition | SQL Anywhere Advanced Edition |
OLAP 関数など高度なSQLのサポート | 〇 | 〇 |
トランザクション処理 | 〇 | 〇 |
参照整合性 と カスケード更新/削除のサポート | 〇 | 〇 |
行レベルロック | 〇 | 〇 |
スナップショット分離(読み取り一貫性) | 〇 | 〇 |
マテリアライズドビュー | 〇 | 〇 |
テーブルの暗号化 | 〇(ファイル、テーブル、カラム) | 〇(ファイル、テーブル、カラム) |
カラムの圧縮 | 〇 | 〇 |
SQL、Java、 .NET、Perl のストアドプロシージャおよび外部トリガ | 〇 | 〇 |
ジョブのスケジューリングとイベントモニタ | 〇 | 〇 |
並列バックアップとリカバリ機能 | 〇 | 〇 |
データベースミラーリングとフェールオーバークラスタリング | × | 〇 |
XML のサポート | 〇 | 〇 |
SOAP, JSON, XML、HTMLを使用した Web サービス機能 | 〇 | 〇 |
パフォーマンスチューニングウィザード | 〇 | 〇 |
並列インデックスオペレーション | 〇 | 〇 |
64-bit OSのサポート | 〇 | 〇 |
全文検索 | 〇 | 〇 |
サポートOS間のデータベースファイルの移行 | 〇 | 〇 |
Windows、Linux、Unix、Mac OS のサポート | 〇 | 〇 |
空間データのサポート | 〇 | 〇 |
インメモリモード? | × | 〇 |
読み込み専用スケールアウト? | × | 〇 |
SQL Anywhereの機能・特長
- インストールが簡単
- さまざまな開発ツールをサポート
- 省リソースで稼動。初期設定のまま超高速処理を実現
- 開発生産性の向上を支援するツール類
- 異種OS間で完全互換。扱いやすいデータベースファイル
- データベースエンジン配布機能
- 自動管理機能の装備し、パフォーマンスチューニングは不要
- データベース内のHTTP サーバとXML
- グラフィカル表示とプロファイル情報の取得
- エンタープライズレベルのパフォーマンスとスケーラビリティ
- インデックス・コンサルタント
- 64 ビット・プラットフォームに対応
- スタンドアロンからクラサバへ。柔軟なシステム構成
- 高い信頼性と可用性
- Mobile Linkデータベース同期サーバによる同期機能
- 他DBからの簡単な移行
- 万全なセキュリティ対策
- テキストファイルとの比較
- SQL Anywhere仕様一覧
インストールが簡単
SQL Anywhereはインストールが簡単で、他のアプリケーションやデータベースへの影響もなく、15分もあればインストールできてしまいます。また、アンインストールも同様に15分もあればできてしまいます。
インストーラー作成ツールなどを利用したSQL Anywhereを埋め込んだアプリケーションのインストールは、3分程度で終わってしまうものもあります。
省リソースで稼動。しかも初期設定のまま超高速処理を実現
SQL Anywhereは、Watcom C/C++などのコンパイラーを作っていたカナダのWatcom社の製品で、前身はPC専用に開発されたWatcom SQL(DOS版)というRDBMSです。
データベースを稼動するために必要となるディスク容量やメモリ容量が少なくて済むため、既存のスペックの低いPC端末などを継続して使用することができ、新しいハードウェアを導入するためのコストを抑えることもできます。
さらに、モバイル端末などのリソース制限のあるハードウェアでも動作可能なため、必要なデータはローカルに持ち、通信環境に左右されずデータをいつでもどこでも活用できるソリューションを構築することが可能になります。
一方、低コストで高速処理が実現可能なため、中大規模ビジネス用のデータベースとして最適です。
※インストールが簡単で、初期設定のままでもパフォーマンスを発揮するので、エンドユーザーが細かい設定をする必要のないソフトウェア・パッケージへの組込みに最適です。
異種OS間で完全互換。扱いやすいデータベースファイル
Windows x86/x64、Windows CE/Mobile、Linux x86/x64、UNIX、Macなど、数多くのOS間で完全互換性を持っており、各OS間の移行はデータベースファイルとログファイルをコピーするだけ。この扱いやすいデータベースファイルにより、データの移行作業が非常に簡単に行なえます。例えばWindowsで開発して、Linuxで運用など、製品開発時やシステム導入時、さらには製品運用時における環境変化にも柔軟に対応することができます。また、多彩なOSをサポートするソフトウェア・パッケージの開発が容易になります。
※多彩なOSをサポートするソフトウェア・パッケージの開発が可能です。
多彩なOSに対応するソフトウェア・パッケージ開発
Mac OS X等もサポートしています。最新の対応OSはこちらをご参照ください。
自動管理機能の装備。面倒なパフォーマンスチューニングは不必要
データベース管理者の介入を最小限にし、安定したパフォーマンスを提供するための、さまざまな自動管理機能を有しています。 このため、データベース管理者の作業負荷が減少し、データベースの運用コストも大きく削減することができます。 自動管理機能は、中小規模の企業や組織、あるいは遠隔地など、専任のデータベース管理者がいない環境で特に有効な機能です。
※POSレジや、会計パッケージソフトなどのアプリケーションへのDBの埋め込みの場合に有効に活用されています。
もちろん、パフォーマンスのチューニングも可能です。
グラフィカル表示機能やインデックス・コンサルタントなどのチューニング機能が強化され、さらに便利になりました。
- 自己学習機能(クエリ・オプティマイザ)
- データベースエリアの自動拡張
- データベース自動起動/停止
- タスクスケジューリングとイベント処理
- 自動リカバリ機能
- キャッシュサイズの自動拡張・縮小
- 移動中DBの断片化解消機能
他
データベース運用コストの削減
機能 | 説明 |
---|---|
自己学習機能(クエリ・オプティマイザ) | 読み込んだデータ(テーブル)のデータ分布を学習し、より最適なアクセス・プランを自動計算するユニークな機能です。安定したレスポンスを維持します。 |
データベースエリアの自動拡張機能 | データベースに格納するデータが増加すると、自動でデータベースエリアを拡張します。また、データベースエリアが空き、利用可能な状態になると、それを再利用します。 |
データベースの自動起動/停止機能 | データベースを自動で起動/停止します。これにより、ユーザやデータベースを利用しているアプリケーションは、データベースが動いていることを意識することがありません。 |
データベースのタスク・スケジューリングとイベント処理 | データベース管理者がスケジュール設定したタスクを実行し、イベントを自動で処理します。 |
自動リカバリ機能 | 不意の電源断など、システムが突然停止しても、次回のデータベース起動時には自動リカバリします。 |
キャッシュ・サイズの自動拡張/縮小機能 | データベースのパフォーマンスに影響を与えるキャッシュのヒット率などを判断し、動的にキャッシュ・サイズを拡張/縮小します。 |
稼動中データベースの断片化解消機能 | データベースを稼動させた状態で、不連続になったテーブルやインデックスの断片化を解消します。 |
柔軟なシステム構成。スタンドアロンからクラサバへの変更もスムーズ
スタンドアロン、クライアント/サーバー、シンクロナイゼーションシステムとしての利用が可能です。アプリケーションおよびデータベースの変更を一切行なうことなく、システム構成の変更や拡張をスムーズに行なうことができるため、企業システムにスケーラビリティがもたされます。 また、どのシステム構成にも柔軟に対応するソフトウェア・パッケージの開発が可能になります。
※どのシステム構成にも柔軟に対応するソフトウェア・パッケージの開発が可能です。
システム構成に柔軟に対応するソフトウェア・パッケージ開発
万全なセキュリティ対策
悪意のあるアクセスや端末の紛失・盗難などによる大切な顧客情報や企業情報の漏えいを防ぐため、さまざまなセキュリティ対策を行っています。データの暗号化には、最新の暗号化アルゴニズムと128ビット暗号化テクノロジを使用しています。
データベースファイルの暗号化では、ファイル/テーブル/カラム単位での暗号化が可能なので、必要最小限のデータ暗号化が可能で、オーバヘッドを軽減できます。
1 ユーザIDとパスワード認証によるログインチェック
2 データベースファイルを暗号化
3 データベースをファイル/テーブル/カラム単位で暗号化
必要最小限のデータ暗号化が可能で、オーバヘッドを軽減できます。
4 サーバー~クライアント間のTCP/IP通信パケットの暗号化
SQL Anywhereは、Visual Studio との統合を強化
(常に最新のVisutal Studio のバージョンをサポートしています)
3種類のデータベースエンジン配布機能
アプリケーションを容易に配布するために、3つの方法を用意しています。
例えばクライアントのPCにクライアントのコンポーネントのみをインストールする等に利用できます。
*参考:SQL Anywhereデータベースの”インスタンス”
SQL Anywhereではデータベースを作成する際に他社製品で「インスタンス」と呼ばれるデータベースの実行環境・実行のための設定を行う必要はありません。
(Windows版において)SQL Anywhereはデータベースサーバーの実行にWindowsレジストリを必要としません。また、環境変数も必須ではありません。
「パスが通ったディレクトリにSQL Anywhereサーバで必要な全てのファイルを配置する」が必須要件です。
「dbsrvXX.exe <DBファイル名>」とデータベース・サーバプロセスの実行ファイルに引数としてDBファイルを渡して実行するだけでそのデータベースは起動します。
<DBファイル名>をスペースで区切って複数指定すると他社のデータベースでいう「1インスタンスに複数のデータベース」となります。
「dbsrvXX.exe <DBファイル名>」(DBファイル名は違う)を複数同時実行すると「1ホストに複数のインスタンス」となります。
「サービス」として実行したい場合は、「サービス」に登録するためのコマンドラインユーティリティ(dbsvc)を提供しています。
インストールの際などにこのユーティリティを実行するとWindowsであればサービスに登録し、Linuxであればinit.dにSQL Anywhere起動用の設定・スクリプトが追加されます。自動起動させる設定も可能です。
*XXはバージョン番号、SQL Anywhere17であれば「dbsrv17.exe」
データベース内のHTTP サーバとXML
SQL Anywhereのデータベース・サーバが HTTP サーバとして動作できます。
この機能により、SQL Anywhereデータベース・サーバはHTTP/S リクエストに加え、SOAPリクエストも処理します。
参考:japan.internet.com : 「Google Web ToolkitでSQL AnywhereのWebサービスを利用する」(翻訳記事のため、リンク先はUSサイトになります)
リモートデータアクセス
エンタープライズ・レベルのパフォーマンスとスケーラビリティ
SQL Anywhereは、マテリアライズド・ビュー、スナップショット・アイソレーションなどのエンタープライズ・クラスの機能によって大量データの効率的な処理を実現します。
また、64bit Windows/Linuxに対応しており、マルチCPUを効果的に利用するクエリ内並列処理、大容量データのバックアップを効率的に行う並列バックアップなど大規模システムまでスケーラブルに対応可能です。その他、Windows関数などに対応しておりOLAP向け機能も充実しています。
拡張性が高く、万単位のユーザー、百ギガバイト単位のデータ、億単位のロー数に対応します。
version 16では、TPC-Cベンチマークの結果も発表しました。
64 ビット・プラットフォームに対応
SQL Anywhere 9より64 ビット・プラットフォームに対応しています。
高い信頼性と可用性
SQL Anywhereは、データベースのミラーリングやクラスタリングをサポートし、高い信頼性と可用性を提供します。
参考:japan.internet.com「高可用性同期アーキテクチャ」(翻訳記事のためリンク先はUSサイトになります)
読み取り専用スケールアウト
検索が集中するWebのバックエンドや、レポーティングのアプリケーションに向いている機能です。
インメモリモード
クラウド
他DBからの簡単な移行
データベース移行ウィザードを利用すれば、Oracle、Microsoft SQL Server、IBM DB2、SAP Adaptive Server EnterpriseなどのデータベースからSQL Anywhere データベースに簡単に移行することが可能です。
グラフィカル表示とプロファイル情報の取得
統計情報付アクセスプランをグラフィカルに表示します。
プロファイル情報の取得機能は、 ストアド・プロシージャ、関数、イベント、トリガの呼び出し回数と実行回数についての情報を表示します。また、プロシージャの各行に対する実行速度についても表示します。
こうした機能により提供される情報を元に、実行に時間のかかるプロシージャを特定してチューニングすることで、データベースのパフォーマンスを向上させることができます。
インデックス・コンサルタント
インデックス・コンサルタントはバーチャル・インデックス機能により実際のクエリに影響を及ぼさずにインデックスを試行錯誤できる点が特徴です。インデックス・コンサルタントはアプリケーションを実行している間に同時実行され、パフォーマンスを向上させるインデックスを推奨し、インデックス作成SQL文を自動生成します。
さまざまなインターフェース、言語、開発ツールをサポート
業界標準として広く普及しているプログラミング・インタフェースやアプリケーション開発ツールをサポートしています。SQL Anywhereでは、Windows Mobileなど、モバイル用OSに対応したアプリケーション開発も容易に行うことができます。
※.NET Compact Frameworkに対応しWindows CEのアプリケーション開発も容易です。
- ADO.NET
- Microsoft .NET Framework バージョン 2.0、3.0、3.5、4.0、4.5に対応
- Entity Framework 5.0 および 6.0対応(Visual Studio 2015対応)
- JDBC
- Type2とType4の2種類提供
- ODBC
- OLE DB / ADO
- Embedded SQL
- SQL Anywhere データベース API for C/C++
- Open Client
- OData
- XS JavaScript
- Node.js
- Perl DBI
- Python
- Ruby
- SAP PowerBuilderR アプリケーション開発ツール、
- Microsoft Visual Studio
- Embarcadero Delphi
- Eclipse
- Node.js ランタイム環境、その他多数
最新の情報は、こちらをご参照ください。
スマートフォンなどのアプリケーション開発が容易
データタイプをフルサポート
- 標準タイプ
CHAR,LONG NVARCHAR,LONG VARCHAR,NCHAR,NTEXT,NVARCHAR,TEXT,UNIQUEIDENTIFIERSTR,VARCHAR,BIGINT,BIT,DECIMAL
DOUBLE,FLOAT,INTEGER,NUMERIC,REAL,SMALLINT,TINYINT,MONEY,SMALLMONEY,LONG VARBIT,VARBIT,DATE,DATETIME,DATETIMEOFFSET,SMALLDATETIME,TIME
TIMESTAMP,TIMESTAMP WITH TIME ZONE,BINARY,IMAGE,LONG BINARY,UNIQUEIDENTIFIER,VARBINARY - 空間エンジンによる空間データタイプ
ST_Point,ST_LineString,ST_Polygon,ST_CircularString,ST_CompoundCurve,ST_CurvePolygon,ST_Geometry,ST_GeomCollection,ST_MultiPoint,ST_MultiPolygon,ST_MultiLineString,ST_MultiSurface - 全文検索:述語、ワイルドカード、類似検索を含む
- OPENXML を介した XPATH クエリーによる XML タイプ
2つのSQL
?方言としては Transact-SQL と Watcom SQL の2種が使用可能。?1つのDB内で混在可能です。
- プロシジャAはTransact SQL、プロシジャBはWATCOMということはOK
- プロシジャAのコードの前半はTransact、後半がWATCOMはNG
- SQL:2008準拠(1992,1999,2003)
Mobile Linkデータベース同期サーバによる同期機能
SQL AnywhereはMobile Link のデータベース同期テクノロジを使用して、他社製データベース管理システムとも同期することができます。SQL Anywhere、Oracle、Microsoft SQL Server、IBM DB2、MySQL、SAP Adaptive ServerEnterprise、SAP IQ、SAP HANAなどODBC準拠のデータベースとの同期が可能です。
またSQL AnywhereクライアントとMobile Link同期サーバ間の通信ストリームについてはHTTPSによる暗号化がサポートされており、同期処理自体が高い安全性を備えています。
SAP SQL Anywhere サーバー version 17 の仕様一覧
?
システム要件とサポート対象プラットフォーム
??Microsoft Windows x86 および x64
??Linux x86、x64、および ARMv6
??Oracle Solaris SPARC および x64
??Apple OS X
??IBM AIX
??HP-UX Itanium
??データベースサーバーには512 MB 以上のRAMが必要
??データベースクライアントには 8 MB 以上のRAM とクライアント接続ごとに4 KB (Unix の場合は8 KB) 必要
クライアント/サーバー通信プロトコル
??TCP/IP
??共有メモリー
??Windows および LinuxのIPv6 サポート
準拠している標準
??エントリーレベルの ANSI SQL-92 + 拡張
??若干の例外は 2008 コア仕様に準拠
??Transact-Structured Query Language (T-SQL)
データベース機能
??読み込み専用スケールアウトデータベース構成
??Web ベースのデータベースサーバー監視
??空間データ
??シーケンスジェネレーター
??DML 文に対する SELECT 文
??行レベルロック
??ハイパフォーマンスで自己チューニング機能を備えたコストベースのクエリー最適化機能
??高度なクエリー実行アルゴリズム
??動的なキャッシュサイズ変更
??マテリアライズドビュー
??スナップショットアイソレーション
??全文検索
??カラム圧縮
??SQL および Java のトリガーとストアドプロシージャー
??外部ESQL、ODBC、Java、CLR (.NET)、Perl、PHP のストアドプロシージャー、JavaScript ストアドプロシージャー
??BLOB(バイナリラージオブジェクト)のサポート
??XML のインポート / エクスポートと SQLX 機能
??データベース内のJSON
??データベースのミラーリングおよびクラスターサポート
??ノンブロックのインデックスとカラム作成
??オンラインでのテーブルおよびインデックスの断片化解消
??オンラインバックアップ
??オンラインでの再構築
??イベントのスケジューリングと処理
??インメモリーモード
??Web サービスの作成と利用
??統合された HTTP/HTTPS サーバー
??その他のRDBMSおよびファイルシステムへのリモートデータアクセス
??OLAP クエリーのサポート
??NCHAR データ型、アクセント知覚、Unicode 照合アルゴリズム、ICU Unicode サポート、データベースタイムゾーン、TIMESTAMP WITH TIMEZONE データタイプなどの国際化機能
??Windows パフォーマンスモニターとの統合
??データベースファイルとネットワーク通信の強力な暗号化
??テーブルの暗号化、カスタマイズ可能な監査、パスワードルール、SHA-256 ハッシュ、Kerberos 認証
??FIPS 140-2 適合
??ロールベースのセキュリティ
??LDAP ユーザー認証
??デュアル制御パスワード
??サーバーディスクのサンドボックス化
??イベント追跡
??データベースアイソレーション
??監査の強化
??プロセッサーアフィニティコントロール
??Point-in-time リカバリ
??NCSLib および SAP Solution Manager のサポート
??インメモリーデータベースバリデーション
データベース機能
??空間データ
??アプリケーションプロファイリングユーティリティ
??グラフィカルなスキーマ設計 / リバースエンジニアリングツール
??グラフィカルなデータベース管理 / ブラウジングツール
??グラフィカルなクエリープランビューア、クエリーエディター、統合ストアドプロシージャーデバッガー、プロファイラーおよび同期モニタリングツール、グラフィカルな空間データビューア
??インデックスコンサルタント
??ネイティブデータアクセス (ADO.NET、OLE DB、 ODBC3.5 (level 2)、JDBC 3.0、embedded SQL、Sybase Open Client 経由)
??幅広いプログラミングツールのサポート (SAP PowerBuilderR アプリケーション開発ツール、 Microsoft Visual Studio、Embarcadero Delphi、 Eclipse、Node.js ランタイム環境、その他多数)
??Microsoft .NET Framework version 2.0 以降のサポート
??幅広いプログラミング言語のサポート (C#、VB.NET、C/C++、ASP、ASP.NET、JSP、Java、PHP、Perl DBD、JavaScript)など
??ロールアップ、再帰統合、インデックス統合と重複取得などの高度なOLAP 機能
??米国リハビリテーション法第508条に準拠した、身体が不自由な人々のためのアクセシビリティサポート
??ROW データ型とARRAY データ型
??TRY/CATCH エラー処理
??ODataサーバーとOData プロデューサー
??ユーザーロック
??間接的な識別子テーブル参照値
データベース統計情報
??サーバー当たりのデータベース数 : 255
??データベースサイズ : メモリー、ディスク空間、プラットフォーム上の制約による制限のみ
??データベースオブジェクト名の最長文字数 : 128
テーブル統計情報
??テーブル当たりのインデックス数 : 最大 2,048
??テーブルサイズ : ファイルサイズによる制限のみ
??テーブル当たりの列数 : 最大 40 億
??テーブル当たりの列数 : 4万5,000
??フィールドサイズ : 2 GB
??テーブル当たりの行数 : ファイルサイズによる制限のみ
??行サイズ : ファイルサイズによる制限のみ
ストアドプロシージャー / トリガー統計情報
??ストアドプロシージャーの最大長 : 2 GB
??データベース当たりのストアドプロシージャー数 : 最大40億
??データベース当たりのトリガー数 : 最大40億
??ネスト : ディスク空間とサーバーメモリによる制限のみ
* CodeZineにてSQL Anywhereの記事掲載しています。こちらもご参照ください。