行動/嵌入式資料庫選型:三大主流方案深度比較
企業級應用離不開關聯式資料庫,但行動平台 (Palm OS, Windows CE, EPOC, Symbian) 缺乏成熟的 SQL 引擎與同步機制。本文比較三款支援多平台、多語言 (C/C++, Java, VB) 且具備伺服器端同步/合併功能的行動資料庫產品。
核心挑戰
- 行動平台原生檔案系統無 SQL 查詢能力,需自寫存取邏輯。
- 跨平台 (Palm, WinCE, Laptop) 需維護多套資料庫模組與同步方案 (HotSync, ActiveSync, TCP/IP Socket)。
- 同步邏輯複雜:衝突偵測/解決、主鍵維護、快照/時間戳同步。
方案一:Sybase SQL Anywhere / UltraLite (市佔 >60%)
架構
- SQL Anywhere:完整功能 SQL 資料庫,含預存程序、觸發器、安全性。
- UltraLite:針對無硬碟裝置優化的微型關聯式資料庫,記憶體佔用極低、效能最高。API 統一於 C/C++ 與 Java,支援 Win32/95/98/NT, Palm OS, WinCE, EPOC。
同步技術:MobiLink
- 伺服器端同步引擎,支援串口、TCP/IP、HTTP、HotSync、ScoutSync、ActiveSync 多種傳輸。
- 進階同步功能:快照/時間戳同步、主鍵維護、衝突偵測與解決。
- 伺服器端邏輯以 SQL 事件處理 (透過 ODBC 連接後端資料庫,支援所有 SQL DB)。
- 安全性:整合 Certicom SSL/TLS Plus (橢圓曲線加密)。
優勢
單一產品涵蓋完整功能與同步,開發成本最低,成熟度最高。
方案二:Oracle 8i Lite (現 Oracle Database Lite)
平台支援
Win32, WinCE, Palm OS, EPOC。提供 ODBC Client (WinCE/Win32) 及 C/C++/Java/ActiveX API。
獨特功能
- Oracle Mobile Agents:無線中介軟體,支援 CDPD (AT&T), Mobitex (Cingular), DataTAC (Motorola) 網路同步。整合 Oracle Advanced Queuing (AQ) 與 AQ Lite。
- Web-To-Go:資料同步 + 應用程式部署方案。基於 Apache + Java Servlets,可將 Web 應用 (WAR) 封存於伺服器並自動同步部署至客戶端。支援 Java Stored Procedure / JDBC 開發資料庫邏輯。對現有 Java Servlet 架構極具吸引力。
注意
Oracle 產品線複雜 (8i Lite, Mobile Agents, Web-To-Go, Oracle Mobile 等曾獨立發布),選型時需確認授權與整合範圍。
方案三:PointBase 4.0 Pocket Edition (純 Java、極輕量)
核心特色
- 100% Pure Java,通過 J2SE/J2ME 認證,任何相容 JVM 均可運行 (Win32, Palm OS, WinCE, Motorola iDEN 手機)。
- 體積 < 45KB (JAR),極適合 J2ME MIDP 環境。
- 標準 SQL 92 子集,支援 JDBC 2.0 API。
適用場景
目標平台含 J2ME 相容 JVM,需輕量級嵌入式 SQL 引擎,且不想依賴原生代碼移植。
其他提及產品
- IBM DB2 Everywhere:DB2 開發者熟悉,多平台支援。
- Microsoft SQL Server CE:.NET Compact Framework / WinCE 生態首選。
選型建議決策樹
- 若需最成熟、最完整同步方案,首選 Sybase SQL Anywhere/UltraLite + MobiLink。
- 若企業標準為 Oracle 後端、現有 Web/Servlet 架構、需無線同步/應用部署,選 Oracle 8i Lite (Web-To-Go + Mobile Agents)。
- 若目標為 J2ME MIDP 裝置、極度受限記憶體、純 Java 部署、不想碰原生碼,選 PointBase Pocket Edition。
- 若鎖定 WinCE/.NET CF,考慮 SQL Server CE;若鎖定 DB2,考慮 DB2 Everywhere。