<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Enabling Global Big Data Computations</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
							<email>damianos@aueb.gr</email>
							<affiliation key="aff0">
								<orgName type="institution">Athens University of Economics and Business Athens</orgName>
								<address>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Panos</forename><surname>Louridas</surname></persName>
							<email>louridas@aueb.gr</email>
							<affiliation key="aff1">
								<orgName type="institution">Athens University of Economics and Business Athens</orgName>
								<address>
									<country key="GR">Greece</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Enabling Global Big Data Computations</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073)</idno>
					</monogr>
					<idno type="MD5">1E6DC4E72D38BE240E8890B06055DAEC</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T03:33+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Most analytics projects focus on the management of the 3Vs of big data and use specific stacks to support this variety. However, they constrain themselves to "local" data, data that exists within or "close" to the organization, or external data imported to local systems. And yet, as it has been recently pointed out, "the value of data explodes when it can be linked with other data."</p><p>In this paper we present our vision for a global marketplace of analytics-either in the form of per-entity metrics or per-entity data, provided by globally accessible data management taskswhere a data scientist can pick and combine data at will in her data mining algorithms, possibly combining with her own data. The main idea is to use the dataframe, a popular data structure in R and Python. Currently, the columns of a dataframe contain computations or data found within the data infrastructure of the organization. We propose to extend the concept of a column. A column is now a collection of key-value pairs, produced anywhere by a remotely accessed program (e.g., an SQL query, a MapReduce job, even a continuous query.) The key is used for the outer join with the existing dataframe, the value is the content of the column. This whole process should be orchestrated by a set of well-defined, standardized APIs. We argue that the proposed architecture presents numerous challenges and could be beneficial for big data interoperability. In addition, it can be used to build mediation systems involving local or global columns. Columns correspond to attributes of entities, where the primary key of the entity is the key of the involved columns.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">INTRODUCTION</head><p>Currently, most big data deployments follow a highly ad hoc, nondisciplined approach, entailing a high degree of data replication and heterogeneity, both in terms of storing options and analysis tasks. The system administrator has to choose one (or more) data management systems from a plethora of alternatives and facilitate the enterprise's reporting needs utilizing a wide range of query languages and analysis techniques. Data management systems involve traditional RDBMSs, Hadoop clusters, NoSQL databases, and others. Reporting and analysis tasks include plain SQL, spreadsheet scripts, MapReduce jobs, R/Java/Python programs, complex event processing queries, machine learning algorithms, and others. A not-so-new challenge resurfaces: interoperability. How can these systems interact? How can these systems interoperate?</p><p>This necessity has been identified by the current authors in <ref type="bibr" target="#b7">[7,</ref><ref type="bibr" target="#b8">8]</ref> and more recently by the Beckman report <ref type="bibr" target="#b0">[1]</ref>. The Beckman report recognized the problems the "diversity in the data management landscape" creates and asserted "the need for coexistence of multiple Big Data systems and analysis platforms is certain" and that in order "to support Big Data queries that span systems, platforms will need to be integrated and federated. " Data integration involves combining data residing in different sources and providing users with a unified view of them <ref type="bibr" target="#b15">[15]</ref>. Data integration can be seen as constructing a data warehouse, or creating a virtual database (federated/mediated systems). While data warehousing was the way to go in the past-mainly due to the dominance of relational systems in data management-there are well-thought arguments to reconsider a federated approach in big data applications <ref type="bibr" target="#b20">[20]</ref>. Polystores <ref type="bibr" target="#b10">[10]</ref>, closely related to federated databases, address the need for managing information represented in different data models. This is similar to this paper's motivation: using the answer of computations defined over different data models and query languages. However, we focus on standardizing the output of a computation and use it in a conceptual model, rather than integrating data model and query capabilities in the system. It is worth mentioning that defining global views over heterogeneous data sources is not a big data-era issue and has been extensively discussed in the past (e.g., <ref type="bibr" target="#b2">[2]</ref>).</p><p>We argue that a standardized and protocol-based approach can significantly facilitate the unified dissemination, federation and analysis of data. Once the output of big data computations (from simple SQL queries to complex predictive models) can be standardized and accessed globally, anyone can use it in his own analysis framework. Section 2 presents an example from the telecom domain and motivates the paper. It introduces the concept of global dataframes: dataframes constructed by columns that are globally accessible and represent a data management task. Section 3 describes the big picture: a dataframe composed of globally addressed columns. Section 4 presents the architecture and the necessary APIs to support the management and usage of these global columns. The challenges of such an architecture (performance, transactionality issues, distribution, etc.) are introduced in Section 5. We conclude with conclusions in Section 6.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">MOTIVATION</head><p>Consider the churn prediction problem in a telecom environment in the presence of structured and unstructured data. For this purpose, a predictive model had to be designed and implemented taking into account the many possible variables (features) characterizing the customer. The goal was to equip the data analyst with a simple tool that enables fast and interactive experimentation by using features from multiple data sources, involving different data management systems and data formats. In our case, the company had a variety of data sources, such as:</p><p>• A traditional RDBMS containing basic customer-related data such as gender, age, address and various demographics. • A relational data warehouse storing billing, usage and traffic activity per contract key-a contract may involve several customer IDs. • Audio files stored in the file system, containing conversations between customers and agents.</p><p>The ultimate goal was to provide the data scientist with a simple way (a tool of some kind) allowing her to choose and experiment in an ad-hoc manner with multiple tabular views of customer-related data. Each different combination of columns yields a different view. Intuitively, there are two simple yet ineffective ways of achieving that: a) by collecting all data in a single data repository and performing reporting tasks on top of it (a data lake approach), or b) by programmatically producing it by using an RDBMS for example as an intermediate storage point. Both of those are impractical. The first one imposes significant costs of moving data around and data lakes have received criticism in terms of governance, security, and lack of consistency <ref type="bibr" target="#b13">[13]</ref>, while research tries to mitigate these problems leading to a "data swamp" <ref type="bibr" target="#b11">[11,</ref><ref type="bibr" target="#b12">12]</ref>. The second one requires significant manual intervention and is not flexible to schematic updates (changes) in the underlying data sources.</p><p>The solution we chose was to keep data in their respective host systems and define "tabular" views over these systems (a mediator approach): start from one or more "base" columns (e.g., contract ID, customer ID, area code) and incrementally extend this "basic" schema with columns containing data or computations coming from different data sources. For example, one could define the first column (base) to contain the IDs of customers. Then, she could add columns corresponding to the age, gender and educational background for each customer, coming from the Demographics RDBMS. Then, she could add a column containing, for each customer, the set of emails the customer has sent in the last six months. This is a set of texts coming from the CRM database. Then, she could add a column that computes the average sentiment of these emails, using some Python script. Finally, she could add a column corresponding to the customer's monthly average usage in the last six months, coming from the Billing Data Warehouse (DW). This process is depicted in Figure <ref type="figure" target="#fig_0">1</ref>.</p><p>The idea is similar to Multi-Feature SQL <ref type="bibr" target="#b3">[3,</ref><ref type="bibr" target="#b6">6]</ref>, MD-Joins <ref type="bibr" target="#b5">[5]</ref>, Grouping variables <ref type="bibr" target="#b4">[4]</ref> and Associated Sets <ref type="bibr" target="#b9">[9]</ref>. In these papers, one can express a series of outer-joins combined with aggregation, possibly correlated, in a succinct and concise manner. At the same time, several efficient evaluation techniques (based on parallel, distributed and in-memory processing) are presented for these queries. More recently, the same idea is expressed using dataframes in R and Python pandas (without correlation between columns), as well as in Spark. The fundamental difference between our proposal and these approaches is that we treat, in principle, our data as columns coming from heterogeneous sources, and dataframes are composed on the fly from them. In R and pandas dataframes are typically created from data imported from different, possibly heterogeneous sources, but the dataframe reflects the structure of the underlying data. One could adopt a columnar key-value approach, for example by using exclusively Series in pandas or atomic vectors and lists in R, but that would probably defeat the purpose and the philosophy of these frameworks. Concerning Spark, again dataframes reflect the structure of underlying data; moreover, most likely data are copied to an underlying HDFS substrate. This is the pattern in most big data tasks: building a dataframe over different datasets, to serve as input to data mining algorithms, visualization tools and reporting systems. Essentially this could be modeled conceptually as a single tabular data representation of joined results coming from different data management systems. Each result consists of the keys used for the outer join and the corresponding values to be added as a column; it can therefore be represented as a set of key-value pairs. This formalism is quite appropriate to represent columnar data in a dataframe. It is simple, prone to distributed, fault-tolerant and scalable implementations, and can easily, naturally in a way, represent most well-known data models. At the same time, key-value engines, such as Redis, have been organically developed, through analysis of real applications at Google, Amazon, Facebook, LinkedIn and elsewhere.</p><p>Going one step further, one can imagine globally available key-value structures, produced outside the organization and used in the same manner. For example, an analytics provider could generate for each Facebook user some social metrics (e.g., number of checkins in the last month), useful in a data scientist's analysis. We envision a global "environment" for these key-value structures that analysts pick and try into their data mining algorithms or embed into their visualizations and reporting. We call these widely available key-value structures globalized analytics. The challenge is to provide a framework for this environment, to make this process simple, useful and efficient. In the next section we present our proposal for how such a framework can be build. The framework will leverage the idea of distributed key-value pairs used to compose dataframes, over heterogeneous data, allowing users to compose and manipulate tabular views of their data on the fly.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">THE BIG PICTURE</head><p>The main abstraction for representing data is a column, consisting of a set of key-value pairs, called a key-valued structure (KVS). Columns can be joined to create dataframes. Columns have the following characteristics:</p><p>• Columns may be distributed among different machines.</p><p>That means that a dataframe can comprise data residing in different machines, and the data is joined on the fly to create an integrated dataframe. • The column keys must be unique, but the value associated with a key need not be atomic, so that values can be lists or sets. Therefore, a column can represent both a vector of atomic values, as well as associations between keys and collection of values. In this way a column can act as the stage between a mapping and a reduce stage in a typical MapReduce job.</p><p>• The values of a column may exist in three states: defined, not available, and observer. The defined and not available states correspond to known and known unknowns, respectively. The observer state corresponds to values that we expect to be filled in the future, possibly more than once.</p><p>The observer status allows us to handle data dynamically, from disparate sources, without requiring that all data be available and frozen at each source. In effect, this extends the semantics of our proposed model with reactive programming concepts, e.g., see <ref type="bibr" target="#b17">[17]</ref>, and facilitates the handling of streams. Streams are collections of multiple values that are pushed to their destinations-in contrast to a pull model, where we request values from a stream, we can also use a push model, where the source of the stream emits values that enter the stream. In this way, a stream is an observable. A column can be an observer that receives the values emitted by the observable.</p><p>Columns can be joined based on the values of their keys. A dataframe is a collection of columns that have the same set of keys. The set of keys must be determined at column creation time, so that the values will be filled in from the underlying data. Dataframes themselves do not contain data. Their constituent columns do. That means that when we are presented with a dataframe and we interact with it, we are in fact interacting with the underlying columns. Some data may be local, if the corresponding columns local, but in general data may be remote, even not yet present when in the observable state.</p><p>Note that there is no assumption that the keys of the columns are consistent. Indeed, keys over heterogeneous data sources are not consistent in most cases. However, at a certain point there must be a mapping step, which can either be transparent to our system, or it can be handled through an intermediate column. Similarly, values need not be consistent: imagine two monetary columns being joined in the dataframe, but being expressed in different currencies <ref type="foot" target="#foot_0">1</ref> . Such issues could be tackled with transformation tasks.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">ARCHITECTURE</head><p>We propose a layer of columns backed by a commonly-referenced memory space for establishing global views in a tabular data format. The columns contain data, indexed by their keys. The underlying key-value structures contain minimal schema information:</p><p>• The values may be atomic, or they may be lists or sets. Lists are ordered, while sets are not; lists may contain multiple times the same value (at different positions), while sets obey the usual set semantics. • Lists and sets may be composed by other lists and sets, interchangeably, and atomic items. Therefore, lists and sets can represent arbitrary complex nested structures. • Atomic values do not need any schema assumptions, so a column could contain both numeric and string data. For practical and efficiency reasons, however, an implementation could choose to represent columns using specific underlying datatypes. For example, if a column is known to contain integers, the column could be declared to be of integer type to speed up calculations. If a column contains multiple types then it would be represented as a generic object type.</p><p>The column data could be stored by any underlying mechanism, which could be a relational database, or a NoSQL key-value store, or a dynamic data source. The underlying data source is only relevant to the data scientist at column creation time, where she has to describe the column; it then remains invisible. The data source does not need to physically host the data. It may produce the data that will be filling in the column. In this scenario, the data in the column are in the observable state as explained in Section 3.</p><p>The data of a column are handled by a Column Manager (CM, or simply manager). A manager is responsible for providing the data in the form of key-value pairs. Managers accept incoming requests from Column Consumers (CCs, or simply consumers). Consumers and managers communicate according to a CM-CC protocol that defines the location where the underlying KVS will be stored. The location of the KVSs is independent of both the consumer and the manager. They may be stored at either of them, or somewhere else entirely; moreover, they may be produced programmatically or be saved in a distributed, redundant manner among different machines. The location can be negotiated: for example, the consumer may offer a location that the manager will accept, the consumer may ask the manager to respond with a location, or the consumer may suggest a location and the manager may respond with a different one. In this way, KVSs can be reused among different consumers. To cover different scenarios, KVSs reside in a globally addressable storage space.</p><p>The idea is simple: A consumer wants to use data from a manager. The data could be result of an SQL statement, or a MapReduce job, or a script, etc. The consumer communicates with the manager and passes to it the address of the KVS. The consumer also communicates with the KVS and passes to it the set of keys whose values will be filled in by the manager; the communication between the consumer and the KVS may take place well before the communication between the consumer and the manager. The manager finds the keys in the KVS and fills the corresponding values.</p><p>To create a dataframe, a consumer communicates with the managers that handle the columns it wants. It passes to each of the managers the same set of keys and agrees with them on the addresses of the KVSs that will contain the data. Then the consumer can obtain the data from the KVS and present them to the data scientist as an integrated dataframe. Note that the consumer may access the KVSs at any time, asynchronously, even before the managers complete the KVSs. This way, dataframes can incorporate columns corresponding to stream computations.</p><p>The above can be implemented with a two-layered architecture. At the upper layer we have the consumer-manager communication. At the lower level we have the set of KVSs. Consumers and managers communicate with the KVSs using a column-to-KVS communication protocol. Figure <ref type="figure" target="#fig_2">2</ref> summarizes the aforementioned discussion.</p><p>Currently there are efforts pointing towards a separate addressable memory layer, such as RAMCloud <ref type="bibr" target="#b18">[18]</ref> and Piccolo <ref type="bibr" target="#b19">[19]</ref>, which both share the notion of in-memory addressable "tables" supporting key-value operations. Clarifications, challenges and opportunities of the proposed architecture are presented below.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">CHALLENGES AND OPPORTUNITIES</head><p>Commonly-Referenced Memory Space. The architecture implies the presence of a well-defined API so CCs can create and manage KVSs. The development of such an API requires careful  consideration. While CRUDE operations are clearly understood, a discussion is required for the exact format and behavior of each.</p><p>In particular, the read operation should allow some filtering of the KVS, either through a simple predicate over keys and values or by providing a set of keys to be selected. Our first implementation <ref type="bibr" target="#b7">[7]</ref> allows filtering conditions over just the key, but in many industrial applications complex expressions involving values are not uncommon. Other issues that have to be addressed are: what if a CC does not delete a KVS that has created? Should the corresponding KVS management system implement garbage collection? Who is the "owner" of a KVS? What is the "lifetime" of a created KVS? Which CCs are allowed to access this KVS and in what mode (read/write)? For example consider Webdis, an HTTP interface for Redis that provides some insights on these issues. A similar kind of middleware between data producers and consumers in the form of publish-subscribe is suggested in <ref type="bibr" target="#b14">[14]</ref>. A commonly-referenced memory layer is also proposed in Tachyon system <ref type="bibr" target="#b16">[16]</ref>, constrained however within a cluster.</p><p>Globally Addressable Key-Value Sets. This is a conceptual layer, consisting of systems that provide KVS management according to the proposed framework. To do so, it should implement the column-to-KVS API mentioned above, and allow access to a KVS through an address, internet-wide, following some standardized addressing scheme. The scheme should capture location hierarchies (e.g., domains, sub-domains, etc.) and identify the position in the memory hierarchy of a KVS. There is no restriction on what such a system could be. It could store KVSs anywhere in the memory hierarchy: main-memory, distributed-cache, disk; it could guarantee (or not) fault-tolerance, availability, etc. In addition, it should provide answers on how it handles ownership, lifetime and access control of KVSs.</p><p>Suitability for Stream Engines. The layered architecture essentially introduces a referencing layer (i.e., indirection) between communicating programs (the CC and the CM). This is particularly appropriate for collaborating applications involving stream data: a stream management CM can continuously produce aggregated data (e.g., the average stock price over a sliding window of 10 minutes) consumed by the CC. The asynchronous access to the shared KVS allows the data consumer to retrieve data whenever it deems appropriate (e.g., <ref type="bibr" target="#b18">[18]</ref>); alternatively, the data can be observed continuously by the consumer in a reactive approach (recall Section 3).</p><p>Transactionality Issues. A potentially challenging aspect in the proposed architecture is the issue of transactional consistency at the KVS layer. We currently consider non-materialized dataframes, so we do not have to deal with transactions and isolation at the data sources. However, transactionality issues still arise, in the case of complex workflows where multiple CCs constantly request execution from a CM. For example, consider two separate CC-to-CM connections where both CMs populate the same KVS. As another example, if a CM is using a remote address to store a continuously running query that returns a huge set of key-value pairs, is that large result updated atomically or incrementally? If some data feeds are slow and some are fast, one might get an inconsistent (nonserializable) view of the KVS layer. What (if anything) can the framework do to manage transactional requirements across systems? For instance, when a CC creates a KVS (and thus becomes "owner" of the KVS), it could also specify the required isolation level for that KVS.</p><p>Query Response Times. Mediation approaches do not have, in general, good query response times. This is one of the main reasons for building data warehouses and having Extraction, Transformation, and Loading (ETL) processes: storing data into one system, using a single data model, and having an efficient query processing engine. However, the goal of this work is not performance, but functionality and interoperability. We want to enable users to easily construct data frames in heterogeneous environments, employing multiple programming languages. Usually, this data frame will feed some learning algorithm, instead of being used for online queries. In this context, some of the columns of a dataframe could be formed as queries over a relational system using a metadata catalog like Hive Metastore. However, statistical information existing in the Metastore is relevant to the query that produces the column and is transparent to our architecture that will simply use the end result in an outer join.</p><p>Opportunities. The proposed architecture can also be used to generalize various existing distributed data management frameworks, such as distributed relational query processors, MapReduce evaluation algorithms and column-oriented processing engines. However, given the diversity in data management systems, it opens up a wide range of interesting possibilities, both in terms of infrastructures and optimization opportunities. The interested reader can refer to <ref type="bibr" target="#b8">[8]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">DISCUSSION AND CONCLUSIONS</head><p>In this paper, we presented a layered architecture to data interoperability based on a ubiquitous universe of remotely accessibly key-value sets. The architecture uses a number of concepts that can and will be formalized in an extended version of this paperdoing so here would be beyond the scope of a vision paper. In essence, with the proposed architecture we completely decouple the computation and memory layer of any data management scenario. By doing so we are able to generalize, abstract and effectively encapsulate all the key components of distributed data computation, storage and management. We believe that such an approach is a first step towards an interoperable universe of big data systems. Along this way however there are numerous challenges able to serve as fruitful research directions.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Defining a Tabular View over Multiple Data Sources</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Defining a Tabular View over Multiple Data Sources.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Our thanks to the anonymous reviewer who provided this example.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title/>
		<author>
			<persName><forename type="first">Daniel</forename><surname>Abadi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Rakesh</forename><surname>Agrawal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anastasia</forename><surname>Ailamaki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Magdalena</forename><surname>Balazinska</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Philip</forename><forename type="middle">A</forename><surname>Bernstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">J</forename><surname>Carey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Surajit</forename><surname>Chaudhuri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jeffrey</forename><surname>Dean</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Anhai</forename></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">The Beckman report on database research</title>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">J</forename><surname>Doan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Johannes</forename><surname>Franklin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Laura</forename><forename type="middle">M</forename><surname>Gehrke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alon</forename><forename type="middle">Y</forename><surname>Haas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Joseph</forename><forename type="middle">M</forename><surname>Halevy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yannis</forename><forename type="middle">E</forename><surname>Hellerstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">V</forename><surname>Ioannidis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Donald</forename><surname>Jagadish</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Samuel</forename><surname>Kossmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sharad</forename><surname>Madden</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tova</forename><surname>Mehrotra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jeffrey</forename><forename type="middle">F</forename><surname>Milo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Raghu</forename><surname>Naughton</surname></persName>
		</author>
		<author>
			<persName><surname>Ramakrishnan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Volker Markl</surname></persName>
		</author>
		<author>
			<persName><surname>Olston</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Chin</forename><surname>Beng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christopher</forename><surname>Ooi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Dan</forename><surname>Ré</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Suciu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Todd</forename><surname>Stonebraker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jennifer</forename><surname>Walter</surname></persName>
		</author>
		<author>
			<persName><surname>Widom</surname></persName>
		</author>
		<idno type="DOI">10.1145/2845915</idno>
		<ptr target="https://doi.org/10.1145/2845915" />
	</analytic>
	<monogr>
		<title level="j">Commun. ACM</title>
		<imprint>
			<biblScope unit="volume">59</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="92" to="99" />
			<date type="published" when="2016">2016. 2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Global Viewing of Heterogeneous Data Sources</title>
		<author>
			<persName><forename type="first">Silvana</forename><surname>Castano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Valeria</forename><forename type="middle">De</forename><surname>Antonellis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sabrina De Capitani Di</forename><surname>Vimercati</surname></persName>
		</author>
		<idno type="DOI">10.1109/69.917566</idno>
		<ptr target="https://doi.org/10.1109/69.917566" />
	</analytic>
	<monogr>
		<title level="j">IEEE Trans. Knowl. Data Eng</title>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="277" to="297" />
			<date type="published" when="2001">2001. 2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Evaluation of Ad Hoc OLAP : In-Place Computation</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM/IEEE International Conference on Scientific and Statistical Database Management (SSDBM)</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="34" to="43" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Using grouping variables to express complex decision support queries</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.datak.2006.05.001</idno>
		<ptr target="https://doi.org/10.1016/j.datak.2006.05.001" />
	</analytic>
	<monogr>
		<title level="j">Data Knowl. Eng</title>
		<imprint>
			<biblScope unit="volume">61</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="114" to="136" />
			<date type="published" when="2007">2007. 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">The MD-Join: An Operator for Complex OLAP</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Akinde</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ted</forename><surname>Johnson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Samuel</forename><surname>Kim</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE International Conference on Data Engineering</title>
				<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="524" to="533" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Querying Multiple Features of Groups in Relational Databases</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Kenneth</forename><surname>Ross</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">22nd International Conference on Very Large Databases (VLDB)</title>
				<imprint>
			<date type="published" when="1996">1996</date>
			<biblScope unit="page" from="295" to="306" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Introducing Data Connectivity in a Big Data Web</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Florents</forename><surname>Tselai</surname></persName>
		</author>
		<idno type="DOI">10.1145/2627770.2627773</idno>
		<ptr target="https://doi.org/10.1145/2627770.2627773" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Third Workshop on Data analytics in the Cloud, DanaC 2014</title>
				<meeting>the Third Workshop on Data analytics in the Cloud, DanaC 2014<address><addrLine>Snowbird, Utah, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2014-06-22">2014. June 22, 2014</date>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page">4</biblScope>
		</imprint>
	</monogr>
	<note>conjunction with ACM SIGMOD/PODS Conference</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The Data Management Entity: A Simple Abstraction to Facilitate Big Data Systems Interoperability</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Florents</forename><surname>Tselai</surname></persName>
		</author>
		<ptr target="http://ceur-ws.org/Vol-1558/paper38.pdf" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshops of the EDBT/ICDT 2016 Joint Conference, EDBT/ICDT Workshops 2016</title>
				<meeting>the Workshops of the EDBT/ICDT 2016 Joint Conference, EDBT/ICDT Workshops 2016<address><addrLine>Bordeaux, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2016-03-15">2016. March 15, 2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">ASSET queries: a declarative alternative to MapReduce</title>
		<author>
			<persName><forename type="first">Damianos</forename><surname>Chatziantoniou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Elias</forename><surname>Tzortzakakis</surname></persName>
		</author>
		<idno type="DOI">10.1145/1815918.1815926</idno>
		<ptr target="https://doi.org/10.1145/1815918.1815926" />
	</analytic>
	<monogr>
		<title level="j">SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="35" to="41" />
			<date type="published" when="2009">2009. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">The BigDAWG Polystore System</title>
		<author>
			<persName><forename type="first">Jennie</forename><surname>Duggan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Aaron</forename><forename type="middle">J</forename><surname>Elmore</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Stonebraker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Magdalena</forename><surname>Balazinska</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bill</forename><surname>Howe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jeremy</forename><surname>Kepner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sam</forename><surname>Madden</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Maier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tim</forename><surname>Mattson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stanley</forename><forename type="middle">B</forename><surname>Zdonik</surname></persName>
		</author>
		<idno type="DOI">10.1145/2814710.2814713</idno>
		<ptr target="https://doi.org/10.1145/2814710.2814713" />
	</analytic>
	<monogr>
		<title level="j">SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">44</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="11" to="16" />
			<date type="published" when="2015">2015. 2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">CLAMS: Bringing Quality to Data Lakes</title>
		<author>
			<persName><forename type="first">Mina</forename><surname>Farid</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexandra</forename><surname>Roatis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ihab</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Hella-Franziska</forename><surname>Ilyas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Xu</forename><surname>Hoffmann</surname></persName>
		</author>
		<author>
			<persName><surname>Chu</surname></persName>
		</author>
		<idno type="DOI">10.1145/2882903.2899391</idno>
		<ptr target="https://doi.org/10.1145/2882903.2899391" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2016 International Conference on Management of Data (SIGMOD &apos;16)</title>
				<meeting>the 2016 International Conference on Management of Data (SIGMOD &apos;16)<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="2089" to="2092" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Constance: An Intelligent Data Lake System</title>
		<author>
			<persName><forename type="first">Rihan</forename><surname>Hai</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Sandra</forename><surname>Geisler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christoph</forename><surname>Quix</surname></persName>
		</author>
		<idno type="DOI">10.1145/2882903.2899389</idno>
		<ptr target="https://doi.org/10.1145/2882903.2899389" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2016 International Conference on Management of Data (SIGMOD &apos;16)</title>
				<meeting>the 2016 International Conference on Management of Data (SIGMOD &apos;16)<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2016">2016. 2097</date>
			<biblScope unit="page">2100</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">The Data Lake Fallacy: All Water and Little Substance</title>
		<author>
			<persName><forename type="first">Nick</forename><surname>Heudecker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrew</forename><surname>White</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2014-07-23">2014. July 23 2014</date>
		</imprint>
	</monogr>
	<note type="report_type">Gartner report</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<author>
			<persName><forename type="first">Rajive</forename><surname>Joshi</surname></persName>
		</author>
		<title level="m">Data-Oriented Architecture: A Loosely-Coupled Real-Time SOA</title>
				<imprint>
			<publisher>Real-Time Innovattions, Inc</publisher>
			<date type="published" when="2007">2007. 2007</date>
		</imprint>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Data Integration: A Theoretical Perspective</title>
		<author>
			<persName><forename type="first">Maurizio</forename><surname>Lenzerini</surname></persName>
		</author>
		<idno type="DOI">10.1145/543613.543644</idno>
		<ptr target="https://doi.org/10.1145/543613.543644" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Twenty-first ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems</title>
				<meeting>the Twenty-first ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems<address><addrLine>Madison, Wisconsin, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002-06-03">2002. June 3-5</date>
			<biblScope unit="page" from="233" to="246" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks</title>
		<author>
			<persName><forename type="first">Haoyuan</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ali</forename><surname>Ghodsi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Matei</forename><surname>Zaharia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Scott</forename><surname>Shenker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ion</forename><surname>Stoica</surname></persName>
		</author>
		<idno type="DOI">10.1145/2670979.2670985</idno>
		<ptr target="https://doi.org/10.1145/2670979.2670985" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM Symposium on Cloud Computing</title>
				<meeting>the ACM Symposium on Cloud Computing<address><addrLine>Seattle, WA, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2014-11-03">2014. November 3-5, 2014</date>
			<biblScope unit="page">15</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Your Mouse is a Database</title>
		<author>
			<persName><forename type="first">Erik</forename><surname>Meijer</surname></persName>
		</author>
		<idno type="DOI">10.1145/2160718.2160735</idno>
		<ptr target="https://doi.org/10.1145/2160718.2160735" />
	</analytic>
	<monogr>
		<title level="j">Commun. ACM</title>
		<imprint>
			<biblScope unit="volume">55</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="66" to="73" />
			<date type="published" when="2012-05">2012. May 2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">The case for RAMClouds: scalable high-performance storage entirely in DRAM</title>
		<author>
			<persName><forename type="first">John</forename><forename type="middle">K</forename><surname>Ousterhout</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Parag</forename><surname>Agrawal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Erickson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Christos</forename><surname>Kozyrakis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jacob</forename><surname>Leverich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Mazières</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Subhasish</forename><surname>Mitra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Aravind</forename><surname>Narayanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Guru</forename><forename type="middle">M</forename><surname>Parulkar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Mendel</forename><surname>Rosenblum</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stephen</forename><forename type="middle">M</forename><surname>Rumble</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Eric</forename><surname>Stratmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ryan</forename><surname>Stutsman</surname></persName>
		</author>
		<idno type="DOI">10.1145/1713254.1713276</idno>
		<ptr target="https://doi.org/10.1145/1713254.1713276" />
	</analytic>
	<monogr>
		<title level="j">Operating Systems Review</title>
		<imprint>
			<biblScope unit="volume">43</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="92" to="105" />
			<date type="published" when="2009">2009. 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Piccolo: Building Fast, Distributed Programs with Partitioned Tables</title>
		<author>
			<persName><forename type="first">Russell</forename><surname>Power</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jinyang</forename><surname>Li</surname></persName>
		</author>
		<ptr target="http://www.usenix.org/events/osdi10/tech/full_papers/Power.pdf" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2010</title>
				<meeting>the 9th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2010<address><addrLine>Vancouver, BC</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2010-10-04">2010. October 4-6, 2010</date>
			<biblScope unit="page" from="293" to="306" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">The Case for Polystores</title>
		<author>
			<persName><forename type="first">Michael</forename><surname>Stonebraker</surname></persName>
		</author>
		<ptr target="http://wp.sigmod.org/?p=1629" />
	</analytic>
	<monogr>
		<title level="j">ACM SIGMOD Blog</title>
		<imprint>
			<date type="published" when="2015-07-13">2015. July 13 2015</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
