Download the Result from the Cluster

Total Page:16

File Type:pdf, Size:1020Kb

Download the Result from the Cluster UC Riverside UC Riverside Electronic Theses and Dissertations Title Interval Joins for Big Data Permalink https://escholarship.org/uc/item/7xb001cz Author Carman, Jr., Eldon Preston Publication Date 2020 License https://creativecommons.org/licenses/by/4.0/ 4.0 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California UNIVERSITY OF CALIFORNIA RIVERSIDE Interval Joins for Big Data A Dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science by Eldon Preston Carman, Jr. September 2020 Dissertation Committee: Dr. Vassilis J. Tsotras, Chairperson Dr. Michael J. Carey Dr. Ahmed Eldawy Dr. Vagelis Hristidis Dr. Eamonn Keogh Copyright by Eldon Preston Carman, Jr. 2020 The Dissertation of Eldon Preston Carman, Jr. is approved: Committee Chairperson University of California, Riverside Acknowledgments I am grateful to my advisor, Professor Vassilis Tsotras, without whose support, I would not have been able to complete this journey. Thank you for your continued encour- agement and guidance through this learning experience. I especially would like to thank my dissertation committee members, Dr. Ahmed Eldawy, Dr. Vagelis Hristidis, Dr. Eamonn Keogh, and Dr. Michael Carey, for reviewing my dissertation. I also like to thank Dr. Rajiv Gupta for his support in the beginning of this dissertation. I would like to thank everyone in AsterixDB’s team for their support. Especially Professor Michael Carey for his guidance in understanding the AsterixDB stack and managing the research in an active software product. Thank you to my lab partners, Ildar Absalyamov and Steven Jacobs, for all the lively discussions on our regular drives out to Irvine. Apache VXQuery had a strong base created by Vinayak Borkar and Till Westmann which made Chapter 7 possible and their continued feedback and guidance on how to develop Apache VXQuery. I would also like to acknowledge the other members of the AsterixDB team: Young-Seok Kim, Taewoo Kim, Jianfeng Jia, Pouria Pirzadeh, Abdullah Alamoudi, Murtadha Hubail, Yingyi Bu, Ali Alsuliman, Raman Grover, Sattam Alsubaiee, Keren-Audrey Ouaknine, and Dmitry Lychagin. Thanks to the rest of the UCR Database lab: Moloud Shahbazi, Jarod Wen, Shi- wen Cheng, Mohiuddin Qader, Christina Pavlopoulou, James Feng, and Elena Strzheletska. Thank you to Susan Gardner and James Foster for their editorial feedback. The text of this dissertation, in part, is a reprint of the material as it appears in IEEE Big Data 2015. The co-author Vassilis Tsotras listed in that publication directed and supervised the research which forms the basis for this dissertation. iv This research was partially supported by NSF grants: IIS-0910859, IIS-1447826 and CNS-1305253. Any Opinions, findings and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect those of the National Science Foundation. v To my wife and family for all their support. In the words of my daughter Cassia, “I love you so much!” vi ABSTRACT OF THE DISSERTATION Interval Joins for Big Data by Eldon Preston Carman, Jr. Doctor of Philosophy, Graduate Program in Computer Science University of California, Riverside, September 2020 Dr. Vassilis J. Tsotras, Chairperson The main part of this dissertation considers how to scale interval join queries. To provide scalable query processing for such joins, we adapted five recently published overlapping interval join algorithms and modified them to work in a shared-nothing big data management system (AsterixDB) under a memory budget. We developed a cost model for each algorithm to predict when an algorithm will spill to disk (run out of memory). Our experimental evaluation shows that the cost models are accurate and can be used to pick the most efficient algorithm for the given input data. The adapted interval join algorithms are shown to scale for large datasets using both synthetic and real datasets. Finally, we further adapt these algorithms to support several new types of interval joins, specifically overlap and contains, as defined by Allen’s interval algebra. We detail how to abstract the memory management from these algorithms. As a by-product we also implemented a scalable parallel processor, namely Apache VXQuery, that extends a stack consisting of Hyracks, a parallel execution engine, and Algebricks, a language-agnostic compiler toolbox. VXQuery provides an implementation of vii the XQuery specifics (data model, data-model dependent functions and optimizations, anda parser). We describe the architecture of Apache VXQuery, its integration with Hyracks and Algebricks, and the XQuery optimization rules applied to the query plan to improve path expression efficiency and to enable query parallelism. An experimental evaluation usinga real 500GB dataset with various XML selection, aggregation, and join queries shows that Apache VXQuery performs well both in terms of scale-up and speed-up. viii Contents List of Figures xi List of Tables xvii 1 Introduction 1 2 Background: The AsterixDB Software Stack 5 2.1 Hyracks . 6 2.2 Algebricks . 8 2.3 AsterixDB Runtime(s) . 11 2.4 Partitioning for Parallel Join Query Plans . 13 3 Scaling Overlapping Interval Joins 17 3.1 Introduction . 17 3.2 Extending AsterixDB for More Efficient Interval Joins . 19 3.3 Overlapping Interval Join Algorithms . 27 3.3.1 Sort-Merge Interval Join . 27 3.3.2 Time-Sweep Interval Join . 30 3.3.3 Forward-Scan Interval Join . 34 3.3.4 Overlap Interval Partition Join . 36 3.3.5 Disjoint Interval Partitioning Join . 40 3.4 Performance . 44 3.4.1 Speed-Up Non-Spilling Experiments . 48 3.4.2 Scale-Up Non-Spilling Experiments . 55 3.4.3 Scale-Up Spilling Experiments . 58 3.5 Conclusions . 62 4 Cost Models for Overlapping Interval Joins 64 4.1 Introduction . 64 4.2 Main Memory Utilization . 67 4.3 Join Size Estimation . 68 4.4 Cost Models . 71 ix 4.4.1 Sort-Merge Interval Join Model . 71 4.4.2 Time-Sweep Interval Join Model . 82 4.4.3 Forward-Scan Interval Join Model . 89 4.4.4 Overlap Interval Partition Join Model . 98 4.4.5 Disjoint Interval Partitioning Model . 107 4.4.6 Expanding the Models for Complex Datasets . 112 4.5 Model Accuracy . 116 4.5.1 Simple Dataset Self-Join . 116 4.5.2 Complex Dataset Self-Join . 119 4.6 Predicting Spilling . 121 4.7 Conclusions . 123 5 Lessons Learned From Implementing the Overlapping Interval Join Algo- rithms 125 6 Scaling Joins Involving Allen’s Interval Algebra 131 6.1 Introduction . 131 6.2 Covers and Overlaps Interval Join Algorithms . 134 6.2.1 Base Case: Sort-Merge Interval Join . 136 6.2.2 Modifying the Other Join Algorithms . 139 6.3 Performance . 140 6.3.1 Speed-Up Non-Spilling Experiments . 141 6.3.2 Scale-Up Non-Spilling Experiments . 145 6.3.3 Scale-Up Spilling Experiments . 149 6.4 Conclusions . 150 7 A Scalable Parallel XQuery Processor 152 7.1 Introduction . 152 7.2 Related Work . 154 7.3 Apache VXQuery’s Stack . 156 7.4 Rewrite Rules . 161 7.4.1 Path Expression Rewrite Rules . 161 7.4.2 Parallel Rewrite Rules . 167 7.5 Apache VXQuery Performance . 174 7.5.1 Weather Data . 175 7.5.2 Queries . 175 7.5.3 Experimental Results . 176 7.6 Conclusions . 182 8 Conclusions 184 Bibliography 187 x List of Figures 2.1 The layers of the Asterix architecture. 6 2.2 The components of the AsterixDB system architecture. 7 2.3 The components of the Algebricks architecture. 9 2.4 Global partitioning of a dataset in AsterixDB for interval join. 12 2.5 Hash partitioning applies a partition function to the data and re-partitions based on the hash results. 15 2.6 Broadcast partitioning sends each partition to all other partitions to cre- ate the full dataset in each partitions. The figure shows how the resulting partitions grows to hold the whole dataset. 15 2.7 Range partitioning creates partitions where each partition holds a specific range of join key values. 16 3.1 The initial query plan for Interval joins in AsterixDB. 20 3.2 PROJECT partitioning is the same as range partitioning with the interval start point as the key. 22 3.3 SPLIT partitioning is similar to range partitioning, but includes additional values that overlap multiple partitions. 22 3.4 REPLICATE partitioning is similar to range partitioning, but partially broad- casts each interval to all partitions with its start point and subsequent par- titions. 22 3.5 A sample join for Datasets R and S (where R and S have the same data) each with two partitions created using global SPLIT partitioning. 25 3.6 Updated query plan for AsterixDB interval join ordered partitioning and local sorting with SPLIT partitioning. 26 3.7 Sort-merge interval join actions for the in-memory mode. A) move a tuple from the stream of S to memory; B) move a tuple from the stream of R to memory; D) move a tuple from the spill file of R to memory; E) remove an active tuple in memory from S; and F) put the merged the tuples from R and S in to the result stream. 28 xi 3.8 Sort-merge interval join actions for the spilling mode. B) move a tuple from the stream of R to memory; C) copy the R tuple from memory to the spill file for R; D) move a tuple from the spill file of R to memory; E) remove an active tuple in memory from S; and F) put the merged the tuples from R and S into the result stream. 29 3.9 Time-sweep interval join actions for the in-memory mode. A) move a tuple from the stream of S to memory; B) move a tuple from the stream of R to memory; D) move a tuple from the spill file of R to memory; E) remove an active tuple in memory from S; F) remove an active tuple in memory from R; and G) put the merged the tuples from R and S into the result stream.
Recommended publications
  • QUERYING JSON and XML Performance Evaluation of Querying Tools for Offline-Enabled Web Applications
    QUERYING JSON AND XML Performance evaluation of querying tools for offline-enabled web applications Master Degree Project in Informatics One year Level 30 ECTS Spring term 2012 Adrian Hellström Supervisor: Henrik Gustavsson Examiner: Birgitta Lindström Querying JSON and XML Submitted by Adrian Hellström to the University of Skövde as a final year project towards the degree of M.Sc. in the School of Humanities and Informatics. The project has been supervised by Henrik Gustavsson. 2012-06-03 I hereby certify that all material in this final year project which is not my own work has been identified and that no work is included for which a degree has already been conferred on me. Signature: ___________________________________________ Abstract This article explores the viability of third-party JSON tools as an alternative to XML when an application requires querying and filtering of data, as well as how the application deviates between browsers. We examine and describe the querying alternatives as well as the technologies we worked with and used in the application. The application is built using HTML 5 features such as local storage and canvas, and is benchmarked in Internet Explorer, Chrome and Firefox. The application built is an animated infographical display that uses querying functions in JSON and XML to filter values from a dataset and then display them through the HTML5 canvas technology. The results were in favor of JSON and suggested that using third-party tools did not impact performance compared to native XML functions. In addition, the usage of JSON enabled easier development and cross-browser compatibility. Further research is proposed to examine document-based data filtering as well as investigating why performance deviated between toolsets.
    [Show full text]
  • A Platform-Independent Framework for Managing Geo-Referenced JSON Data Sets
    electronics Article J-CO: A Platform-Independent Framework for Managing Geo-Referenced JSON Data Sets Giuseppe Psaila * and Paolo Fosci Department of Management, Information and Production Engineering, University of Bergamo, 24044 Dalmine (BG), Italy; [email protected] * Correspondence: [email protected]; Tel.: +39-035-205-2355 Abstract: Internet technology and mobile technology have enabled producing and diffusing massive data sets concerning almost every aspect of day-by-day life. Remarkable examples are social media and apps for volunteered information production, as well as Open Data portals on which public administrations publish authoritative and (often) geo-referenced data sets. In this context, JSON has become the most popular standard for representing and exchanging possibly geo-referenced data sets over the Internet.Analysts, wishing to manage, integrate and cross-analyze such data sets, need a framework that allows them to access possibly remote storage systems for JSON data sets, to retrieve and query data sets by means of a unique query language (independent of the specific storage technology), by exploiting possibly-remote computational resources (such as cloud servers), comfortably working on their PC in their office, more or less unaware of real location of resources. In this paper, we present the current state of the J-CO Framework, a platform-independent and analyst-oriented software framework to manipulate and cross-analyze possibly geo-tagged JSON data sets. The paper presents the general approach behind the Framework, by illustrating J-CO the query language by means of a simple, yet non-trivial, example of geographical cross-analysis. The paper also presents the novel features introduced by the re-engineered version of the execution Citation: Psaila, G.; Fosci, P.
    [Show full text]
  • XML Prague 2012
    XML Prague 2012 Conference Proceedings University of Economics, Prague Prague, Czech Republic February 10–12, 2012 XML Prague 2012 – Conference Proceedings Copyright © 2012 Jiří Kosek ISBN 978-80-260-1572-7 Table of Contents General Information ..................................................................................................... vii Sponsors ........................................................................................................................... ix Preface .............................................................................................................................. xi The eX Markup Language? – Eric van der Vlist ........................................................... 1 XML and HTML Cross-Pollination: A Bridge Too Far? – Norman Walsh and Robin Berjon .................................................................................... 11 XML5's Story – Anne van Kesteren ................................................................................ 23 XProc: Beyond application/xml – Vojtěch Toman ........................................................ 27 The Anatomy of an Open Source XProc/XSLT implementation of NVDL – George Bina ...................................................................................................................... 49 JSONiq – Jonathan Robie, Matthias Brantner, Daniela Florescu, Ghislain Fourny, and Till Westmann .................................................................................................................. 63 Corona: Managing and
    [Show full text]
  • Recent Trends in JSON Filters Atul Jain*, Dr
    International Journal of Scientific Research in Computer Science, Engineering and Information Technology ISSN : 2456-3307 (www.ijsrcseit.com) https://doi.org/10.32628/CSEIT217116 Recent Trends in JSON Filters Atul Jain*, Dr. ShashiKant Gupta CSA Department, ITM University, Gwalior, Madhya Pradesh, India ABSTRACT Article Info JavaScript Object Notation is a text-based data exchange format for structuring Volume 7, Issue 1 data between a server and web application on the client-side. It is basically a Page Number: 87-93 data format, so it is not limited to Ajax-style web applications and can be used Publication Issue : with API’s to exchange or store information. However, the whole data never to January-February-2021 be used by the system or application, It needs some extract of a piece of requirement that may vary person to person and with the changing of time. The searching and filtration from the JSON string are very typical so most of the studies give only basics operation to query the data from the JSON object. The aim of this paper to find out all the methods with different technology to search and filter with JSON data. It explains the extensive results of previous research on the JSONiq Flwor expression and compares it with the json-query module of npm to extract information from JSON. This research has the intention of achieving the data from JSON with some advanced operators with the help of a prototype in json-query package of NodeJS. Thus, the data can be filtered out more efficiently and accurately Article History without the need for any other programming language dependency.
    [Show full text]
  • Rumble: Data Independence for Large Messy Data Sets
    Rumble: Data Independence for Large Messy Data Sets Ingo Müller Ghislain Fourny Stefan Irimescu∗ ETH Zurich ETH Zurich Beekeeper AG Zurich, Switzerland Zurich, Switzerland Zurich, Switzerland [email protected] [email protected] [email protected] Can Berker Cikis∗ Gustavo Alonso (unaffiliated) ETH Zurich Zurich, Switzerland Zurich, Switzerland [email protected] [email protected] ABSTRACT 1 INTRODUCTION This paper introduces Rumble, a query execution engine for large, JSON is a wide-spread format for large data sets. Its popularity heterogeneous, and nested collections of JSON objects built on top can be explained by its concise syntax, its ability to be read and of Apache Spark. While data sets of this type are more and more written easily by both humans and machines, and its simple, yet wide-spread, most existing tools are built around a tabular data flexible data model. Thanks to its wide support by programming model, creating an impedance mismatch for both the engine and languages and tools, JSON is often used to share data sets between the query interface. In contrast, Rumble uses JSONiq, a standard- users or systems. Furthermore, data is often first produced in JSON, ized language specifically designed for querying JSON documents. for example, as messages between system components or as trace The key challenge in the design and implementation of Rumble is events, where its simplicity and flexibility require a very low initial mapping the recursive structure of JSON documents and JSONiq development effort. queries onto Spark’s execution primitives based on tabular data However, the simplicity of creating JSON data on the fly often frames.
    [Show full text]
  • Title: SQL/JSON Part 2 - Querying JSON
    ISO/IEC JTC1/SC32 WG3:PEK-nnn ANSI INCITS DM32.2-2014-00025r1 Title: SQL/JSON part 2 - Querying JSON Author: Fred Zemke, Beda Hammerschmidt, Krishna Kulkarni, Zhen Hua Liu, Doug McMahon, Jim Melton, Jan-Eike Michels, Fatma Özcan, Hamid Pirahesh Source: U.S.A. Status: Change proposal Date: March 4, 2014 Abstract This paper addresses Comment #257, P02-USA-950, by proposing facilities for querying JSON using SQL. References [SQL-92] Database language SQL”, ANSI X3.135-1992 [Foundation:1999] Jim Melton (ed), “ISO International Standard (IS) Database Language SQL - Part 2: SQL/Foundation”, ISO/IEC 9075-2:1999 [Foundation 7CD1] Jim Melton (ed), “Committee Draft (CD) Database Language SQL - Part 2: SQL/Foundation”, ISO/IEC JTC1/SC32 WG3:USN-003 = ANSI INCITS DM32.2-2012-0Onnn [Foundation 7IWD4] Jim Melton (ed), “Informal Working Draft (IWD) Database Language SQL - Part 2: SQL/Foundation”, ISO/IEC JTC1/SC32 WG3:PEK-003 = ANSI INCITS DM32.2-2013-200 [SQL/XML:2011] Jim Melton (ed), “ISO International Standard (IS) Database Language SQL - Part 14: XML-Related Specifications (SQL/XML)”, ISO/IEC 9075- 14:2011 [XQuery 1.0.2] “XQuery 1.0: An XML Query Language (Second Edition)”, http:// www.w3.org/TR/xquery/ [SQL/JSON part 1] Jim Melton, “SQL/JSON part 1”, ANSI INCITS DM32.2-2014-00024 = ISO/IEC JTC1/SC32 WG3:PEK-nnn [RFC 2119] Internet Engineering Task Force, Key words for use in RFCs to Indicate Requirement Levels, RFC 2119 https://www.ietf.org/rfc/rfc2119.txt [RFC 4627] Internet Engineering Task Force, The application/json Media Type for Jav- aScript
    [Show full text]
  • The SQL++ Unifying Semi-Structured Query Language, and an Expressiveness Benchmark of SQL-On-Hadoop, Nosql and Newsql Databases
    Noname manuscript No. (will be inserted by the editor) The SQL++ Unifying Semi-structured Query Language, and an Expressiveness Benchmark of SQL-on-Hadoop, NoSQL and NewSQL Databases Kian Win Ong · Yannis Papakonstantinou · Romain Vernoux Received: date / Accepted: date Abstract SQL-on-Hadoop, NewSQL and NoSQL Since SQL itself is a subset of SQL++, the SQL-aware databases provide semi-structured data models (typ- reader will easily identify in which ways each of the ically JSON based) and respective query languages. surveyed databases provides more or less than SQL. Lack of formal syntax and semantics, idiomatic (non- The eleven databases are Hive, Jaql, Pig, Cassandra, SQL) language constructs and large variations in syn- JSONiq, MongoDB, Couchbase, SQL, AsterixDB, Big- tax, semantics and actual capabilities pose problems Query and UnityJDBC. They were selected due to their even to database experts: It is hard to understand, com- market adoption or because they present cutting edge, pare and use these languages. It is especially tedious to advanced query language abilities. write software that interoperates between two of them Finally, we briefly discuss the use of SQL++ as or an SQL database and one of them. the query language of the FORWARD virtual database Towards solving these problems, first we formally query processor, which executes SQL++ queries over specify the syntax and semantics of SQL++. It con- SQL and non-SQL databases and the use of SQL++ in sists of a semi-structured data model (which extends the FORWARD application framework, which enables both JSON and the relational data model) and a query rapid development of live reports and interactive appli- language that is fully backwards compatible with SQL.
    [Show full text]
  • Test Converter for Test Suite 35 4.1 Rumble Architecture
    Research Collection Master Thesis A Test Suite for Rumble Author(s): Mihajlovic, Stevan Publication Date: 2021 Permanent Link: https://doi.org/10.3929/ethz-b-000477335 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library Master’s Thesis Nr. 327 Systems Group, Department of Computer Science, ETH Zurich A Test Suite for Rumble by Stevan Mihajlovic Supervised by Dr. Ghislain Fourny, Prof. Dr. Gustavo Alonso October 1, 2020 - April 1, 2021 Abstract The increasing amount of data available to process in today’s world led to the emergence of engines for large-scale data processing such as Spark. In order to make querying more efficient, Rumble is an engine that au- tomatically runs queries on top of Spark, using JSONiq as declarative querying language instead of Spark API. Rumble is still in its beta ver- sion and requires a testing mechanism that would verify the behavior of its implementation. JSONiq inherits 95% of its features from XQuery, its XML counterpart. QT3TS is Test Suite with over 30000 test cases designed for testing XQuery. This work aims to create a Test Suite based on QT3TS to verify Rumble’s implementation. As the first step, we have implemented a Test Driver capable of executing QT3TS on top of Rum- ble. The work was carried out gradually through several phases. In each phase, we were improving the implementation of both Test Driver and Rumble. Secondly, we have implemented a Test Converter for the XQuery to JSONiq conversion.
    [Show full text]
  • Data Management 05 Query Languages (SQL)
    1 SCIENCE PASSION TECHNOLOGY Data Management 05 Query Languages (SQL) Matthias Boehm Graz University of Technology, Austria Computer Science and Biomedical Engineering Institute of Interactive Systems and Data Science BMK endowed chair for Data Management Last update: Nov 22, 2020 2 Announcements/Org . #1 Video Recording . Link in TeachCenter & TUbe (lectures will be public) . Due to second lockdown: webex recording . #2 Reminder Communication . Newsgroup: news://news.tugraz.at/tu‐graz.lv.dbase (https://news.tugraz.at/cgi‐bin/usenet/nntp.csh?tu‐graz.lv.dbase) . Office hours: Mo 12.30‐1.30pm (https://tugraz.webex.com/meet/m.boehm) . #3 Exercise Submissions . Exercise 1: Nov 03 11.59 + 7 days ends tomorrow midnight . Exercise 2: published Nov 02, deadline Dec 01 INF.01017UF Data Management / 706.010 Databases – 05 Query Languages (SQL) Matthias Boehm, Graz University of Technology, WS 2020/21 3 Agenda . Structured Query Language (SQL) . Other Query Languages (XML, JSON) . Exercise 2: Query Languages and APIs INF.01017UF Data Management / 706.010 Databases – 05 Query Languages (SQL) Matthias Boehm, Graz University of Technology, WS 2020/21 4 Structured Query Language (SQL) INF.01017UF Data Management / 706.010 Databases – 05 Query Languages (SQL) Matthias Boehm, Graz University of Technology, WS 2020/21 5 What is a(n) SQL Query? SELECT Firstname, Lastname, Affiliation, Location FROM Participant AS R, Locale AS S WHERE R.LID = S.LID #1 Declarative: AND Location LIKE '%, GER' what not how Firstname Lastname Affiliation Location Volker Markl TU Berlin Berlin, GER Thomas Neumann TU Munich Munich, GER #2 Flexibility: #3 Automatic #4 Physical Data closed composability Optimization Independence INF.01017UF Data Management / 706.010 Databases – 05 Query Languages (SQL) Matthias Boehm, Graz University of Technology, WS 2020/21 6 Why should I care? .
    [Show full text]
  • Introduction to Jsoniq
    JSONiq 0.1 Introduction to JSONiq The SQL of NoSQL Ghislain Fourny Introduction to JSONiq JSONiq 0.1 Introduction to JSONiq The SQL of NoSQL Edition 0 Author Ghislain Fourny JSONiq is a query and processing language specifically designed for the popular JSON data mod- el. The main ideas behind JSONiq are based on lessons learned in more than 30 years of relation- al query systems and more than 15 years of experience with designing and implementing query lan- guages for semi-structured data. As a result, JSONiq is an expressive and highly optimizable lan- guage to query and update any kind of JSONiq store or resource. It enables developers to leverage the same productive high-level language across a variety of NoSQL products. This book gives a com- plete introduction to the JSONiq language. It does so by giving examples for all types of expressions and functions. Those examples can be immediately used because they work standalone, which allows the interested reader to start diving into the language. 1. Introduction 1 1.1. NoSQL - Why Are Relational Databases Not Good Enough? .......................................... 1 1.2. Why JSONiq? .............................................................................................................. 1 1.3. How to Run the Queries in This Book? ......................................................................... 2 1.4. Acknowledgements ....................................................................................................... 2 I. JSON and the JSONiq Data Model 5 2. The JSON
    [Show full text]
  • An Approach for Unified and Efficient Querying of Heterogeneous Web Data Sources
    UniQue: An Approach for Unified and Efficient Querying of Heterogeneous Web Data Sources Markku Laine, Jari Kleimola and Petri Vuorimaa Department of Computer Science, Aalto University, Espoo, Finland Keywords: Mashup Applications, Web Querying, Web Standards, XML Technologies. Abstract: Governments, organizations, and people are publishing open data on the Web more than ever before. To consume the data, however, requires substantial effort from web mashup developers, as they have to familiarize themselves with a diversity of data formats and query techniques specific to each data source. While several solutions have been proposed to improve web querying, none of them covers aforementioned aspects in a developer friendly and efficient manner. Therefore, we devised a unified querying (UniQue) approach and a proxy-based implementation that provides a uniform and declarative interface for querying heterogeneous data sources across the Web. Besides hiding the differences between the underlying data formats and query techniques, UniQue heavily embraces open W3C standards to minimize the learning effort required by developers. Pursuing this further, we propose Unified Query Language (UQL) that combines the expressiveness of CSS Selectors and XPath into a single and flexible selector language. We show that the adoption of UniQue and UQL can effectively streamline web querying, leverage developers’ existing knowledge, and reduce generated network traffic compared to the current state-of-the-art approach. 1 INTRODUCTION as a solution to uniform data access, they are not broadly adopted due to their inherent complexity and Traditional database experts rely on well-defined unfamiliarity among developers. Indeed, the data formats and query language APIs. The query majority of web data providers are still relying on API, such as SQL, provides precisely focused access more mainstream data formats and developers on to the data.
    [Show full text]
  • Experiences with JSON and XML Transformations IBM Submission to W3C Workshop on Data and Services Integration October 20-21 2011, Bedford, MA, USA
    Experiences with JSON and XML Transformations IBM Submission to W3C Workshop on Data and Services Integration October 20-21 2011, Bedford, MA, USA 21 October 2011 John Boyer, Sandy Gao, Susan Malaika, Michael Maximilien, Rich Salz, Jerome Simeon Feedback to: [email protected] Copyright IBM 1 Agenda • Why Do We Want to Transform • Friendliness vs Grotesqueness (Unfriendliness) • Typical JSON and XML Mapping Issues – Round-Trippability – Friendliness – A Use Case • Mapping Approaches – Overview of Approaches 1-4 – Recommendations • Ideas • Some Published Mappings and References • The Grand Finale Copyright IBM 2 Why Do We Want To Transform? • Trend: Javascript/Web 2.0 dominates for: – Fast parsing of message content – Programmer convenience • Trend: Multiple message formats (Atom, XML, JSON, etc) are becoming common – XML APIs and REST APIs are being extended to support JSON • Trend: Enterprises desire validation, declarative constraints and stringency for data content, but also want the benefits of Web 2.0 – Customer demand for: • Constraint and query features provided by XML • Programming ease provided by JSON Copyright IBM 3 Some Data and Metadata Standards Relational XML JSON Linked Data Metadata Data Definition Language XML Schema XSD (W3C) , JSON Schema - RDFS (RDF Schema), Ontology (ISO) Namespaces (W3C) IETF (W3C and elsewhere) Constraints Integrity Constraints in table Schematron (ISO), Relax- - definitions (ISO) NG (OASIS) Triggers Relational triggers - - RIF (W3C) Data Exchange SQL standard (ISO) defines XML is a syntax widely used JSON is a serialized XML, Turtle Serializations an XML serialization but it is for data exchange (W3C) format, there are not widely used – There is no XML representations agreed JSON serialization.
    [Show full text]