Query Processing in Mobile Databases
Download
Report
Transcript Query Processing in Mobile Databases
Query Processing in Mobile
Databases
Sowjanya Alaparthi
Introduction[1]
With the cutting edge technology advancements in wireless and
mobile computers, the query processing in a mobile
environment has become the major research area.
A mobile database is the one which can be connected to a
mobile computing device over a mobile network. The mobile
client and the back-end database server communicate over
wireless connections. Thus enabling the access to data at
anytime and from anyplace
The aim of this paper is to describe the basic query processing
mechanism in any database and show how data is
synchronized between the mobile and backend databases
Basic Query Processing
Mechanism[1]
Sybase SQL Anywhere[8]
SQL Anywhere offers a wide range of options for exchanging
data with existing enterprise systems and mobile devices.
MobiLink offers session-based, bi-directional synchronization. It
is designed for exchanging data between a consolidated
database and remote SQL Anywhere databases.
MobiLink file transfer functionality lets you transfer files to
remote applications on the same connection you use to
synchronize data, which is useful when populating new remote
databases or upgrading software
Mobilink Architecture[8]
Synchronization Using
Mobilink[8]
The mobilink clients communicate with the consolidated
database over a network through mobilink server.
The consolidated database can be Oracle, SQL Server, DB2
and adaptive server enterprise.
Communication can occur by using either TCP/IP or HTTP or
HTTPS.
A mobilink server acts as an interface between the mobilink
clients and the consolidated database.
clients initiate the synchronization process and after the
connection is established Mobilink client can upload the
changes to synchronizing server.
Synchronization logic is written in SQL, JAVA or .NET for upload
and download purposes.
SQL Server 2005 Compact
Edition[3]
It is a mobile relational database produced by Microsoft for
applications that run on mobile devices and desktops.
The latest release is the SQL Server 2005 Compact Edition
(version 3.5) supports Exchange of data between Microsoft SQL
server 2005 Compact edition (SQLCE) and SQL server in two
ways[3].
1. Remote data access and
2. Merge replication
Merge Replication[7]
Merge replication in SQLCE is ideally suited to remote clients
and devices as it enables autonomous data updates in the
client application and on the server.
In this the data is distributed among publisher (one who posts)
and subscriber (one who receives). In this process publisher
and subscriber can make any changes to the data, irrespective
of the connection status
Merging of updated data takes place when publisher and
subscriber connect. The data is published inside a folder called
snapshot folder, which now is the central location from which
the mobile clients access the data. The publisher, will keep the
data updated at scheduled intervals or when a request is made.
Replication Architecture[6]
Four components of
Replication[6]
SQL server mobile database engine is used to keep track of
updates, insertions, deletions made to records.
SQL server mobile client agent is a main replication component
that implements replication object interface
SQL server mobile server agent is used for communication
between publisher and subscriber. Whenever a client agent
makes a HTTP request, SQL server mobile client agent residing
in IIS takes care of the request.
SQL server mobile replication provider and reconciler, when we
initiate SQL server reconciler, Merge agent comes in contact
with subscription.
Remote Data Access
(RDA)[5]
We perform Pull/Push on the back end database.
In this method an application accesses the data from
remote SQL server database and stores it in local SQL
server mobile database and it is called pulling.
Any changes made to Local SQL server database are
updated by application, back to the SQL server database
later, and this is called pushing.
RDA Architecture
Components of RDA
The SQL Server Mobile Database Engine manages the SQL
Server data on the device for each record.
The SQL Server Mobile Client Agent is the component
responsible for implementing the RDA object interface.
Applications call this interface to programmatically control RDA.
SQL Server Mobile Server Agent resides on computer running
IIS and handles the HTTP requests made by the SQL Server
Mobile Client Agent.
Comparing RDA and
Replication[4]
Replication is better than RDA in providing the conflict
reporting mechanism for rows that cannot be updated on the
computer that is running SQL Server during a push operation.
Conflicting rows in RDA are strictly defined as insert, update,
or delete operations that fail because of an error when
pushed from SQL Server Mobile to the SQL Server table
When the data is published by the publisher the mobile
clients access data from the snapshot folder which in turn
reduces the number of connections which are made to the
central database.
Conclusion
The advantage of using SQL Anywhere is that, a consolidated
database can be one of the ODBC-compliant databases like
Adaptive Server Anywhere, Adaptive Server Enterprise, Oracle,
IBM DB2, and Microsoft SQL Server. But in SQLCE, it should
only be a SQL server.
SQLCE works well in environments where all the applications
and databases are Microsoft products. SQL Anywhere can work
in mixed environments where the applications and databases
can be from different vendors.
SQL Anywhere synchronization scripts can be written in SQL,
Java, or .NET programming languages, but in SQL CE scripts
can be written only in TSQL and .NET.
Role based security and permissions at a table level were not
included in SQLCE.
My Position
After considering all the previously stated issues, I would
support SQL anywhere database as it has better
synchronization process then SQLCE and supports multiple
consolidated databases
References
1. Agustinus Borgy Waluyo et al., Research in mobile database
query optimization and processing, Mobile Information Systems,
Volume 1 Issue 4, Dec 2005
2.
http://www.sybase.com/products/databasemanagement/sqlanywher
e
3.
Microsoft,http://download.microsoft.com/download/7/f/c/7fc207784e2e-4944-b432ed74b404e542/sqlservercompactdatasheet_final.doc
4.http://technet.microsoft.com/en-us/library/ms172916.aspx
http://technet.microsoft.com/en-us/library/ms172395.aspx
6. http://technet.microsoft.com/en-us/library/ms171927.aspx
7. http://technet.microsoft.com/en-us/library/ms172385.aspx
8.
http://infocenter.sybase.com/help/topic/com.sybase.dbmgen_1001/
pdf/dbmgen10.pdf?noframes=true
Questions?