JME移動數據庫的選擇 當然PointBase並不是J
ME移動數據庫產品的唯一選擇
在本文的剩余部分我會比較和討論幾種主流的競爭者
在開始以前先讓我來闡述一下這個產品的前景
高端設備上的JDBC數據庫 對於運行PersonalJava或Personal Profile的高端設備
數據庫能夠通過JDBC API被訪問
JDBC數據庫對於程序來說是最容易的數據庫類型
所有的廠商已經至少有一個這種種類的產品
最大的挑戰是如何平衡這些功能
我們想要最小而且最快的數據庫
它能夠支持應用程序所需功能的准確集合
MIDP設備上的輕量級數據 CLDC(有限連接設備配置Connected Limited Device Configuration)/MIDP並不支持JDBC接口
在MIDP設備上支持復雜數據管理的兩個通用方法是
執行非常輕量的數據庫和RMS上的類似JDBC的訪問API
這個方法很耗費資源
但根據開發者開發能力和性能支持證明是最好的
直接擴展RMS類並在擴展的類上執行簡單的行序列化
數據訪問
索引/搜索和同步方法
這個擴展類是RMS上的一個細小的層次
它能模擬關系表的行為
在產品評論的章節裡我將討論這兩種方法
同步服務器 眾所周知
同步是移動數據庫的一個關鍵性能
大多數數據庫廠商有他們自己專有的同步服務器
這些服務器提供許多附加功能來優化在移動環境下的同步過程
同步服務器的重要性能包括如下幾點
智能沖突解決方案
帶寬減少
端到端編密碼
後台引擎性能調整
異步和可擴展更新
接下來的幾章裡我將檢查和比較幾種主流廠商的產品
HSQL 數據庫引擎 開放源碼的數據庫引擎?DHSQL是基於Thomas Mueller的Hypersonic SQL項目
它完全是由Java是編寫的同時也是一種廣泛用於嵌入式的數據庫
它被包含在許多J
EE應用服務器中
在移動設備上
HSQL運行在PersonalJava和FP/PP平台上
HSQL是完全免費的
你能自由地將它重新部署到你的應用程序中
這對移動應用程序來說是容易的
HSQL提供一個支持%
JDBC接口和所有JDBC數據類型的JDBC驅程
它支持事務
外鍵甚至Java存儲過程
在HSQL中的表能寄存在內存中和保存在磁盤文件中
HSQL只有少於
KB的存儲器足跡footprint
它也為PersonalJava設備發布了一個數據庫管理控制台(經過Sharp Zaurus上的測試)
然而
HSQL缺少一些商業移動數據庫上所需的高級性能和安全功能
更重要的是
HSQL不能提供任何同步解決方案
它也缺少一個為MIDP設備的解決方案
PointBase Micro PointBase是一個純Java嵌入式數據庫方面的主流廠商
PointBase Micro數據庫能運行在FP/PP/PersonalJava和MIDP平台上
在FP/PP/PersonalJava平台上PointBase Micro 數據庫僅用
KB 存儲器足跡就能支持大多數JDBC和SQL功能
它也支持例如數據庫編密碼這樣的高級功能
它不支持存儲過程和接口CallableStatement
因此MIDP不支持JDBC
PointBase為MIDP提供它自己的輕量級類似JDBC的API
PointBase Micro 數據庫的MIDP版本提供了一個用浏覽器打開的MIDlet數據庫控制台
PointBase Micro 數據庫通過UniSync 同步服務器能容易地同服務器端PointBase嵌入式數據庫和Oracle 數據庫同步
Sybase iAnywhere 解決方案 在膝上型電腦上的輕量級數據庫ianywhere的SQL Anywhere Studio已經擁有巨大的市場份額
在普遍設備上的移動數據庫市場它也有一個強大的份額
Anywhere SQL Studio 的自定義數據庫生成器是它一個關鍵創新
它讓用戶而不是數據庫廠商決定如何平衡數據庫存儲器足跡和它所支持的功能
在Anywhere SQL Studio中用戶能指定將在應用程序中調用的SQL狀態SQL statement
它根據用戶對根本性質和事務功能的選擇生成一個自定義數據庫
所生成的數據庫是一個純Java類以及伴隨的一系列用戶應用程序能調用的API
使用iAnywhere MobiLink 同步服務器的數據同步API也能加入到自定義數據庫中去
除了自定義數據庫生成器
iAnywhere也提供大存儲器足跡和移動數據庫的一般用途
它包括支持Java儲存過程 Java stored procedure在內的許多安全
優化和可用性方面的功能
這些數據庫為了達到更好的性能天生就運行在流行的移動平台上
Sybase iAnywhere SQL Studio 現在仍然不能支持MIDP數據庫的自動生成
IBM DB Everyplace IBM DB
Everyplace是IBM在移動數據庫的禮物
對於IBM的客戶來說
DB
Everyplace非常好地整合了其他IBM企業組件(例如
DB
Universal Database 和WebSphere MQ Everyplace)和IBM開發工具(例如
IBM WebSphere Studio Device Developer)
DB
Everyplace本身運行在包括Palm OS
Symbian OS
Pocket PC
QNX 軟件系統和嵌入式Linux在內的許多平台上
DB
Everyplace支持加密數據域和表存儲優化功能
在MIDP平台上
DB
Everyplace有一個叫FastRecordStore的產品
它仿效在MIDP RMS記錄存儲之上的可索引和可搜索的關系表
DB
Everyplace 數據庫和FastRecordStore通過IBM同步引擎與後台數據庫同步
DB
Everyplace也附帶一個叫Mobile Application Builder 的工具
它允許開發者可視化地創建DB
Everyplace 應用程序
Oraclei Lite Oracle
i Lite是Oracle在移動數據庫上的產品
它可運行在Plam OS
Pocket PC
Symbian OS和Win
等平台上
Win
這個版本是為了能運行在膝上電腦上並支持JDBC
多用戶模式以及Java存儲過程
Oracle
i Lite的Pocket PC和Symbian OS版本支持JDBC
而Palm OS版本僅支持Oracle自身專用的OKAPI(對象核心API Object Kernel API)和ODBC(開放數據庫連接Open Database Connectivitiy)
Oracle
i Lite suite包括一個移動開發工具Mobile Development Kit
它能夠根據用戶自定義需求自動生成和打包移動數據庫應用程序
目前它只能生成本身客戶端應用程序
Oracle
i 移動數據庫通過Oracle移動服務器和後台Oracle數據庫服務器同步
如果我們使用Oracle
i Lite 移動開發工具來創建應用程序則移動服務器會自動為這個應用程序生成同步邏輯
Oracle
i Lite支持任何基於TCP/IP的網絡上的同步
包括HTTP
CDPD(單元數字包數據cellular digital packet data)
b無線局域網
通過使用移動服務器的開放傳輸API Open Transport APIs
我們也能增加新的傳輸
另外Oracle移動服務器支持非同時的同步
在高峰期每個設備只是把同步內容提交到一個隊列中然後退出
異步操作是可擴展解決方案的關鍵
在MIDP平台上Oracle提供SODA(簡單對象數據庫訪問Simple Object Database Access)
這個產品是基於RMS的
SODA實際上是一個支持MIDP設備的面向對象數據庫
它允許存儲
搜索和恢復類似JavaBean的數據對象
選擇正確的移動數據庫 選擇正確的移動數據庫產品是個復雜的商業決定
由於移動數據庫嵌入在客戶端應用程序中
你需要為你所開發的每個產品支付版稅
為減少總開銷而簽訂一個好的合同是非常重要的
由於同步解決方案所特有的性質每個產品都在某種程度上鎖定了廠商
因此開發人員不僅應該考慮到產品的技術優點而且應該考慮到廠商的一貫聲譽和穩定性
例如
如果你的移動客戶端需要MIDP和Personal Profile 數據庫
你應該選擇同一廠商中更好傳輸率的產品和更易管理的同步解決方案
PointBase和Sybase iAnywhere提供極好的移動數據庫解決方案
然而
如果你的企業基礎架構主要是IBM或Oracle
那麼最好選擇DB
Everyplace 或Oracle
i Lite 移動數據庫
移動數據庫和同步解決方案是高可靠性移動應用程序的重要組件
他們提供了新的而且有前途的偶然連接移動應用程序范例
在閱讀完本文後
你應該已經能夠使用JDBC和PointBase APIs設計和執行移動數據庫應用程序
由於移動數據庫運行在小設備上
當選擇商業產品時你需要仔細權衡特征和儲存器足跡而不是性能
From:http://tw.wingwit.com/Article/program/Oracle/201311/17782.html