You are on page 1of 9

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 3, ISSUE 9, SEPTEMBER 2013

QoMoD: Effective Query Optimization in Mobile Database Systems


Kshama Raichura, Nilesh Padhariya and Kishor Atkotiya
Abstract This work proposes QoMoD system for the effective query optimization in mobile database systems. In the recent era, the proliferation of mobile devices increases the high traffic on Internet. Furthermore, the large number of smart-mobile devices is capable to carry considerable amount of data with them. Increasing storage capability of mobile devices has inspired us to perform effective query optimization on mobile database systems, where small part of the central database can be cached on local mobile database for performing faster query processing. This further reduces the need of constant connectivity of the device to the central server, which reduces the Internet traffic. In QoMoD, the query issuer retrieves data from the cached mobile database, which minimizes the traffic at central database server. We consider the n number of possible Query Execution Plans (QEPs) available for query processing, which are being optimized by query optimizer through optimal plan choice. The main contributions of our work are three fold. First, we propose query optimization model QoMoD for faster data retrieval and effective query processing. Second, we propose two schemes, namely Sequential Query Optimization (SEQ) and Sorted Query Optimization (SRT), for developing QEPs. Third, we conduct a performance study, which demonstrates that SRT is indeed effective in improving performance of query processing with optimization, while minimizing the communication traffic. Index Terms Query optimization, Mobile computing, Mobile database systems

1 INTRODUCTION

HE usage of mobile devices are increasing day by day. Also the mobile devices are available with number of features like internet access, games and other applications means they are not available just with communication facility. These devices are functioning wirelessly and are able to form a mobile network to share the information with each other or with the central server. In mobile networks, energy-constrained tiny devices are able to store data in form of databases, which are known as mobile databases. Moreover, a mobile device is able to retrieve the information from the other mobile devices via mobile networks. This process of information retrieval is initiated through mobile queries. Such mobile network is not a fixed network as the nodes i.e., mobile devices are moving objects, which are able to play the role of client or server at a given point of time. When a mobile node raises any query in the network, that query is collaboratively processed by the mobile node(s), which has the result-data related to that query. The database is distributed among the mobile nodes in the mobile network. To perform efficient query processing in such dynamic network, where mobile devices join/leave the network very frequently, hence we need effective query optimization techniques to reduce various dependencies such as centralized server access. In addition to this, the frequent network disconnectivity leads to higher rate of connections with the server, which may involve the repetitive tasks such as initiation of network

connectivity, authentication, protocol initiations etc. Such issues required higher bandwidth utilization, which is not favorable on such energy-constrained limited-bandwidth mobile devices. Our proposed model QoMoD (Query optimization in Mobile Database) considers that the mobile device itself is capable to process small-scale queries on its own mobile databases. Such queries are checked by the inbuilt parser and then the query optimizer evaluates and selects the best Query Execution Plan (QEP) for a given query. For a single query, there may be more than one execution plans. In mobile database system, the databases are resides in the cached memory of the mobile called CachedDatabase. So, data access from this cached-database results in low traffic at the centralized server and best QEP results in faster data retrieval. In mobile database system, the clients are low-battery powered and have limited bandwidth connectivity. By considering this, we propose two query optimization methods, namely Sequential Query Optimization (SEQ) and Sorted Query Optimization (SRT). The main contributions of our work are three fold: 1. We propose query optimization model QoMoD for faster data retrieval and effective query processing. 2. We propose two schemes, namely Sequential Query Optimization and Sorted Query Optimization, for generating QEP. 3. We conduct a performance study, which demon strates that Sorted Query Optimization is indeed Kshama Raichura, Shree M. & N. Virani Science College, Gujarat, INDIA. effective in improving performance of query pro Nilesh Padhariya, Atmiya Institute of Technology & Science, Gujarat cessing with optimization, while minimizing the INDIA. Kishor Atkotiya, J.H. Bhalodiya Womens College, Gujarat, INDIA communication traffic. In QoMoD, both the optimization schemes are equal in

10

generating the final result set of a given query, but they differ in terms of their respective time duration of data retrieval for a given query. The sequential optimization method retrieves data in a similar way as the sequence of columns are specified in query whereas, the sorted method first sorts the list of columns based on specified constraints in the query and then starts the query processing. The reminder of this paper is organized as follows: section 2 represents the related work. The Section 3 and 4 represents the proposed architecture and our both the query optimization schemes respectively. The performance study is given in Section 5. Section 6 concludes this work along with the future directions.

2 RELATED WORK
A query is a language expression that describes data to be retrieved from database. Generally the query may be defined as either (i) direct request for data by the user or (ii) a transaction that changes the stored data [11]. In Query optimization context, it is often assumed that queries are expressed in a content-based manner. The total cost of any query optimization is the sum of communication cost, secondary access storage cost, computational cost & query latency.

2.1 Distributed Environment The hardest problem in the distributed database area is query optimization. A distributed database is a collection of independent cooperating centralized systems [3]. There is a need of communication network to transfer data for the query processing in distributed database. Any query from a given site might require data from remote sites. There is particular cost of each query execution plan, here query execution plan means a query optimization method and cost is the summation of local cost and data transfer cost between sites. As the number of relations in query is increased, it increases the complexity and cost. Moreover, less amount of data transmission is also an important factor to minimize the query processing cost and also a single query can be executed in several different ways. The key problem of query optimization in distributed environment is how to select the most cost effective plan to execute a query. There are number of optimization strategies like static, dynamic, randomized have been proposed by researchers, but all these strategies require the knowledge of the entire system and that is the reason that they are not suitable for distributed database system. Query optimization in distributed database system is an important research issue. The main challenging task is to determine a sequence of operations, which are used in the process of minimizing the cost by selected function. The work in [17] focuses a novel approach to reduce the volume of data transfer in the network by introducing reduction filters. Here number of relations located at different sites in the network, all the results must be joined and the final result is available at some distinct place. In this process, the reduction filters plays an important role to minimize the total communication cost. In distributed database system, the key factors that affect the performance, service efficiency and reliability of

system are: query processing and optimization. The work in [13] proposes one new query optimization algorithm based on multi-relation semi joins, which reduces the volume of intermediate result and effectively decreases the overall cost of network communication. In distributed environment the users have to pose their queries in a declarative manner using the SQL or OQL and the optimizer determines the good execution plan to execute the queries. This plan includes the execution plan and operation method (i.e. join, select or project), which is used to execute the query [1]. Mariposa is an experimental distributed data management system, which provides high performance in an environment of high data mobility and heterogeneous host capabilities. It combines approaches of distributed file system and distributed databases. Moreover, Mariposa provides general platform to develop new algorithm for distributed query optimization, storage management and scalable data storage structures [18]. Caching methods can be useful for both single query optimization and multi-query optimization. Use of intermediate data structure and common sub expressions play an important role in minimizing the cost of evaluation. The work in [2] presents how integration of single query optimization, multi-query optimization and cache investment is helpful in query execution in distributed database systems. Here intermediate data structure is generated by queries, the inputted data will be cached in memory and provides support for multithreaded execution and all these things reduce the evaluation cost and communication cost and response time. The autonomy and heterogeneity of component databases give rise to a number of issues, which make MQO (Multidatabase Query Optimization) a distinct problem from DQO (Distributed Query Optimization) [14]. The environment of multidatabase management system belongs to heterogeneous world in which the component databases are at the computer systems having various architectures. The concept of multidatabase management system (MDBMS) facilitates data sharing among component databases (local databases) and in this way provides interoperability to the assorted applications. In MDBMS, user generates the nonprocedural queries to get data from multiple databases. This type of query involving more than one database and for that to achieve good overall system performance, a global optimization should be performed [15]. An important indicator for the heterogeneous database, which locates in the different network is users response time. The work in [22] describes the distributed heterogeneous database system structure of query optimization system based on the Hibernate technical for the B/S structure and analysis the calculation of the response time. Nowadays, data collection is common in wide variety of fields, including business transactions, medical investigations and scientific research; such type of data need to analyzed and for that the demand of data analysis are ever growing. Moreover, challenges related to data analysis are higher than the challenges related to data storage and information retrieval on global scale in heterogene-

11

ous information system. Efficient query processing is the basic requirement for any technology such as On-Line Analytical Processing and Data Mining and Knowledge Discovery in database. And this can be achieved by distributing and scheduling the sub tasks in distributed and heterogeneous environment. The work in [5] proposes an agent-based technology using mobile query optimization for distributed data warehouse and OLAP applications to settle the dynamic concurrent query execution, which is further useful for cluster and grid computing. According to [8], inaccuracy in estimations, unavailability of data and unstable execution environment are the reasons because of those traditional optimizers are sub-optimal for large scale distributed queries. Changing in the execution site over the mobile agent is one of the approaches to solve this problem sub-optimally. It may happen that there are more than one execution sites available with associated costs. The content in [8] shows the evaluation of cost model and on the basis of that model; agents may choose the appropriate execution site. Moreover, The work in [4] represents the compile-time placement method of Mobile Relational Operators (MROs) in a large scale environment but the MROs are also capable for taking run time decision about the placement in case of compile time errors. The main drawback of the proposed method is MROs focus only on single point estimation for optimal performance at compile time. Generally, the mobile peers do not have a perfect knowledge of its position and the ambiguity of position is not considered to select the control access: this is the reason behind the failure of conventional controllers such as collisions [9]. The proposed algorithm icLGQ is used to calculate (information and constrained Linear Quadratic Gaussian) for efficiently searching of trajectory that approximates the globally-optimal motion plan in information space. The icLGQ is also scalable for high dimensional systems and environments and answering multiple queries efficiently.

2.2 Mobile Environment Recently mobile database technology is widely used in various fields including information sharing, near filed communication, weather forecasting, healthcare, mobile office, M-learning, stock activities and public services. For the mobile database system, the emergence of Mobile Adhoc NETwork (MANET) brings innovative organization. It is a really complex task to choose an effective execution plan for query in a distributed environment. Selection of an execution plan close to optimal is the main role of query optimization. The fundamental requirements of effective query optimization are: availability of sufficient information, effective data access technique and execution site. The model based on mobile agents provides an execution strategy over the network for each query is proposed in [20]. The main modules of this system are: query decomposition, optimization plan, execution plan. The execution of the query is done thorough the optimized plan using the mobile nodes. The real challenges in distributed environment are: communication, confidentiality of access, indexing, caching and replication mechanism,

redistribution of data and benchmarking. The content in [6] point outs contribution of various cost model approaches in large scale distributed query optimization. The reaction of mobile agents in case of errors and resource unavailability is shown in [6]. In sensor network and database community for the development of sensor applications, database like query processing also known as sensor query has become an attractive paradigm. The whole structure of this sensor query is characterized as a tree-like data delivery pattern considered as a query routing tree or execution plan having data streams among participating sensor nodes with possible data filtering or aggregation. Aggregation is an important tool for the data reduction. The application of generic query interface for data aggregation on the ad-hoc network is shown in [16]. As collision is one of the common reasons of energy consumption, the main aim of [21] is generation of query trees to minimize the energy consumption per query and collisions in concurrent data transmissions thus time wastes due to retransmissions. These query trees are generated using data transmission algebra (DTA). The queries are also optimizes in two phase : The first phase optimizes the optimal result, which makes minimum data transmission, while in second phase, the data from first join tree is distributed among various nodes (known as sub queries) for the execution and this distribution is performed dynamically. The [12] also represents optimization algorithm of middle result, query separation algorithm, query execution nodes selection algorithm and query plan execution algorithm. All these algorithms are not just minimize the energy cost of query but also produce better result in case of multi hop communication and dynamically changing topology. In recent era, broadcasting becomes a promising technique in development of mobile information system. In mobile application, the query issued from a single mobile client communicates to multiple items in sequential order. The framework named MULS (Multi-Level Service) is combination of OLS (an algorithm) and SCI (the procedure) designed for the information system is proposed in [7]. The algorithm OLS (On-Line Scheduling) is used for broadcasting data items in multiple channels and the procedure SCI (Sampling with Controlled Iteration) is used for quality improvement of broadcasted programs generated by OLS. Moreover, the framework MULS is able to generate flexible broadcast programs in both static and dynamic environment. When learner gets any sort of benefits from mobile technology in learning process is known as M-learning where the learner can access the course materials everywhere and anytime. For the improvement of data transmission and storage in M-learning system, the mobile database technology was commenced. But the mobile database system is not capable of performing all the transaction same way as in the traditional database system because of some features like mobility, disconnection, distribution and heterogeneity, etc. By considering the features of the mobile devices, the [19] proposed an agent based mobile database model. This model mixed up all the members, decompose the long-lived transaction for

12

the effective query optimization of mobile database and improve the efficiency of data processing in M -learning.

3 ARCHITECTURE OF QOMOD
This section discusses architecture of QoMoD, our proposed query optimization model for mobile databases. Figure 1 represents the query processing in QoMoD. It shows the step-by-step query execution to retrieve data

rows and columns, which forms a table and each column has set of constraints to maintain data integrity. So, to form a particular Query Q, elements required are: set of Tables Tset, set of Columns Cset and set of Constraints dset.

3.2 Query Parser The query parser checks the validity of query in terms of syntax, attributes and relations and then translates it into an internal form using relational calculus. The purpose of validating syntax is to check that whether the query is formed as per the syntax rules of the query language or not and the purpose of validating attributes and relations is to check whether the names and relations are semantically meaningful names in the schema of the particular queried database or not [10] [1]. Here the Query Parser validates Q syntactically by checking names and existence of Tset (T1, T2, , Tn), Cset(C1, C2, , l) and dset(di, dj, , dk). 3.3 Query Optimizer The query optimizer finds the best expression from various different algebraic expressions. A criterion used is Cheapness. Once the query has been translated into an internal form, the query expressed as relational algebra and this expression is generally known as initial algebraic query and represents as a query tree (tree data structure) where relations of the query are the leaf nodes and relation algebra operations are the internal nodes. Mostly, for a given single query there may be more than one possible algebraic query and performance of these algebraic queries is the measurement to determine the quality. Once the best algebraic query is found, the initial algebraic query is transformed into another algebraic query and after that the Query Execution Plan (QEP) is founded [1]. There is a set of algebraic queries for Q. The Query Optimizer selects one algebraic query from the set as an optimum solution and generates Query Execution Plan (QEP) for Q. 3.4 Interpreter / Code Generator Interpreter transforms the optimizers generated QEP into calls to the query processor. After deciding the QEP for the algebraic query, generate the code for the selected QEP. This code is executed either in compiled or interpreted mode to produce the result set of the query. According to QEP generated by the query optimizer, interpreter will generate the executable code for Q. 3.5 Execution After completion of all the processes on previous steps, the Query Processor executes code for Q. In mobile database system, the database resides on the mobile devices. Once the query is formed, it will pass through all the defined five steps of query processing. Then query will transfer on the mobile device. The mobile device checks the local database (cached-database) for the given query. If mobile device has sufficient data to fulfill the query it will generates the result set else it will request the centralized database server for the queried data. Actually the whole database is on the centralized database server. The limited storage, mobility and frequent

Fig. 1. Query processing in QoMoD

from the mobile/centralized database. Now, we explain QoMoD query processing in detail.

3.1 Query Form Queries offer the content-based information access to discover the various type of information from the database. Generally these queries are written in a specific language like SQL. Mainly these queries are either for information retrieval (for example: query of select, join etc.), which simply access the data from the database or for transactions (for example: query of insert, update, delete, etc.), hence it makes changes in the database. Once the query has been formed, the processing of query starts and this processing means translation of the actual query written in high level language into low level manipulation code.
Q = [T1 {C11 <d111, d112, d113, , d11i>, C12 <d121, d122, d123, , d12j>, . C1l <d1l1, d1l2, d1l3, , d1lk>}, . [T2 {C21 <d211, d212, d213, , d21i>, C22 <d221, d222, d223, , d22j>, . C1l <d2l1, d2l2, d2l3, , d2lk>}, . [Tn {Cn1 <dn11, dn12, dn13, , dn1i>, Cn2 <dn21, dn22, dn23, , dn2j>, . Cnl <dnl1, dnl2, dnl3, , dnlk>}] In database system, data is stored in a combination of

13

disconnections are the basic characteristics of the mobile devices. Because of these reasons the mobile devices may request for the data as and when required and store that data in local cache, it means mobile devices have only partial database.

4 QUERY OPTIMIZATION SCHEMES IN QOMOD


This section describes two methods of query optimization in mobile database system. We designate these schemes as Sequential Optimization and Sorted Optimization. Here the difference between these two schemes is the time duration within, which a particular query completes the execution. The time t required by Sorted Optimization is less than the Sequential Optimization (t(Srt) < t(Seq)). We define query Q as a combination of Tset, Cset, dset. Here the role of query optimizer is to determine the best QEP (Query Execution Plan) from the proposed two schemes for Q.

For example, In Q, C11 is of int type, C12 is of text type, C22 is of Boolean type. So, before executing the Q, this optimization plan sorts the Cset by considering the data types from lowest to highest (like boolean, int, text, etc.). The result of this sorting operation is fast data retrieval because the columns, which require less time get chance to execute first. Here consider Q having C11 of int type, C12 of text type and C22 is of Boolean type. So, before executing Q, this optimization scheme sorts the Cset by considering data types. Now, C22 will execute first, after that C11 will execute and C12 get chance to execute in last. In this way prioritizing the columns using sorting technique will improve the speed of data retrieval and the whole execution process will take less time as compare to sequential optimization method.

4.1 Sequential Query Optimization (SEQ) In Sequential Optimization method, the Q is going to execute in a sequential manner from left to right. Consider the above specified Q. The sequence of execution is as follow:
Q=[T1 {C11 <d111, d112, d113, , d11i>, C12 <d121, d122, d123, , d12j>, . C1l <d1l1, d1l2, d1l3, , d1lk>} Then [T2 {C21 <d211, d212, d213, , d21i>, C22 <d221, d222, d223, , d22j>, . C1l <d2l1, d2l2, d2l3, , d2lk>}, And then [Tn {Cn1 <dn11, dn12, dn13, , dn1i>, Cn2 <dn21, dn22, dn23, , dn2j>, And so on . Cnl <dnl1, dnl2, dnl3, , dnlk>}] So, this scheme just follows the defined order of the Q. In Q, the Cset belongs to multiple data types including (int, Boolean, text, blob, date-time, etc). At the same time, Cset has also dset. So, the time period to apply dset & data retrieval is varying from data type to data type. For example, the execution time to retrieve the data of int data type is comparatively more than Boolean data type. Now, here if the C11 belongs to int type, and C12 belongs to Boolean type, then C12 requires less time to execute as compare to C11. In this scheme, the Q will be executed in a sequential manner that is from left to right and top to bottom. Though C12 will take less time compare to C11, C12 must wait for completion of C11.

4.3 Illustrative Examples of SEQ and SRT Example 1: Figure 2 depicts an illustrative example of Query Execution Plan (QEP) generated by Sequential Optimization (SEQ) and Sorted Optimization (SRT).

Fig. 2(a). Database tables

Fig. 2(b). Query Execution Plan using SEQ

4.2 Sorted Query Optimization (SRT) In sorted optimization method, first of all Cset will be sorted and then after execution takes place.

Fig. 2(c). Query Execution Plan using SRT Fig. 2. Illustrative example of SEQ and SRT

Figure 2(a) represents the total number of tables (A, B

14

and C) having the records 10000, 5000 and 1000 respectively. Figure 2(b) depicts the QEP generated by SEQ for any formed Query Q for 100 records. The SEQ first generates the cross product of table A and B and stores this data into one temporary table t. Then generate the cross product of table t and table C. So, here to retrieve 100 records SEQ performs total 52*106 number of computations. Figure 2(c) depicts the QEP generated by SRT for any Q for 100 records. The SRT first generate the cross product of table B and C and store this data into one temporary table t then generate the cross product of table t and table A. So, here to retrieve 100 records SEQ performs total 10*106 no. of computations. Example 2: When query issuer issues the query Q, the Q will transfer to the query optimizer via query parser. It is the duty of query optimizer to select one of the given optimization schemes for the Q. For instance consider the following schema: Emp (id, name, salary, deptname, gender, post) Dept (deptno, deptname) Now consider the simple Q formed using SQL: select id, name, deptname, gender, salary from emp where salary>10000; In the above specified Q, there are total 5 columns and each has its own data type. Here, column of id and salary has int data type, name and department belongs to character datatype. The gender has bool datatype. If query optimizer selects Sequential Optimization for Q, it will take more time to execute Q compare to Sorted Optimization because sorted optimization performs sorting on columns according to data type and then retrieves the data.

value of storage capacity is: (1) RAM: 256 MB and (2) Flash Memory: 2 GB. Each mobile device contains data base of minimum 10MB, which varies up to 25MB. For data transmission we use GPRS.

5.1 Performance Evaluation Here the performance metrics are average response time (ART), CPU process time (CPT), communication time (CMT) and messages (MSG). We define a query as completed if the query issuer QI receives data within 70% of the query deadline time TQ. We compute ART only for the completed queries.

ART =

1 NC (tb te ) NC q=1

(1)

Where tb is the query-issuing time, te is the time of the query result reaching the query-issuer, and NC is the total number of completed queries. CPT is the time required by the CPU to process Q. We compute CPT only for the completed queries.

CPT =

1 NC (tcp ) NC q=1

(2)

Where tcp is the processing time by CPU in seconds to process and NC is the total number of completed queries. CMT is the time duration that Q takes to reach from source to destination and vice versa.

CMT =

1 NC (tcm ) NC q=1

(3)

Where tcm is the data transfer time in seconds per Q. We divide Q into sub parts according to available operations in it. Each sub part is denoted as MSG. For example, consider the single Q: Select E.emp_no, D.dept_no, E.emp_nm, E.salary from Dept D, Emp E where D.dept_no=E.dept_no. In the above specified Q, there are three operations, one is data selection, second is join operation and third is expression evaluation. Thus,
NQ

5 PERFORMANCE STUDY
This section represents the performance study of these two optimization methods. Both the optimization plans are equivalent in terms of their final output but vary in their cost means the amount of time that they need to execute query. TABLE 1 PARAMETERS OF PERFORMANCE STUDY Parameter Number of MPs Processor of MPs Size of Cached Database RAM Flash Memory Probability of MP availability Value 100 1GHz to1.9 GHz 10MB to 25MB 256MB to 1GB 2GB to 8GB 50% to 75%

MSG = mq
q =1

(4)

Where mq is the number of messages incurred for the qth query. The performance study is done using various types of queries like join query, transactional query, aggregate query, procedural query and selection query etc.

In our experiments, we consider mobile devices having the processor range from 1 GHz to 1.9 GHz. The default

5.2 Performance of SEQ and SRT We conducted an experiment using values of parameters in Table 1. Figure 3 depicts the results. After processing of 1200 queries, ART, CPT and CMT increase sharply for both SEQ and SRT. However, ART and CMT

15

is more stable than CPT and MSG, while processing 800 to 1200 queries because more number of mobile peers (MPs) available in the network. As the number of queries are increasing, ART, CMT, CPT and MSG increasing gradually for SEQ and SRT. Notably, ART, CPT and CMT by using SRT are less effective compare to SEQ.

Fig. 3(d). MSG Fig. 3. Performance of SEQ and SRT

Notably, SRT performs better than SEQ due to two reasons: 1) The no. of computations of SRT is less than SEQ, which generates less number of MSG and 2) SRT retrieves data faster because it retrieves data in a sorted order.
Fig. 3(a). ART

5.2 Performance of Different types of Queries To deal with any database system, we must aware about the Queries. Generally these queries are mainly for two purposes, (i) For Data Retrieval and (ii) For Transaction. The users of the database are used this system just for data retrieval and according to need of information, the users may formed the data retrieval query with number of variations like join, aggregate, procedure, etc. Here we have considered various types of queries. The Table 2 represents different types of queries.
TABLE 2 TYPES OF QUERIES Query Type Join Query Aggregate Query Procedural Query Transactional Query Selection Query The Join Query is used to retrieve combination of data from more than one table specially when tables with relationship. The Aggregate Query performs aggregate operations on resultant data so the users are able to get summary type data using sum, avg, max, etc. In Procedural Query each query has one defined procedure. The query is performed on table by applying this procedure. To perform the transactions in database system (like add, edit and delete), the Transactional Query is required. Generally, the ultimate use of the database system is Faster Data Retrievaland for this purposes the Selection Query is useful. Figure 4(a) represents the ART of each type of Q. The

Fig. 3(b). CMT

Fig. 3(c). CPT

16

join query and aggregate query always have more than one table and these type of queries have to select data from multiple tables, so the operations of these queries includes data selection, data projection and aggregate operation in case of aggregate query. The join query will retrieve the selected data set contains number of records and aggregate query retrieves summary of the joined data. So, there is a minor change in ART of join query and aggregate query. Generally, the transactional query has one table in most of the cases. This type of query just performs the transactions on table and does not retrieve data. The ART of this type of query is higher than the selection,

join and aggregate query because this type of query takes time to make changes in database table. The highest ART is of procedural query because in procedural query, one procedure is associated with each query means once a query is processed the associated procedure will start and then the response will generate. Figure 4(b) represents the MSG of each type of Q. Recall that MSG are the operations available on a Q. The join, aggregate and selection queries have operations like record selection from multiple tables, projection and generation of summary data. So, here difference

Fig. 4(a) ART

Fig. 4(b) MSG Fig. 4. Performance of Different Types of Queries

between the MSG of join query, aggregate and selection query shows the differences in the operations they performed because aggregate query has to perform some summary related operation whereas selection query does not has always multiple tables like join and aggregate query. Furthermore, the join query has to retrieve the data set not just summarized data like aggregate query. Moreover, in procedural type of query, query is followed by the procedures. So, there are chances of more number of MSG generations in procedural query as compared to

other query type.

6 CONCLUSION
We have proposed QoMoD, the query optimization model for mobile database systems through our optimization schemes, namely Sequential Query Optimization (SEQ) and Sorted Query Optimization (SRT). In our proposed approach, the query issuer retrieves data from the Cached-Database, which minimizes the traffic at central database server. For any type of given query, there are n

17

number of QEPs available and the query optimizer has to select one as an optimal plan. The Sorted Query Optimization method first sorts the list of columns available in a formed query and then starts the query processing, while Sequential Query Optimization will process the list of columns as they appear in the formed query. Here both the schemes generate the same result set for a particular query but the time required by both the schemes is different. In near future we plan to extend the Query Optimization by introducing Query-based Caching.

REFERENCES
[1] Alaa Aljanaby, Emad Abuelrub, and Mohammed Odeh. A survey of distributed query optimization. The International Arab Journal of Information Technology, 2(1):4857, 2005. I. Azari. Efficient execution of query in distributed database systems. In Advanced Computer Theory and Engineering (ICACTE), 2010 3rd International Conference on, volume 4, pages V4428V4433, 2010. P. Doshi and V. Raisinghani. Review of dynamic query optimization strategies in distributed database. In Electronics Computer Technology (ICECT), 2011 3rd International Conference on, volume 6, pages 145149, 2011. B. Ergenc, F. Morvan, and A. Hameurlain. Robust placement of mobile relational operators for large scale distributed query optimization. In Parallel and Distributed Computing, Applications and Technologies, 2007. PDCAT 07. Eighth International Conference on, pages 227235, 2007. A. Hameurlain and F. Morvan. Mobile query optimization based on agent-technology for distributed data warehouse and olap applications. In Database and Expert Systems Applications, 2002. Proceedings. 13thInternational Workshop on, pages 795799, 2002. A. Hameurlain and F. Morvan. Invited paper: How can mobile agents and cost model approaches helpf for distributed query optimization. In Database and Expert Systems Applications, 2006. DEXA 06. 17th International Workshop on, pages 617621, 2006. Hao-Ping Hung and Ming-Syan Chen. Muls: A general framework of providing multilevel service quality in sequential data broadcasting. Knowledge and Data Engineering, IEEE Transactions on, 19(10):14331447, 2007. M. Hussein, F. Morvan, and A. Hameurlain. Embedded cost model in mobile agents for large scale query optimization. In Parallel and Distributed Computing, 2005. ISPDC 2005. The 4th International Symposium on, pages 199206, 2005. Vu Anh Huynh and N. Roy. iclqg: Combining local and global optimization for control in information space. In Robotics and Automation, 2009. ICRA 09. IEEE International Conference on, pages 28512858, 2009. Yannis E Ioannidis. Query optimization. ACM Computing Surveys (CSUR), 28(1):121123, 1996. Matthias Jarke and Jrgen Koch. Query optimization in database systems. ACM Computing Surveys, 16:111152, 1984. Han Ke. Two-phase query optimization in mobile adhoc wireless networks. In Intelligent Computing and Intelligent Systems, 2009. ICIS 2009. IEEE International Conference on, volume 3, pages 515520, 2009. Xiaofeng Li, Dong Li, Hong Zhi Gao, and Lu Yao. Study of query of distributed database based on relation semi join. In Computer Design and Applications (ICCDA), 2010 International Conference on, volume 1, pages V1 134V1137, 2010. Hongjun Lu, Beng-Chin Ooi, and Cheng-Hian Goh. Multidatabase query optimization: issues and solutions. In Research Issues in Data Engineering, 1993: Interoperability in Multidatabase Systems, 1993. Proceedings RIDE-IMS 93., Third International Workshop on, pages 137143, 1993.

[2]

[3]

[4]

[5]

[15] Hongjun Lu and M.-C. Shan. On global query optimization in multidatabase systems. In Research Issues on Data Engineering, 1992: Transaction and Query Processing, Second International Workshop on, pages 217, 1992. [16] S. Madden, R. Szewczyk, M.J. Franklin, and D. Culler. Supporting aggregate queries over ad-hoc wireless sensor networks. In Mobile Computing Systems and Applications, 2002. Proceedings Fourth IEEE Workshop on, pages 4958, 2002. [17] J.M. Morrissey. Reduction filters for minimizing data transfers in distributed query optimization. In Electrical and Computer Engineering, 1996. Canadian Conference on, volume 1, pages 198201 vol.1, 1996. [18] M. Stonebraker, P.M. Aoki, R. Devine, W. Litwin, and M. Olson. Mariposa: a new architecture for distributed data. In Data Engineering, 1994. Proceedings.10th International Conference, pages 5465, 1994. [19] Jianhua Wang. Research on data transmission and storage in field of m-learning. In Information Engineering and Computer Science, 2009. ICIECS 2009. International Conference on, pages 14, 2009. [20] T. Win and Khin Mar Lar Tun. Mobile agent cooperation methods in hybrid query optimization. In Information and Telecommunication Technologies, 2005. APSITT 2005 Proceedings. 6th Asia-Pacific Symposium on, pages 7176, 2005. [21] V. Zadorozhny, P.K. Chrysanthis, and A. Labrinidis. Algebraic optimization of data delivery patterns in mobile sensor networks. In Database and Expert Systems Applications,2004. Proceedings. 15th International Workshop on, pages 668672, 2004. [22] Zhang Zhenyou, Luo Bin, and Cao Zhi. The research on the query optimization on the distributed heterogeneous database based on the response time. In Computer Science and Network Technology (ICCSNT), 2011 International Conference on, volume 3, pages 15411544, 2011. Kshama Raichura is an assistant professor in computer science department of Shree M. & N. Virani Science college- Atmiya group of institutions, Gujarat, India. She is pursuing Ph. D. degree in computer science at Saurashtra University, Gujarat, India where she works on data management on Mobile P2P system. She received her degree of BCA and M.Sc. (Info. Tech. & Com. App.) in the year 2009 and 2011 respectively from Saurashtra University, Gujarat, India Nilesh Padhariya is an associate professor of computer engineering at Atmiya Institute of Technology and Science, Gujarat, INDIA. He is perusing his Ph. D. degree in Computer Science at Indraprstha Institute of Information Technology, Delhi (IIIT-D), INDIA, where he works on mobile data management and economy-based incentive schemes for peer participation in mobile environment. He earned his M.Tech. degree in Computer Applications in 2006 from Indian Institute of Technology, Delhi (IITD), one of the prestigious institutions of INDIA. His work addresses the efficient data management using effective economic incentive-based schemes in mobile peer to peer (M-P2P) networks. It includes the dynamic query processing and the data replication in M-P2P networks using economic schemes. His work has been published at prestigious conferences and peer-reviewed journals. He has also received several grants for research and publications. Kishor Atkotiya is working as an associate professor in the department of computer science in J. H. Bhalodiya womens college, Gujarat, India. He earned his degree of M.Sc. in statistics in the year of 1990 from Saurashtra University, Gujarat, India. He received degree of Ph.D. in computer science interdisciplinary statistics from Saurashtra University, Gujarat, India. His work experience is more than 17 years. He has published number of research papers and books in the area of computer science.

[6]

[7]

[8]

[9]

[10] [11] [12]

[13]

[14]

You might also like