18
Query Processing in Mobile Databases Sowjanya Alaparthi

Query Processing in Mobile Databases

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Query Processing in Mobile Databases

Query Processing in Mobile Databases

Sowjanya Alaparthi

Page 2: Query Processing in Mobile Databases

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

Page 3: Query Processing in Mobile Databases

Basic Query Processing Mechanism[1]

Page 4: Query Processing in Mobile Databases

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

Page 5: Query Processing in Mobile Databases

Mobilink Architecture[8]

Page 6: Query Processing in Mobile Databases

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.

Page 7: Query Processing in Mobile Databases

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

Page 8: Query Processing in Mobile Databases

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.

Page 9: Query Processing in Mobile Databases

Replication Architecture[6]

Page 10: Query Processing in Mobile Databases

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.

Page 11: Query Processing in Mobile Databases

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.

Page 12: Query Processing in Mobile Databases

RDA Architecture

Page 13: Query Processing in Mobile Databases

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.

Page 14: Query Processing in Mobile Databases

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.

Page 15: Query Processing in Mobile Databases

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.

Page 16: Query Processing in Mobile Databases

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

Page 17: Query Processing in Mobile 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/sqlanywhere

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

Page 18: Query Processing in Mobile Databases

Questions?