Your Federal Quarterly Tax Payments are due April 15th Get Help Now >>

Query Processing in Mobile Databases by malj

VIEWS: 17 PAGES: 18

									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/sqlanywhe
    re
   3.
    Microsoft,http://download.microsoft.com/download/7/f/c/7fc20778-
    4e2e-4944-b432-
    ed74b404e542/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?

								
To top