モバイルDB
シェア68%を誇る
SQL Anywhere Studioを徹底解剖
〜PDA向けエンジンAdaptive Server Anywhere for Windows
CEと
Ultra Lightを使いこなす〜
|
ASA for CEとUltra
Lightの比較 |
|
ASA for CEとUltra Lightの概要・特徴を解説したが、それらを比較すると表2のようになる。
|
項目 |
ASA for CE |
Ultra Light |
開
発
面
|
アプリケーションの開発環境 |
eMbedded Visual Basic、
eMbedded Visual C++
|
eMbedded Visual C++、
Sybase PowerJ、
Sun JDK |
アプリケーションの開発効率 |
PCでCE側のデータベース内容を操作することができるためデバッグがしやすい |
・PCでデータベースの内容を操作することができないので、デバッグに手間取る可能性がある
・デバッグでバグ発見のたびにコンパイル、再配布が必要 |
運
用
面
|
データベースのサイズ |
Ultra Lightより大きなメモリ空間が必要(数Mbytes程度) |
ASA for CEより省メモリですむ
※使用するデータベースの機能、スキーマによってサイズは変わる |
データベースへのアクセス |
アクセスのたびにSQL解析、クエリ最適化を行う |
コンパイルの時点でアクセスパスまで決定している |
バックアップ・リカバリ |
オフラインバックアップはCE上でも可能 |
データベースそれ自体にバックアップ・リカバリ機能はない |
アプリケーションの配布性 |
ユーザーアプリケーションとデータベース、データベースへの接続情報をそれぞれ配布する必要がある |
コンパイルで作成されたファイルだけを配布すればよい |
データベースのチューニング |
データベース起動時にキャッシュサイズなどのチューニングを行うことが可能 |
データベースのチューニングは不可能 |
同期ツール |
SQL RemoteとMobile Linkの両方使用可 |
Mobile Linkのみ使用可 |
|
表2 ASA for CEとUltra Lightの比較 |
|
表2のように、Windows CE上でデータベースを開発・運用する場合、両者には多くの相違点がある。次章ではそれをもとに選択指針を述べることにする。
|
ASA for CEとUltra
Lightのどちらを選べばよいのか? |
|
それでは、ASA for CEとUltra Lightのどちらを選べばよいのだろうか? ここでは、5つのケースを想定して、選択指針を示す。
|
本番稼動までに与えられた期間が短く、
開発に工数をかけたくない場合 |
|
|
Ultra Lightは、テスト工程での不具合調査、プログラム修正に手間がかかることが想定されるため短期間での開発は不向き。
Ultra Lightは省メモリで稼動できるが、ASA for CEも必ずしも大量のメモリを必要とするわけではない(数Mbytes程度)。そのため、必ずしもメモリ容量が少ないからといって、Ultra
Lightを使用しなければならないわけではない。
→Ultra Lightを選択することもよいが、ASA
for CEが稼動する程度の余裕があれば、こだわる必要はない |
|
|
CE側データベースを使用した
アプリケーション処理スピードを速くしたい場合 |
|
|
Ultra Lightは、コンパイルの時点でアクセスパスを決定する。一方ASA for CEは、アクセスごとに最適なアクセスパスを決定する。よって、データベースへの追加・更新・削除が多い場合は、その都度アクセスパスを決定するASA
for CEを使用すべきである。
→データベースへの更新が頻繁に行われる場合は、Adaptive
Server Anywhere for CEを選択すべきである
|
|
Ultra Lightはデータベースの機能制限が多いため、アプリケーションのバージョンアップに対応できないケースが考えられる。
→Adaptive Server
Anywhere for CEを選択すべき。 |
|
|
データベースアプリケーションを多くのユーザーに配布したい場合 |
|
|
Ultra Lightは配布対象がコンパイルで作成されたファイルだけですむが、ASA for CEではアプリケーション、データベース、データベースへの接続情報などのファイルを配布する必要がある。そのため、ユーザーがインストールしやすいようにドキュメントなどを整備するための手間がかかるだろう。
想定される5つのケースにおいて選択指針を示したが、実際はこれらの要件を複数組み合わせたアプリケーションを構築したいという要望もあると思われる。その場合、Ultra
Lightの制限された機能では多くの要件に対応できないことが想定されるので、ASA for CEを選択するほうがよいだろう。
〈参考資料〉
データベースサイズ |
13ファイル/データベース。1ファイルに対する最大サイズはOSとファイルシステムが決定 |
フィールドの大きさ |
2Gbytes |
ファイルサイズ |
FAT
12 |
16Mbytes |
FAT
16 |
2Gbytes |
FAT
32 |
4Gbytes |
NTFS、HP-UX
11.0以降、Solaris 2.6以降 |
256Gbytes(1Kページ用)
512Gbytes(2Kページ用)
1Tbytes(4Kページ用) |
そのほかのプラットフォームおよびファイルシステム |
2Gbytes |
最大インデックスエントリサイズ
|
制限なし |
データベース数/サーバ
|
255 |
カラム数/テーブル
|
999(4Kページを使用) |
インデックス数
|
テーブルごとのインデックスの最大数は、データベースのページサイズに基づいている
|
4Kbytes以下 |
2048インデックス |
|
8Kbytes |
1024インデックス |
|
16Kbytes |
512インデックス |
|
32Kbytes |
256インデックス |
|
ロー数/データベース
|
ファイルサイズにより制限 |
ロー数/テーブル
|
ファイルサイズにより制限 |
テーブル数/データベース
|
2^32 - 1(4294967295) |
参照されるテーブル数/トランザクション
|
制限なし |
ローの大きさ
|
ファイルサイズにより制限 |
テーブルの大きさ
|
最大ファイルサイズ。テーブルのユーザ定義インデックスは、テーブルとは別に保存可能 |
|
表3 Adaptive Server Anywhereのスペック |
|
接続数/データベース |
14 |
カラム数/テーブル |
65535(ただし、ローサイズによって制限される) |
インデックス数 |
65535 |
ロー数/データベース |
継続保管によって制限される |
ロー数/テーブル |
65533 |
テーブル数/データベース |
約1000 |
参照されるテーブル数/トランザクション |
制限なし |
ローサイズ |
約4Kbytes(圧縮)。LONG VARCHARとLONG
BINARY値は独立して保管されるため、制限値4Kbytesには含まれない |
ファイルベースの継続保管 |
2Gbytesファイル、またはOS制限によるファイルサイズ |
Palm
Computing Platformデータベースサイズ |
512Mbytes |
|
|
使
用
で
き
な
い
機
能
|
Javaのデータベース機能 |
外部プロシージャと外部関数 |
ネットワークデータベースサーバのみ提供 |
使
用
で
き
な
い
S
Q
L
文
|
ALTER DATABASE |
ALTER SERVER |
ALTER WRITEFILE |
CREATE COMPRESSED DATABASE |
CREATE DATABASE |
CREATE EXPANDED DATABASE |
CREATE EXTERNLOGIN |
AT句を使用するCREATE EXISTING TABLEとCREATE
TABLE |
CREATE SERVER |
CREATE WRITEFILE |
DROP DATABASE |
DROP SERVER |
INSTALL JAVA |
REMOVE JAVA |
START JAVA |
STOP JAVA |
|
表5 Adaptive Server Anywhere for CEで使用できない機能、SQL文一覧 |
|
使
用
で
き
な
い
機
能
|
動的SQL |
カスケード更新とカスケード削除 |
検査制約 |
スキーマの変更 |
グローバルテンポラリテーブル |
宣言されたテンポラリテーブル |
システムテーブルへのアクセス |
ストアドプロシージャ |
データベースにおけるJavaクラス |
SQL変数 |
使
用
で
き
な
い
S
Q
L
文
|
SAVEPOINT文 |
SET OPTION文 |
システム関数 |
トリガ |
SELECT INTOの制限 |
|
表6 Ultra Lightで使用できない機能、SQL文一覧 |
|
|
2/2 |
|
|