<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>George Siachamis supervised by Geert-Jan Houben, Arie van Deursen and Asterios Katsifodimos Delft University of Technology</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Data Integration has been a long-standing and challenging problem for enterprises and researchers. Data residing in multiple heterogeneous sources must be integrated and prepared such that the valuable information that it carries, can be extracted and analysed. However, the volume and the velocity of the produced data in addition to the modern business needs for real-time results have pushed data analytics, and therefore data integration, towards data streams. While data integration is a hard problem in and of itself, integrating data streams becomes even more challenging. Streams are characterized by their high velocity, infinite nature and predisposition to concept drift. The goal of this doctoral work is to design and provide scalable methods to support data integration tasks on massive data streams, i.e., support streaming data integration. The aim of this work is threefold. First, we aim at developing and proposing streaming methods to compute temporal stream data-profiles and summaries that can describe the dynamic state of a stream in the course of time. Second, we aim at developing methods and metrics of stream similarity. Those methods and metrics can serve as means to detect similar or complementary streams in a streaming data lake. Finally, we aim at optimizing distributed streaming similarity joins - a very important operation that precedes entity linking and resolution. This paper discusses exciting challenges and open problems in the ifeld, and a research plan on tackling them.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Modern enterprises are gathering huge volumes of data either to
perform business analytics or manage eficiently their assets. This
data resides in disparate sources and although it can convey the
same or related information, it can difer considerably in structure
and representation based on the diferent conventions of the
managing teams. This untamed heterogeneity leads to the so called
data integration problem. Traditionally, data integration has been
a manual process upon targeted static sources. The last decades,
plenty of research time has been invested to automate and improve
the accuracy of data integration tasks [
        <xref ref-type="bibr" rid="ref11 ref24 ref25">11, 24, 25</xref>
        ]. At the same time,
a fair amount of work [
        <xref ref-type="bibr" rid="ref14 ref15 ref19">14, 15, 19</xref>
        ] has been done towards
improving the eficiency of data integration tasks in static and dynamic
databases. However, due to the ever-growing volume and velocity
of produced data as well as the demand for data-driven real-time
applications, streaming data analytics have emerged. To ensure the
quality of these analytics, streaming data must be prepared and
integrated in a real-time fashion.
      </p>
      <p>Recognizing the growing need for eficient streaming data
integration, in this project we aim at providing scalable streaming
methods to facilitate integrating massive data streams. Essentially,
a streaming data integration pipeline consists of multiple basic data
integration tasks adapted and optimized to handle data streams. For
this doctoral work, our eforts focus on three main tasks: stream
profiling , stream discovery and similarity joins. We recognize that
these tasks play a major role in data integration pipelines and they
are integral for the eficiency of those pipelines. On the one hand,
with stream profiling and stream discovery, temporal profiles can
be computed and used for discovering possibly related streams to
optimize downstream data integration tasks. On the other hand,
similarity joins are an integral data integration task with
applications to data cleaning and entity resolution but not limited to those.
Summarizing, we aim at adapting and optimizing these basic tasks
for data streams in order to improve the eficiency of a streaming
data integration pipeline. Our ultimate goal is to enable the
realtime results needed to ensure the quality of real-time data analytics.
We plan on evaluating our work in real-word use cases provided
by our industrial partner, ING.
2</p>
    </sec>
    <sec id="sec-2">
      <title>MOTIVATION &amp; CHALLENGES</title>
      <p>In many modern enterprises, diferent teams publish their
streaming datasets to an internal streaming data lake where other teams
can access them. However, it is very rare for the published streams
to come with valuable time-related metadata. This results to
hundreds or even thousands of data streams published in an internal
repository but never harnessed because of lacking documentation
and valuable metadata. Unfortunately at the moment of writing, the
only way of organising and harnessing all these streams is through
long valuable labour hours of manual exploration and integration.
The existing tools cannot deal with the massive rate of thousands
of incoming data per second that usually characterizes modern data
streams. Another major challenge is also the fact that streams are
possibly unbounded datasets meaning that their volume is growing
infinitely. This also means that are not at our disposal at their full
prior to their processing, i.e., the whole dataset is not available
when it starts to be processed. All of these in combination with the
fact that data streams might sufer from concept drift every other
day renders the task of handling these data streams too complex
for existing tools.</p>
      <p>An inspiring example, that we also recognized through our
industrial collaboration with ING, is the monitoring of crucial
infrastructure. Modern enterprises consist of multiple teams which
monitor their own assets and provide alerts for the incident teams.
Although these assets might difer considerably in their
representation in the data provided by each team, they are often closely
related. For any enterprise, it is crucial that an occurring incident
...
...
...
...
...</p>
      <p>Stream S1
Stream S2
Stream S3
Stream S4
Stream S5
will be resolved as fast as possible. It is also crucial that in the
process of resolving any occurring issue, the involved engineers will
not miss any relevant information. In other words, the monitoring
streams must be integrated in real-time and in an exact manner.</p>
      <p>In this project, our goal is to face these challenges and provide
methods that will bring us one step closer to a tool that help a
company tame the streams and take advantage of their rich information.
To ensure the usefulness of our work, we also plan on evaluating it
on a relevant to the given example monitoring case in the industrial
environment of our partner, ING.
3</p>
    </sec>
    <sec id="sec-3">
      <title>SCALABLE METHODS FOR STREAMING</title>
    </sec>
    <sec id="sec-4">
      <title>DATA INTEGRATION</title>
      <p>In this section, we discuss the main three work packages of this
doctoral work, our three scalable streaming methods. First we give
an overview of the envisioned methods. Then we present each task
in details and we discuss the related work.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Overview of Streaming Methods</title>
      <p>Our envisioned methods can be used either individually or in
various combinations depending on the use case at hand. An overview
of these methods is the following.</p>
      <p>Profiling Streams. Our proposed stream profiling method is
designed to work on top of a streaming data lake and provide
approximate temporal profiles that will describe statistical and semantic
properties of the current state of the stream. These profiles are
constantly updated in an incremental manner to reflect the changes
in the content of the streams.</p>
      <p>Finding Related Streams. Based on previously created profiles,
our stream discovery method computes the similarity between
streams in our streaming data lake indicating streams that have a
high chance of being related. These indications of relatedness are
adaptively updated as the streams change over time. The resulting
related streams are either presented to the end user or used to guide
the downstream tasks of a workflow.</p>
      <p>
        Joining Similar Records. Our streaming similarity join method
takes as input two or more streams and outputs all possible record
matches. In order to identify and join the similar records, our
method computes a similarity score through a similarity function.
In this project, the primary focus is to optimize this similarity
comparison to significantly improve the eficiency of the streaming
integration tasks. The results of our similarity join task can be used
as part of one of the entity resolution pipelines described in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>In the rest of the section, we go into details about the individual
tasks that the methods perform and we discuss the related work.
3.2</p>
    </sec>
    <sec id="sec-6">
      <title>Profiling Streams</title>
      <p>An important step before integrating streams is to compute data
profiles for all the streams in a streaming data lake. Depending on
the nature of the downstream tasks, diferent types of data profiles
can be of interest. In this project we mainly focus on two types:
basic statistics-based profiles and summaries/sketches.</p>
      <p>Basic statistics-based profiles are easier to compute but also less
informative for tasks like a similarity join. These profiles typically
contain information like the cardinalities, the value distributions or
the data types of columns. This information can be used to reduce
the combinations of items to be checked from downstream tasks, e.g.
combinations of attributes or streams to be checked for similarity.
This can be done either in a stream level by identifying streams
with common statistical properties or in column level by narrowing
down the column combinations to be examined. For example, the
value distributions of columns can help identify candidate pairs of
columns on which a downstream similarity join will be performed.</p>
      <p>
        On the other hand, sketches and summaries [
        <xref ref-type="bibr" rid="ref13 ref7">7, 13</xref>
        ] are harder
to create but they can give a good estimate of the contents of a
stream. Sketches or summaries can be very useful in various
problems like approximate and streaming query processing or dataset
discovery. In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] summaries are computed for approximate query
answering based on a probabilistic technique that makes use of
Maximum Entropy. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], sketches are created for dataset
discovery by leveraging bloom filters and a skip list. However, none of
the above techniques incorporates the time factor in their sketches.
In addition, [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is not targeting data streams and an adaptation is
far from trivial due to the complexity of the technique.
      </p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] there is still much more ground to cover to
perform incremental, online and temporal profiling. For this project,
it is important that our profiles are computed online and are
constantly updated to capture the temporal properties of our streams.
This is not an easy task when data streams are possibly endless,
fast and massive and their statistical values can change often. Time
needs to be incorporated on the profiles and any process must be
incremental to ensure eficiency.
3.3
      </p>
    </sec>
    <sec id="sec-7">
      <title>Finding Related Streams</title>
      <p>After computing the desired profile for each stream, we must
identify which of our streams are related based on the profiled
information. Depending on the type of the collected profiles, diferent
strategies can be employed.</p>
      <p>
        A simple example, in the case of sketches, is the simple procedure
described in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Here, the authors suggest to use the computed
sketches to acquire a simple estimation of overlapping values
between two sources by computing the overlap between the way
smaller corresponding sketches. This way an estimation of whether
two sources must be integrated or not can be made, as well as an
estimation of the cost of this integration. However, the described
scenario is pretty simple, it uses only sketches and does not
incorporate time-related capabilities like temporal queries.
      </p>
      <p>
        A better example to showcase the use of profiles though, is the
data discovery system Aurum [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In Aurum, the authors propose
creating a knowledge graph based on previously computed profiles.
The knowledge graph is afterwards queried for dataset discovery
purposes. The computed profiles consists of multiple statistical
properties, discovered dependencies and sketches. These profiles
are used from Aurum to prune the search space and reduce the
similarity comparisons needed to build the knowledge graph. The
authors have opted for a scalable parallel solution that reads the
input once, and they also provide a mechanism for keeping
up-todate both the profiles and the knowledge graph. However, Aurum
is not designed for streams and does not provide temporal features
both in its profiles and its knowledge base. Thus, temporal queries
are not supported. In a streaming environment and especially for
a crucial task like monitoring infrastructure, such a capability is
essential.
3.4
      </p>
    </sec>
    <sec id="sec-8">
      <title>Joining Similar Streaming Records</title>
      <p>
        Similarity join [
        <xref ref-type="bibr" rid="ref22 ref3 ref6">3, 6, 22</xref>
        ] is the problem of identifying all pairs of
similar records that reside in two or more datasets. A pair of records
is considered similar if the similarity score given by a similarity
function is above a given threshold. In a stream processing model,
the similarity join operation between two given streams is expected
to join similar records from the incoming streams based on the
values of one or more target attributes. In a streaming environment
we can distinguish two types of similarity joins: the full-history
and the windowed joins.
      </p>
      <p>Similarity joins are dificult and time-consuming operations. The
brute force approach has to compare all the data of the first dataset
against the data on the second, leading to a quadratic time
complexity, O (2). When we take into account that a data stream is a
possibly unbounded dataset, it is clear that a brute force solution is
infeasible in a streaming environment. Thus, it is essential that the
performed comparisons between records are reduced by avoiding
unnecessary computations. Additionally, due to the dynamic nature
of data streams any occurring concept drift might result on obsolete
partitions and load skew. To ensure the high eficiency of the task,
we must adaptively partition the data online.</p>
      <p>In what follows, we will discuss the main work in the related
ifelds.</p>
      <p>Similarity Joins in Map Reduce. Similarity joins have been
studied a lot for MapReduce environments. In general, MapReduce
methods require their inputs at their full before processing, and
most of them leverage statistics and properties of the datasets to
optimize the task and reduce the transmission and computation
costs. They provide a one-of partitioning scheme which cannot be
updated adaptively on runtime. Thus, they are not trivially
applicable on a streaming environment but they are a great inspiration
towards a distributed streaming solution.</p>
      <p>
        There are two main approaches which MapReduce methods
usually follow: Filter &amp; Verification and General Metric Space.The Filter
&amp; Verification methods [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ],[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] rely on prefices and signatures
which they leverage to scale out the similarity computations and
iflter unnecessary comparisons. On the other hand, General
Metric space methods [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] divide the metric space in partitions
to which similar objects are grouped. However, they require that
the similarity function is a metric, or at least a semi-metric. More
specifically, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] select random centroids, create an inner
and an outer partition for each by using centroid proximity and
iflters, and compute a)the similarity of all pairs of items in an inner
partition and b)the similarity of each item of an outer partition with
all the items within the corresponding inner partition.
Similarity Joins for Data Streams. On the other hand, research
on similarity joins in a streaming environment is very limited. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
introduces the problem of streaming similarity self-join. It proposes
a similarity measure which filters out old items and a streaming
framework that leverage an optimized for streaming data
state-ofthe-art inverted index. However, the proposed solution runs on a
single machine and thus unable to multiple massive streams for
scalability reasons.
      </p>
      <p>
        To the best of our knowledge, the only work dealing with
distributed streaming similarity joins is [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. It proposes a distributed
streaming similarity join framework that employs a length-based
iflter to distribute the data across a cluster of nodes. Because the
lengths of the incoming tuples might change over time, an adaptive
algorithm is also proposed to recalculate the bounds for the length
segments based on the online collected statistics. In addition, in
order to reduce the computations in a node, an inverted index is
built accompanied with a bundle structure to reduce the indexed
records. However, the authors consider full history joins without
proposing any retention policy which is crucial when dealing with
endless streams. In addition, the proposed length-based filter will
struggle to scale out eficiently when all the incoming sets are of
similar length.
      </p>
      <p>
        Load-Balancing on Streams. Load balancing is a native concern
in distributed stream processing environments, since the
statistical properties of the data change frequently and the systems need
to adapt to achieve full potential. To ensure load balancing, [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
proposes a new dataflow join operator that can adaptively
distribute records to nodes and perform state repartitioning through a
locality-aware migration strategy. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a streaming variation of
the HyperCube algorithm [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is presented. The authors divide the
incoming records to heavy and light hitters and process each heavy
hitter in a Hypercube Grid. The characterization of a tuple as heavy
or light hitter, as well as the size of each HyperCube grid is adapted
to the statistics that are gathered online for the join values. These
works focus on distributing the load and do not present solutions
for reducing the needed computations. However, a unified solution
with a load balancing scheme tailored to the distribution scheme
can achieve both goals and provide better results.
Our approach.To tackle the streaming challenges we propose a
partitioning scheme based on inner and outer partitions inspired
by the general metric space approaches from MapReduce. First, we
partition the incoming records from our input streams to diferent
physical nodes based on the proximity to a node’s representative
centroid. Afterwards, we create tighter partitions within a node
in a logical way by leveraging the provided similarity threshold
and creating new logical partitions based on the incoming records.
The last step of our workflow is the actual similarity computation
and the output of the wanted joined pairs. The similarity
computations are restricted to candidate pairs through our tight logical
partitions. In additions, in order to ensure adaptivity, we collect
statistics from the similarity computations sub-task to re-calibrate
both our logical and physical partitions. It is important to notice
that in this project we optimize for high dimensional data. Based
on the latest advances in Deep Learning-based Entity Resolution
[
        <xref ref-type="bibr" rid="ref11 ref25 ref4">4, 11, 25</xref>
        ], word embeddings can be used to capture more efectively
the similarities between records. However, due to their high
dimensionality, the similarity computations between two embeddings is
very ineficient. We aim to tackle this ineficiency enabling the use
of word embeddings for similarity joins on streams.
      </p>
      <p>
        Evaluation. We plan to evaluate our solution on datasets from
[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], real-world datasets provided by our industrial partner, and
synthetic datasets. We plan to compare it against the discussed state
of the art solution [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], and baselines from the general metric space.
Since our goal is to provide real-time results, our evaluation will be
based on metrics like throughput and latency.
4
      </p>
    </sec>
    <sec id="sec-9">
      <title>CONCLUSION</title>
      <p>Summarizing, in this paper we present the exciting challenges and
open problems of streaming data integration and a research plan that
aims to provide scalable methods to tackle them. We discuss three
envisioned methods to perform profiling, discovery and similarity
joins on streams. In addition, we present related work for each
task and we discuss their limitations when dealing with streams.
Finally, we shortly present our approach for distributed streaming
similarity joins by leveraging adaptive data partitions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Abedjan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Golab</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Naumann</surname>
          </string-name>
          .
          <article-title>Data profiling: A tutorial</article-title>
          .
          <source>In Proceedings of the 2017 ACM International Conference on Management of Data, SIGMOD '17, page 1747-1751</source>
          , New York, NY, USA,
          <year>2017</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F. N.</given-names>
            <surname>Afrati</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Ullman</surname>
          </string-name>
          .
          <article-title>Optimizing joins in a map-reduce environment</article-title>
          .
          <source>In Proceedings of the 13th International Conference on Extending Database Technology, EDBT '10, page 99-110</source>
          , New York, NY, USA,
          <year>2010</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaushik</surname>
          </string-name>
          .
          <article-title>Eficient exact set-similarity joins</article-title>
          .
          <source>In Proceedings of the 32nd international conference on Very large data bases</source>
          , pages
          <fpage>918</fpage>
          -
          <lpage>929</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Cappuzzo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Papotti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Thirumuruganathan</surname>
          </string-name>
          .
          <article-title>Creating embeddings of heterogeneous relational datasets for data integration tasks</article-title>
          .
          <source>In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, SIGMOD '20, page 1335-1349</source>
          , New York, NY, USA,
          <year>2020</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. Castro</given-names>
            <surname>Fernandez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Abedjan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Koko</surname>
          </string-name>
          , G. Yuan,
          <string-name>
            <given-names>S.</given-names>
            <surname>Madden</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Stonebraker</surname>
          </string-name>
          . Aurum:
          <article-title>A data discovery system</article-title>
          .
          <source>In 2018 IEEE 34th International Conference on Data Engineering (ICDE)</source>
          , pages
          <fpage>1001</fpage>
          -
          <lpage>1012</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chaudhuri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Ganti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaushik</surname>
          </string-name>
          .
          <article-title>A primitive operator for similarity joins in data cleaning</article-title>
          .
          <source>In 22nd International Conference on Data Engineering (ICDE'06)</source>
          , pages
          <fpage>5</fpage>
          -
          <lpage>5</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Cormode</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Garofalakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Haas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Jermaine</surname>
          </string-name>
          .
          <article-title>Synopses for massive data: Samples, histograms, wavelets, sketches</article-title>
          . Foundations and Trends® in Databases,
          <volume>4</volume>
          (
          <issue>1</issue>
          -3):
          <fpage>1</fpage>
          -
          <lpage>294</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>A. Das Sarma</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>He</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Chaudhuri</surname>
          </string-name>
          .
          <article-title>Clusterjoin: A similarity joins framework using map-reduce</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>7</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1059</fpage>
          -
          <lpage>1070</lpage>
          , Aug.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>G.</given-names>
            <surname>De Francisci Morales</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Gionis</surname>
          </string-name>
          .
          <article-title>Streaming similarity self-join</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>9</volume>
          (
          <issue>10</issue>
          ):
          <fpage>792</fpage>
          -
          <lpage>803</lpage>
          ,
          <year>June 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Feng</surname>
          </string-name>
          .
          <article-title>Massjoin: A mapreduce-based method for scalable string similarity joins</article-title>
          .
          <source>In 2014 IEEE 30th International Conference on Data Engineering</source>
          , pages
          <fpage>340</fpage>
          -
          <lpage>351</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ebraheem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Thirumuruganathan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Joty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ouzzani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Tang</surname>
          </string-name>
          .
          <article-title>Distributed representations of tuples for entity resolution</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>11</volume>
          (
          <issue>11</issue>
          ):
          <fpage>1454</fpage>
          -
          <lpage>1467</lpage>
          ,
          <year>July 2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>M. ElSeidy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Elguindy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Vitorovic</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Koch</surname>
          </string-name>
          .
          <article-title>Scalable and adaptive online joins</article-title>
          .
          <source>page 16</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Karapiperis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gkoulalas-Divanis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V. S.</given-names>
            <surname>Verykios</surname>
          </string-name>
          .
          <article-title>Summarization algorithms for record linkage</article-title>
          . In M. H.
          <string-name>
            <surname>Böhlen</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Pichler</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>May</surname>
            , E. Rahm,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Wu</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          K. Hose, editors,
          <source>Proceedings of the 21st International Conference on Extending Database Technology, EDBT</source>
          <year>2018</year>
          , Vienna, Austria, March
          <volume>26</volume>
          -29,
          <year>2018</year>
          , pages
          <fpage>73</fpage>
          -
          <lpage>84</lpage>
          . OpenProceedings.org,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kolb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Thor</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Rahm</surname>
          </string-name>
          . Dedoop:
          <article-title>Eficient deduplication with hadoop</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .,
          <volume>5</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1878</fpage>
          -
          <lpage>1881</lpage>
          , Aug.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Kolb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Thor</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Rahm</surname>
          </string-name>
          <article-title>. Multi-pass sorted neighborhood blocking with mapreduce</article-title>
          .
          <source>Comput. Sci.</source>
          ,
          <volume>27</volume>
          (
          <issue>1</issue>
          ):
          <fpage>45</fpage>
          -
          <lpage>63</lpage>
          , Feb.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>L.</given-names>
            <surname>Orr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Balazinska</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Suciu</surname>
          </string-name>
          .
          <article-title>Entropydb: a probabilistic approach to approximate query processing</article-title>
          .
          <source>VLDB Journal International Journal on Very Large Data Bases</source>
          ,
          <volume>29</volume>
          (
          <issue>1</issue>
          ),
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>G.</given-names>
            <surname>Papadakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Mandilaras</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gagliardelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Simonini</surname>
          </string-name>
          , E. Thanos, G. Giannakopoulos,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bergamaschi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Palpanas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Koubarakis</surname>
          </string-name>
          .
          <article-title>Three-dimensional entity resolution with jedai</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>93</volume>
          :
          <fpage>101565</fpage>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Qiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Papadias</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Yi</surname>
          </string-name>
          .
          <article-title>Streaming hypercube: A massively parallel stream join algorithm</article-title>
          . In M. Herschel,
          <string-name>
            <given-names>H.</given-names>
            <surname>Galhardas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Reinwald</surname>
          </string-name>
          , I. Fundulaki,
          <string-name>
            <given-names>C.</given-names>
            <surname>Binnig</surname>
          </string-name>
          , and
          <string-name>
            <surname>Z</surname>
          </string-name>
          . Kaoudi, editors,
          <source>Advances in Database Technology - 22nd International Conference on Extending Database Technology, EDBT</source>
          <year>2019</year>
          , Lisbon, Portugal, March
          <volume>26</volume>
          -29,
          <year>2019</year>
          , pages
          <fpage>642</fpage>
          -
          <lpage>645</lpage>
          . OpenProceedings.org,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Saeedi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nentwig</surname>
          </string-name>
          , E. Peukert, and
          <string-name>
            <given-names>E.</given-names>
            <surname>Rahm</surname>
          </string-name>
          .
          <article-title>Scalable matching and clustering of entities with famer</article-title>
          .
          <source>Complex Systems Informatics and Modeling Quarterly</source>
          , (
          <volume>16</volume>
          ):
          <fpage>61</fpage>
          -
          <lpage>83</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>R.</given-names>
            <surname>Vernica</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Carey</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>Eficient parallel set-similarity joins using mapreduce</article-title>
          .
          <source>SIGMOD '10, page 495-506</source>
          , New York, NY, USA,
          <year>2010</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Metwally</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Parthasarathy</surname>
          </string-name>
          .
          <article-title>Scalable all-pairs similarity search in metric spaces</article-title>
          .
          <source>KDD '13, page 829-837</source>
          , New York, NY, USA,
          <year>2013</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>C.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. X.</given-names>
            <surname>Yu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>Eficient similarity joins for near-duplicate detection</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>36</volume>
          (
          <issue>3</issue>
          ), Aug.
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          .
          <article-title>Distributed streaming set similarity join</article-title>
          .
          <source>In 2020 IEEE 36th International Conference on Data Engineering (ICDE)</source>
          , pages
          <fpage>565</fpage>
          -
          <lpage>576</lpage>
          . IEEE,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hadjieleftheriou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Ooi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Procopiuc</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          .
          <article-title>Automatic discovery of attributes in relational databases</article-title>
          .
          <source>In Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data, SIGMOD '11, page 109-120</source>
          , New York, NY, USA,
          <year>2011</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>W.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Sisman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X. L.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Faloutsos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Page</surname>
          </string-name>
          .
          <article-title>Autoblock: A hands-of blocking framework for entity matching</article-title>
          .
          <source>In Proceedings of the 13th International Conference on Web Search and Data Mining, WSDM '20, page 744-752</source>
          , New York, NY, USA,
          <year>2020</year>
          .
          <article-title>Association for Computing Machinery</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>