• Aucun résultat trouvé

Trajectory Database Engines

Dans le document Mobility, Data Mining and Privacy (Page 159-162)

Trajectory Database Systems

6.2 Trajectory Database Engines

As already stated in the previous chapter, the research area of Moving Objects Databases (MODs) has addressed the need for representing movements of objects (i.e., trajectories) in databases to perform ad hoc querying, analysis, as well as data mining on them. During the last decade, there has been a lot of research ranging from data models and query languages to implementation aspects, such as efficient indexing, query processing, and optimization techniques. The realization of data models proposed in the literature as well as packaging corresponding functionality to specific technical solutions results in MOD engines. In the literature, one can E. Frentzos

Computer Technology Institute (CTI) and Department of Informatics, University of Piraeus, Greece, e-mail: efrentzo@unipi.gr

F. Giannotti and D. Pedreschi (eds.)Mobility, Data Mining and Privacy.

c Springer-Verlag Berlin Heidelberg 2008

151

152 E. Frentzos et al.

find at least two MOD engines developed to realize the model proposed by G¨uting et al. [25], namely the SECONDO prototype [3] and the HERMES engine [43, 44].

These will be reviewed in the following paragraphs.

6.2.1 SECONDO

The first development concerns a follow-up on the study of abstract moving object data types and algorithms for the operations defined in [25]. Whereas [19] just pro-vides a succinct look into this issue, Lema et al. [34] present a systematic study of algorithms for a subset of the methods introduced in [25]. The final outcome of this work was a research prototype, which has been recently demonstrated in [3]. The prototype has been developed as an algebra module in the extensible DBMS envi-ronment SECONDO [17, 26]. The module uses thesliced representation, described in the previous chapter, representing a time-dependent value as a sequence of simple temporal functions. Having defined the physical storage of each of the objects in the type system, the next step is the development of the temporal counterparts of opera-tions defined in the ROSE algebra. For example, an operation answering whether a point resides or not inside a region (i.e.,inside[point region]: bool) is transformed, by an approach calledlifting, to an operation returning a time-varying Boolean rep-resenting the periods where a moving point is inside the region (i.e.,inside[mpoint region]: mbool). Finally, special operators for moving types are offered such as pro-jections into time and range of values, intersections with values or sets of values from time and range of values, and methods that determine rate of change. The above-described functionality has been embedded into SQL and slightly adapted so that queries can be written directly as PROLOG terms, as this is the development language of SECONDO.

SECONDO is a DBMS prototype platform especially adjusted for extension by algebra modules for nonstandard applications. It does not support a predetermined data model, but rather is open for implementation of new models. It consists of (a) a kernel, which offers query processing over a set of implemented type system alge-bras, (b) anoptimizer, which implements the essential part of an SQL-like language, and (c) an extensible GUI where new data types and models can provide specialized viewers for moving objects (see Fig. 6.1a). As such, to realize the spatiotemporal algebra introduced in [25], two modules have been built in SECONDO: the first pro-vides all the spatial data types and operations (i.e., the ROSE algebra module [24]) and the second provides the above-mentioned moving object algebra module. More specifically, theoptimizerprovides cost-based optimization of conjunctive queries producing an execution plan and thekernelevaluates the query plan, also called an executable query, or a query at the executable level, which is just a term of the imple-mented algebras. Query processing is performed as follows (Fig. 6.1): thecommand managerreceives an executable query, parses it, and passes the result to thequery processor. The query processor then evaluates the query by building an operator tree and then traverses it, calling operator implementations from the algebras. SEC-ONDO stores (and retrieves) moving objects into a database with the help of the

GUI

Optimizer

Kernel

Command Manager

Query Processor & Catalog

Op 1 Op 2 Op n

Storage & Manager Tools (a) (b)

Fig. 6.1 SECONDO system [3]: the three major components and a rough architecture of the kernel

storage manager, while the objects are managed by thecatalog. The reader who is interested in details about this process is referred to [17].

6.2.2 Hermes

Hermes, a database engine for handling objects that change location, shape, and size either discretely or continuously in time has been recently proposed by Pelekis et al. in [43, 44]. Hermes provides spatiotemporal functionality to state-of-the-art object-relational database management systems (ORDBMS). The prototype has been designed as an extension of STAU [42, 45], which is providing a system exten-sion to Oracle ORDBMS [39] data management infrastructure for historical MODs.

The system can be used either as a pure temporal or a pure spatial system, but its main functionality is to support the modeling and querying of continuously mov-ing objects. Such a collection of data types and their correspondmov-ing operations are defined, developed, and provided as an Oracle data cartridge, called Hermes Moving Data Cartridge (Hermes-MDC), which is the core component of the Hermes sys-tem architecture. Embedding the functionality offered by Hermes-MDC in Oracle DML [39], one obtains an expressive and easy to use query language for moving objects. In particular, Hermes-MDC defines a palette of moving object data types, illustrated in the UML class diagram of Fig. 6.2 [44].

The usefulness and applicability of the server-side extensions provided by Hermes has been demonstrated by developing an application on top of this frame-work [43], which builds and visualizes the results of a palette of MOD queries that have been proposed in the literature [64] as an advanced location-based services (LBS) benchmarking framework for the evaluation of MOD engines. Among others, Hermes functionality includes the following:

Queries on stationary reference objects; examples include distance-based or nearest-neighbor queries (e.g., find nearby or closest landmarks, respectively, with respect to one’s current location) and topological queries (e.g., find those who have crossed this area during the past hour)

154 E. Frentzos et al.

Fig. 6.2 Hermes-MDC class diagram [44]

Queries on moving reference objects; examples include distance-based (e.g., find those who have passed close to me this evening) and similarity-based queries (e.g., find the three most similar trajectories to the one I followed yesterday) – Queries involving unary operators, such as traveled distance or speed (e.g., find

the average speed of the trajectory I have followed during weekend)

Dans le document Mobility, Data Mining and Privacy (Page 159-162)