The Internet of Things is expected to contribute to a "smarter world" by connecting the physical to the virtual, i.e., enabling advanced knowledge engineering over the big data gathered about the physical world. However, such a promise comes along with high resource consumption, spanning the network, storage and computational resources, not to mention possible security and privacy threats. As a result, it tends to be admitted that the IoT smartness will not be accommodated at scale by a centralized cloud-based approach. Instead, the deployment of IoT systems needs to leverage a highly distributed system architecture, which optimizes the distribution of the computation from the edge to the cloud according to the unique business requirements in terms of financial cost, latency, availability, etc. Toward that goal, this paper introduces the LATTICE framework, which aims at taming the complexity of configuring edge-based IoT systems. LATTICE builds upon ontologies that have proven useful to characterize the constituents of IoT systems in the required domain-specific way. However, LATTICE also revisits the exploitation of ontologies i.e., the formal description of the real world, spanning the physical and cyber entities across the development life-cycle of the IoT systems. As a first evidence, this paper introduces an automated approach to the optimization of IoT system configurations at the edge, provided the ontological description of the target IoT system.
NoSQL data stores support hierarchical, heterogeneous data such as XML, JavaScript Object Notation (JSON), and Binary JSON (BSON). A need exists for a tailor-made language for querying such hierarchical, heterogeneous datasets. JSONiq was designed from the ground up to support JSON data and run against all JSONor BSON-based data stores, turning them into full-fledged databases.
With sinking storage costs, it becomes more and more feasible, and popular, to retain past versions of documents and data. While undoing changes is worthy, this becomes even more valuable if the data is queryable. Nowadays, there are two widespread version control paradigms: document versioning (SVN, git, etc.) and versioned databases. The former handles any kind of document, even binary, but only sees lines of text, so that the query capability is limited. The latter provide ne-grained temporal query capabilities on highly structured data - but storing everything in a relational database is not desirable. The goal of this paper is to provide a unied framework for eciently versioning, querying and updating not only data and documents, but also, inbetween, any kind of semi-structured information, like XML.We start with the XQuery programming language and meticulously extend its data model, its syntax and its processing model to make it seamlessly time-aware. We provide data structures and algorithms for the ecient implementation of such a versioning system. Finally, we show that there is no signicant performance loss for traditional queries when enriching an existing engine with versioning capabilities.
As storage main memory as well as disk becomes cheaper, the amount of available information is increasing and it is a challenge to organize it. Our broader aim is to provide a unified framework for efficiently versioning and querying data, documents, as well as any kind of semi-structured information between data and documents, which can be stored as XML. In order to query this information, we started with the XQuery programming language, and extended its data model, its syntax and its processing model to make it seamlessly time-aware. More specifically, to do this, we made the assumption that the changes made by an XQuery program can always be expressed as a PUL. This is not obvious with an XQuery Scripting Extension program, as it can apply several, possibly interdependent, PULs. The contribution of this paper is to introduce a new operation on pending update lists, called PUL composition, which allows to summarize the changes made by an entire XQuery Scripting program with a single PUL instead of a sequence of PULs.
There has been a great deal of hype about cloud computing. Cloud computing promises infinite scalability and high availability at low cost. Currently, Amazon Web Services is the most popular suite of cloud computing services, but other vendors such as Adobe, Google, and Microsoft are also appearing on the market place. The purpose of this paper is to demonstrate the opportunities and limitations of using cloud computing as an infrastructure for general-purpose Web-based database applications. The paper studies alternative consistency protocols in order to build database services on top cloud storage services. Furthermore, the paper studies alternative client-server and indexing architectures. Both the performance (response time) and cost trade-offs are studied.
Traditionally, database systems were optimized in the following way: "Given a set of machines, try to minimize the response time of each request." This paper argues that today, users would like a database system to optimize the opposite question: "Given a response time goal for each request, try to minimize the number of machines (i.e., cost in $)." Furthermore, this paper gives an example that demonstrates that the new optimization problem may result in a totally different system architecture.
This paper describes a number of XQuery-related projects. Its goal is to show that XQuery is a useful tool for many different application scenarios. In particular, this paper tries to correct a common myth that XQuery is merely a query language and that SQL is the better query language. Instead, XQuery is a full-fledged programming language for Web applications and services. Furthermore, this paper tries to correct a second myth that XQuery is slow. This paper gives an overview of the state-of-the-art in XQuery implementation and optimization techniques and discusses one particular open-source XQuery processor, Zorba, in more detail. Among others, this paper presents an XQuery Benchmark Service which helps practitioners and XQuery processor vendors to find performance problems in an XQuery processor.
In late May, 2008, a group of database researchers, architects, users and pundits met at the Claremont Resort in Berkeley, California to discuss the state of the research field and its impacts on practice. This was the seventh meeting of this sort in twenty years, and was distinguished by a broad consensus that we are at a turning point in the history of the field, due both to an explosion of data and usage scenarios, and to major shifts in computing hardware and platforms. Given these forces, we are at a time of opportunity for research impact, with an unusually large potential for influential results across computing, the sciences and society. This report details that discussion, and highlights the group's consensus view of new focus areas, including new database engine architectures, declarative programming languages, the interplay of structured and unstructured data, cloud data services, and mobile and virtual worlds. We also report on discussions of the community's growth, including suggestions for changes in community processes to move the research agenda forward, and to enhance impact on a broader audience.
There has been a great deal of hype about Amazon's simple storage service (S3). S3 provides infinite scalability and high availability at low cost. Currently, S3 is used mostly to store multi-media documents (videos, photos, audio) which are shared by a community of people and rarely updated. The purpose of this paper is to demonstrate the opportunities and limitations of using S3 as a storage system for general-purpose database applications which involve small objects and frequent updates. Read, write, and commit protocols are presented. Furthermore, the cost ($), performance, and consistency properties of such a storage system are studied.
Over the years, the browser has become a complete runtime environment for client-side programs. The main scripting language used towards this purpose is JavaScript, which was designed so as to program the browser. A lot of extensions and new layers have been built on top of it to allow e.g. DOM navigation and manipulation. However, JavaScript has become a victim of its own success and is used way beyond its possibilities, leading to increased code complexity. We suggest to reduce programming complexity by proposing XQuery as a client-side programming language. We wrote an extension for Microsoft Internet Explorer, based on the Zorba XQuery engine, which allows execution of XQuery scripts in the browser. An extension for Firefox is on the way as well. This paper demonstrates how client-side applications in XQuery look like and what they can do within a very small amount of code.
This paper presents two extensions for XQuery. The first extension allows the definition and processing of different kinds of windows over an input sequence; i.e., tumbling, sliding, and landmark windows. The second extension extends the XQuery data model (XDM) to support infinite sequences. This extension makes it possible to use XQuery as a language for continuous queries. Both extensions have been integrated into a Java-based open source XQuery engine. This paper gives details of this implementation and presents the results of running the Linear Road benchmark on the extended XQuery engine.
We consider a heterogeneous database system (HDBMS) with a global object schema, and remote target databases that may be relational or object-oriented. The problem is to transform an initial query, posed against the global object schema in an object query language, into simpliied queries that can be eeciently processed against some remote target databases. In the HDBMS, query optimization is made diicult by schematic discrepancy, and the need to model mapping information between the global and target schema(s). In this paper, we address this problem by representing the mappings from a target schema to the global schema, as a set of heterogeneous object equivalences, in an algebraic language. These equivalences are the basis for deening the heterogeneous search space of an HDBMS optimizer. We extend a modular rule-based query optimizer to produce simpliied optimized queries for the HDBMS. The main result, reported in this paper, is the ability of the optimizer to uniformly perform syntactic simpliications, logical and semantic equivalence transformations , as well as heterogeneous equivalence transformations.
Developers of relational database systems have made few con cessions to the Web, preferring that Web applications access relational tables through SQL (or other progra mming interfaces) via intermediate gateway software. Result sets from database queries continue to be delivered t o applications for further processing one row at a time. This article describes ways that relational database s r accessed on the Web through HTML and XML, and some system integration issues.
Data stored in databases constantly evolves as the application requirements change over time. Such evolution is a challenge, as existing applications must continue to work with the evolved data. XML is fast becoming the data model of choice for many applications as the XML data can be evolved easily and it supports heterogeneity. Various ways of storing XML data in tables or columns have been studied and explored in the past. However, they either do not address the evolving or heterogeneous nature of XML, or they do not take advantage of that in query optimization. UNION-ALL Views offer a logical layer to combine XML stored in various forms. This form of views - XML views - unlike relational views, offer logical structural partitioning of the XML data. In this paper we examine how such views can be used to solve the heterogeneity and evolving nature of XML and the unique properties of such views that allow better optimization.
XQuery is a declarative language for querying and updating XML data sources. Interfacing XQuery to a host programming language is difficult because of the type system mismatch, and global optimization is difficult in a mixed-language environment. In this paper, we investigate a small extension called XQueryP that enables XQuery expressions to exchange state information through variables. This extension makes it easier to develop applications in XQuery without relying on a host programming language. We draw an analogy between the proposed extension and similar extensions that have been added over the years to the SQL query language for similar reasons.
XQuery is a declarative language for querying and updating XML data sources. Interfacing XQuery to a host programming language is difficult because of the type system mismatch, and global optimization is difficult in a mixed-language environment. In this paper, we investigate a small extension called XQueryP that enables XQuery expressions to exchange state information through variables. This extension makes it easier to develop applications in XQuery without relying on a host programming language. We draw an analogy between the proposed extension and similar extensions that have been added over the years to the SQL query language for similar reasons.
There are many emerging applications for XML. Although there are many tools availalbe, an open question is the right programming paradigm to process XML data. Today, the most popular solutions are based on extensions to existing programming languages (e.g., Java, Python or PHP) with XML-specific libraries and APIs. Such libraries either represent the XML data as a virtual tree, or they read the XML data in a streaming (push or pull) fashion. This approach has the obvious problems that arise from the impedance mismatch between the XML type system and the type system of the host language. Moreover, the code written in such programming languages cannot be (easily) optimized using traditional techniques; good performance, scalability, and service-level guarantees is difficult to achieve for such programs on large datasets. Recently, several proposals for new programming languages have been made in both industry and the research community. One prominent example is Microsoft's XLinQ language. Another prominent example of XML processing in Web-based applications is AJAX (Asynchronous Java Programming with XML). In academia, XL, XStatic, Links, and several other languages have been proposed. All these solutions follow different philosophies and address critical design questions in different ways. This tutorial gives an overview of the current generation of programming languages for data-intensive XML applications. Furthermore, this tutorial compares the possible solutions based on a few comparative practical criteria. The tutorial shows how each solution addresses the design questions in different ways and gives the tradeoffs in terms of capabilities and optimizability of these languages are.
Louiqa Raschid合作论文数Robert H. Smith School of Business, University of Maryland;Institute of Advanced Computer Studies, University of Maryland;Department of Computer Science, University of Maryland5
Gerhard Weikum合作论文数Department of Databases and Information Systems, Max-Planck Institute for Informatics3