Today’s workforce and consumers have become increasingly mobile. Businesses crunched by the economy or squeezed by competition look to mobile computing to gain a competitive advantage. This report examines the top contenders in the mobile database market space, starting with SQL Server Compact, Oracle Database Lite and IBM DB2 Everyplace.
Introduction
Today’s workforce and consumers have
become increasing mobile. Information at your fingertips is becoming more the
norm than the exception. Businesses crunched by the economy or squeezed by
competition look to mobile computing to gain competitive advantage, reduce
waste, speed up processes, and increase customer service.
Several mobile database products
compete in this market space for inclusion in business and consumer
applications. This report examines the top contenders: Microsoft SQL
Server Compact, IBM DB2 Everyplace,
Sybase
SQL Anywhere, Oracle
Database Lite, and SQLite.
Editor’s Note: For complete reviews of all the leading mobile development platforms, see the Internet.com Special Report “Field Guide to the Mobile Development Platform Landscape“.
SQL Server Compact
The embedded database offering from
Microsoft is SQL Server Compact (SQL CE). The current edition of this
lightweight database engine is 3.5 SP2. With a
footprint of less than 2MB of disk space and 5MB of memory, SQL CE is capable of running on any
Microsoft Windows embedded, mobile, desktop, or server operating system.
Despite SQL CE having a different
codebase from other editions of the popular RDBMS, it integrates with the same
development, design, and management tools. Microsoft SQL Server Management
Studio can be used to manage SQL CE implementations and Microsoft Visual Studio
(including the latest release, 2010) can be used to embed SQL CE into
applications.
SQL Server developers can interact
with the database engine using familiar connection protocols (ODBC, OLE DB, ADO
.NET) and a subset of the same T-SQL language used across the product line.
Additionally, within Visual Studio, Language-Integrated Query (LINQ) is
supported as a querying mechanism for SQL CE. Support for transactions,
referential integrity, and indexing is included, however stored procedures and
some data types such as XML and spatial are not supported.
Applications can take advantage of
database storage up to 4G for their data needs while disconnected. When ready
to synchronize with a host SQL Server, either Remote Data Access (RDA) or merge
replication can be utilized. Horizontal (rows) and vertical (columns) filters can
be applied to merge replication to limit the size of the data transfer. RDA can
be used when administrator rights on the device are not available to set up
publications for merge replication. Synchronization does require a Client
Access License (CAL) to the host SQL Server.
Secure data transfer is accomplished
with 128-bit data encryption. Authentication and authorization for RDA is
handled by Internet Information Services (IIS). Encryption is via the Secure
Sockets Layer (SSL) encryption service in IIS. The database file itself is
secured using RSA 128-bit data file encryption and can be password protected.
Deployment options for SQL CE include
ClickOnce, Microsoft Installer package (MSI), and XCopy. If administrator
rights are an issue, the files can be directly copied onto the device. The MSI
package allows for a standard installation of the database engine. ClickOnce
can be used to deploy the database files along with the application.
By far the best feature of SQL CE is
that it is completely free. There is no cost to download it, develop against
it, or deploy it. Microsoft allows redistribution by simply signing a
redistribution agreement online.
Oracle Database Lite
Oracle provides a mobile database
offering consisting of Database Lite Client and middle tier, Oracle Database
Lite Mobile Server. The current edition, 10g, has support for the following
platforms: Windows (2003, XP, Vista), Windows Mobile (5, 6), Linux (Redhat),
embedded Linux, and Symbian (7, 8, 9).
Mobile Server provides bi-directional
data synchronization to an enterprise instance of an Oracle database. The user
interface into Mobile Server is Mobile Manager, which allows for system
management, performance tuning, application management, user management, and
device management. Mobile Server is deployable on Windows, Linux, Sun SPARC,
HP-UX and IBM AIX.
Automatic data synchronization takes
place in the background utilizing synchronization rules. Synchronization
support has been extended to include SQLite databases with version 10.3 of
Database Lite. Also added with the 10.3 release is support for file
synchronization. Customizable conflict detection and resolution is also
provided with Mobile Server, which is scalable and highly available.
FIPS-140 compliance is achieved at the
database level as well as during data transmission. Secure synchronization is
achieved with SSL. 128-bit AES encryption is utilized for the database.
Developers get a jumpstart on
application development against Database Lite by utilizing the supplied Mobile
Database Workbench (MDW) wizards. MDW is a graphical user interface for
designing replicated databases. In addition to this, the Mobile Development Kit
(MDK) supplies developers with an API, code samples, and tutorials.
Documentation, support, and access to community forums are provided through
Oracle’s website (www.oracle.com).
ODBC, JDBC, and ADO.NET are supported
for programming against Database Lite. SQL-92 is supported, however stored
procedures and triggers are not written in PL/SQL as they would be in other
Oracle editions. Instead, Java, C++, and .Net stored procedures and triggers
are supported.
The mobile database size limit is 4GB
of relational data. It is capable of storing up to an additional 16TB of BLOB
data, however.
Oracle provides a packaging and
deployment utility called Packaging Wizard. It is responsible for packaging up
all the components and deploying them to the Mobile Server. The Mobile Server
then manages the deployment to the individual devices.
Oracle Database Lite is a mere $60 per
user. The Mobile Server, on the other hand, is $23,000 per processor for the
server on which it is deployed. This makes it the most expensive of the mobile
database solutions reviewed here.
IBM DB2 Everyplace
IBM’s offering in the mobile and
embedded database space is DB2 Everyplace, also known as DB2e. This robust
database has a footprint of a mere 350KB and runs on Windows (2000, 2003, XP,
Vista, CE), Linux (Linux and Embedded Linux), Symbian, QNX, and Palm OS operating
systems. Version 9.1 is the latest revision of this mobile RDBMS, which has
been optimized for SAP.
There are two editions of DB2e. For
cases where data synchronization to a central host is not necessary, the
Database Edition provides for local data storage. DB2e Enterprise Edition
provides for scenarios where the mobile device requires frequent updates or
remote data capture and synchronization. This edition comes packaged with DB2
Everyplace Sync Server and DB2 Everyplace Sync Client to enable secure synchronization
services.
DB2 Everyplace Sync Server is capable
of secure, bi-directional synchronizing of DB2e instances with popular
enterprise database servers and runs on Windows (32-bit), Linux (32-bit),
Solaris (64-bit), and AIX (64-bit). A servlet is provided for simple,
low-volume scenarios. Scalability and high-availability can be achieved with
the Sync Server farm configurations on Java application servers (such as
Websphere Application Server). Sync Server supports conflict detection and
resolution if the database engine supports JDBC (such as Oracle, SQL Server,
and DB2). A DB2 mirror database is utilize for this purpose.
Sync administrators can use the
graphical user interface, Mobile Devices Administration Center, to setup and
maintain synchronization subscriptions, users, and devices. Alternately, the
XML Scripting Tool provides a means to automate these same synchronization
related tasks.
Applications can interact with the
mobile database using DB2 Call Level Interface (CLI), ODBC, JDBC, or ADO.Net.
DB2 supports a subset of standard SQL on the mobile database. Common data types
are accounted for including support for BLOBs. DB2e has transaction support,
failure recovery, and allows for indexing for performance tuning. Stored
procedures are only supported as remote calls via the Remote Query and Stored
Procedure Adapter.
Developers can take advantage of the
SDK including tutorials and code samples. Documentation and support as well as
links to community forums are available from the IBM website.
DB2e does not advertise a specific
database size limit, but rather details limits on table size, row size, and
various other characteristics. See "DB2
Everyplace database and SQL limits" in the documentation for a list of
DB2e limits.
Licensing costs are per user and
differ in cost by edition. A user license for DB2e Database Edition cost
$72.50. Enterprise Edition costs $166. This includes the license, software
subscription, and 12 months of support.