<!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>
      <journal-title-group>
        <journal-title>Stonebraker gegen Google: Das</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Stonebraker versus Google: 2-0 scores in Rostock - A comparison of big data analytics environments</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Dietrich</string-name>
          <email>daniel.dietrich@uni-</email>
          <email>daniel.dietrich@unirostock.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ole Fenske</string-name>
          <email>ole.fenske@uni-</email>
          <email>ole.fenske@unirostock.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Schomacker</string-name>
          <email>stefan.schomacker@uni-</email>
          <email>stefan.schomacker@unirostock.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Philipp Schweers</string-name>
          <email>philipp.schweers@uni-</email>
          <email>philipp.schweers@unirostock.de</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universität Rostock</institution>
          ,
          <addr-line>Albert-Einstein-Str. 22, 18059 Rostock</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universität Rostock</institution>
          ,
          <addr-line>Albert-Einstein-Str. 22, 18059 Rostock</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universität Rostock</institution>
          ,
          <addr-line>Albert-Einstein-Str. 22, 18059 Rostock</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Universität Rostock</institution>
          ,
          <addr-line>Albert-Einstein-Str. 22, 18059 Rostock</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <volume>2</volume>
      <issue>0</issue>
      <abstract>
        <p>In our research project PArADISE, the data-driven development of assistive systems is supported by the highly parallel analysis of large amounts of sensor data. To achieve di erent aims such as the preservation of privacy, provenance, and sustainability, we stick to SQL as a basis to express the evaluation programs (mining or machine learning algorithms). These SQL queries should then be evaluated by a parallel DBMS. Of course, parallel row store DBMS are competing with column oriented DBMS architectures, as well as with recent big data analytics environments such as map reduce or data ow programming environments. In a paper of Stonebraker (CACM, 2010), the superiority of row and column stores over a map reduce framework (Hadoop) has been shown several years ago. Years later, we wanted to reconstruct the results of Stonebraker within two studentsA^ t' projects at the University of Rostock. Additionally, we wanted to transfer the results to other kinds of tasks and to more recent software environments. The aim of this paper is to present the results of these two studentsA^ t' projects.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Andreas Heuer</p>
      <p>Universität Rostock
Albert-Einstein-Str. 22</p>
      <p>18059 Rostock
heuer@informatik.unirostock.de
Ein Vergleich von Big-Data-Analytics-Plattformen</p>
    </sec>
    <sec id="sec-2">
      <title>Daniel Dietrich</title>
      <sec id="sec-2-1">
        <title>Universität Rostock</title>
      </sec>
      <sec id="sec-2-2">
        <title>Albert-Einstein-Str. 22</title>
        <p>18059 Rostock
daniel.dietrich@
uni-rostock.de</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Ole Fenske</title>
      <sec id="sec-3-1">
        <title>Universität Rostock</title>
      </sec>
      <sec id="sec-3-2">
        <title>Albert-Einstein-Str. 22</title>
        <p>18059 Rostock
ole.fenske@
uni-rostock.de</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Stefan Schomacker</title>
      <sec id="sec-4-1">
        <title>Universität Rostock</title>
      </sec>
      <sec id="sec-4-2">
        <title>Albert-Einstein-Str. 22</title>
        <p>18059 Rostock
stefan.schomacker@
uni-rostock.de</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Philipp Schweers</title>
      <sec id="sec-5-1">
        <title>Universität Rostock</title>
      </sec>
      <sec id="sec-5-2">
        <title>Albert-Einstein-Str. 22</title>
        <p>
          18059 Rostock
philipp.schweers@
uni-rostock.de
Im Projekt PArADISE wird die datengetriebene
Entwicklung von Assistenzsystemen durch die hochparallele
Analyse gro er Mengen von Sensordaten unterstutzt. Um dabei
verschiedene Ziele wie die Sicherung von Privatsphare,
Provenance und Nachhaltigkeit zu erreichen, sind wir darauf
angewiesen, die Analyseprogramme (Mining- oder
MachineLearning-Algorithmen) in SQL umzusetzen und dann
moglichst mit parallelen DBMS zu realisieren. Dabei stehen
diese parallelen DBMS-Losungen auf zeilenorientierten
DBMSArchitekturen naturlicherweise in Konkurrenz zu
spaltenorientierten Architekturen, gleichzeitig aber auch zu modernen
Big-Data-Analyse-Umgebungen wie MapReduce- oder
Daten ussprogrammierungsansatzen. In einem Artikel von
Stonebraker [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] wurde die U berlegenheit von zeilen- und
spaltenorientierten DBMS gegenuber eines MapReduce-Ansatzes
(Hadoop) gezeigt. Die Ergebnisse von Stonebraker sollten
nun einige Jahre spater in zwei studentischen Projekten an
der Universitat Rostock nachvollzogen, aber auch auf
andere Arten von Problemen und neuere Software-Plattformen
ubertragen werden. Ziel dieses Artikels ist, die Ergebnisse
der beiden studentischen Projekte zu prasentieren.
        </p>
        <sec id="sec-5-2-1">
          <title>Categories and Subject Descriptors</title>
          <p>Information Systems [Database Management System
Engines]: MapReduce-based systems; Information Systems
[Database Management System Engines]: Relational
parallel and distributed DBMSs; Information Systems
[Database Administration]: Database performance
evaluation; Computer Systems Organization [Parallel
Architectures]: Multicore architectures
Big Data Analytics, Parallele DBMS, Map-Reduce,
Performance, Postgres-XL, Hadoop, Spark, Flink
1.</p>
        </sec>
        <sec id="sec-5-2-2">
          <title>MOTIVATION</title>
          <p>
            Im Rostocker Projekt PArADISE [
            <xref ref-type="bibr" rid="ref7 ref9">7, 9</xref>
            ] wird die
datengetriebene Entwicklung von Assistenzsystemen durch die
hochparallele Analyse gro er Mengen von Sensordaten
unterstutzt. Dabei sollen neben der e zienten Datenanalyse zur
Unterstutzung der Modellbildung in Assistenzsystemen
diverse weitere Ziele erreicht werden: die Sicherung der
Privatsphare der das Assistenzsystem nutzenden Personen, das
Provenance Management zur Ermittlung von Ursachen bei
fehlerhaften Modellbildungen, und die Nachhaltigkeit der
Analyseprogramme im Kontext einer
InformationssystemInfrastruktur beim Diensteanbieter des Assistenzsystems. Die
Architektur des PArADISE-Frameworks wird in Abschnitt
2 noch genauer beschrieben.
          </p>
          <p>Um die oben genannten Ziele zu erreichen, sind wir darauf
angewiesen, die Analyseprogramme (Mining- oder
MachineLearning-Algorithmen) in SQL umzusetzen und dann
moglichst mit parallelen DBMS zu realisieren. Dabei stehen
diese parallelen DBMS-Losungen auf zeilenorientierten
DBMSArchitekturen naturlicherweise in Konkurrenz zu
spaltenorientierten Architekturen, gleichzeitig aber auch zu modernen
Big-Data-Analyse-Umgebungen wie MapReduce- oder
Daten ussprogrammierungsansatzen.</p>
          <p>
            Die Communications of the ACM hatte im Jahre 2010
zwei Artikel mit gegensatzlichen Positionen vero entlicht:
einen Artikel von Google [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] uber den Sinn und die
Vorteile MapReduce-artiger Losungen wie Hadoop, dazu einen
Artikel von Michael Stonebraker [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] uber die U
berlegenheit von zeilen- und spaltenorientierten DBMS gegenuber
eines MapReduce-Ansatzes, speziell Hadoop. Stonebraker hat
dabei neben Hadoop auch sein eigenes spaltenorientiertes
DBMS Vertica (heute bei HP) und ein nicht genanntes
zeilenorientiertes DBMS genutzt. Die drei Systeme wurden in
drei verschiedenen Aufgaben (Tasks) getestet. Die drei
Originalaufgaben von Stonebraker, die Testumgebung und die
Testergebnisse stellen wir in Abschnitt 3 noch genauer vor.
          </p>
          <p>Kurz zusammengefasst kann gesagt werden: Stonebraker
stellte die U berlegenheit der DBMS-Losungen gegenuber
Hadoop nicht nur in Testfallen heraus, in denen man diese
U berlegenheit erwarten konnte (Aufgaben, die einen
Verbund gro er Datenbestande als Teilproblem hatten),
sondern auch in Tasks, fur die eine MapReduce-artige
Verarbeitung eigentlich eingefuhrt wurde (Wortsuche in Texten).
Nach diesen Tests stand es 1:0 fur die von Stonebraker
favorisierten parallelen DBMS als Big-Data-Plattformen.</p>
          <p>Die Ergebnisse von Stonebraker sollten nun einige
Jahre spater in zwei studentischen Projekten an der
Universitat Rostock nachvollzogen, aber auch auf andere Arten
von Problemen und neuere Software-Plattformen
ubertragen werden (siehe Abschnitt 4 fur die genauere
Aufgabenstellung). Neben Hadoop sollten auch neuere Systeme wie
Spark, Flink, Naiad und Tensor ow getestet werden. Und
neben den drei Task-Typen von Stonebraker sollte noch
mindestens ein Data-Mining-Verfahren als komplexere Task
erganzt werden. Die Testumgebung und die Testfalle, die in
Rostock umgesetzt wurden, werden in den Abschnitten 5
und 6 genauer vorgestellt.</p>
          <p>Die Ergebnisse der beiden studentischen Projekte werden
ebenfalls in Abschnitt 6 genauer vorgestellt. Sie
untermauern die These von Stonebraker, dass nicht nur
spaltenorientierte DBMS bei vielen Typen von Analysen auf gro en
Datenmengen einer MapReduce-Losung uberlegen sind,
sondern auch zeilenorientierte Architekturen mithalten konnen.
Die Tests haben also fur die Stonebraker-Argumentation
kein Gegentor beschert, sondern die Argumentation
bestatigt: es steht damit 2:0 fur die DBMS-Plattformen.</p>
        </sec>
        <sec id="sec-5-2-3">
          <title>DAS PROJEKT PARADISE</title>
          <p>
            PArADISE (Privacy-AwaRe Assistive Distributed
Information System Environment) [
            <xref ref-type="bibr" rid="ref7 ref9">7, 9</xref>
            ] unterstutzt die
datengetriebene Entwicklung von Assistenzsystemen durch die
hochparallele Analyse gro er Mengen von Sensordaten. Das in
dem Projekt entwickelte Framework besteht aus drei gro en
Phasen (siehe Abbildung 1):
          </p>
          <p>
            In der Entwicklungsphase (links im Bild) werden unter
Versuchsbedingungen massiv Sensordaten erfasst, um
daraus Modelle fur Situationen, Handlungen und
Intentionen der beteiligten Personen abzuleiten. Die
Ableitung der Modelle geschieht uber
Machine-LearningAlgorithmen (ML), die in SQL umgesetzt werden. Die
Umsetzung in SQL wird in [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] naher erlautert.
          </p>
          <p>
            In der Transformationsphase (im Bild der Pfeil von
links nach rechts) wird mit
Provenance-ManagementTechniken eine kleine, aber aussagefahige Auswahl der
Sensoren getro en, mit der unter genugender Kon
denz ahnliche Modelle hergeleitet werden konnen. Die
Rolle des Provenance Management bei der
Entwicklung von Assistenzsystemen skizzieren wir in [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ].
In der Nutzungsphase (rechts im Bild) werden beim
spateren Einsatz des Assistenzsystems die in SQL
vorliegenden Machine-Learning-Algorithmen automatisch
auf sensornahe Schichten des gesamten
Verarbeitungsnetzwerkes transformiert. Diese Phase wird in [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ]
vorgestellt und realisiert die datensparsame Analyse der
Sensordaten.
          </p>
          <p>Grep
Web Log</p>
          <p>Join
Sowohl in der Entwicklungsphase als auch in der
Nutzungsphase werden wir auf einem Parallelrechner gro e
Mengen von Sensordaten analysieren mussen. Das Zielsystem fur
diese Analysen ist ein paralleles DBMS, das SQL-Anfragen
parallel und e zient verarbeiten kann (in der Architektur
mit PSQL und PDBMS bezeichnet). Um abschatzen zu
konnen, ob (und wenn ja, wie stark) die Performance durch
die Nutzung eines SQL-DBMS leidet, testen wir eine
solche Losung gegen spezialisierte Plattformen wie Hadoop,
Spark und Flink. Ziel ist dabei nicht unbedingt, in jedem
Fall besser zu sein als diese Plattformen, sondern moglichst
wenig gegenuber diesen zu verlieren. Die Vorteile der
Nutzung von DBMS-Technologien (wie erwahnt: Privacy,
Provenance, Nachhaltigkeit) wiegen schwerer als ein geringer
Performance-Verlust.</p>
          <p>
            Beim Start des PArADISE-Projektes waren daher die
Ergebnisse von Stonebraker [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] ein interessanter
Ausgangspunkt, den wir in diesem studentischen Teilprojekt naher
untersuchen wollten.
3.
          </p>
        </sec>
        <sec id="sec-5-2-4">
          <title>DIE ERGEBNISSE VON STONEBRAKER</title>
          <p>
            Stonebraker et al. publizierten 2010 [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] die Ergebnisse
eines Vergleichs zwischen Hadoop 0.19.0, DBMS-X und
Vertica. DBMS-X ist dabei ein nicht benanntes,
kommerzielles, zeilenorientiertes und paralleles DBMS. Vertica hat eine
spaltenorientierte und parallele Architektur. Der Test
verwendete ein Cluster mit 100 Knoten. Jeder dieser Knoten
hatte einen 2.4 GHz Intel Core 2 Duo Prozessor und 4 GB
RAM. Die Resultate sind der Tabelle 1 zu entnehmen.
          </p>
          <p>Es wurden die folgenden Szenarien verglichen:</p>
          <p>Grep Task. Hierbei werden 10 Milliarden Datensatze (1
TB) nach einer Zeichenkette durchsucht. Bei 100 Knoten
ergibt sich eine Datenmenge von 10 GB pro Knoten. Ein
Datensatz besteht aus 100 Bytes (10 Bytes Schlussel, 90 Bytes
Wert). Es liegt keine Sortierung vor und es darf kein Index
verwendet werden. Dieser Task ist die Basis fur Analysen
von Webseiten, etwa bei Google. Es ist daher zu erwarten,
dass dieser Task sehr gut zu Map-Reduce-Systemen passt.</p>
          <p>Web Log Task. Die zweite Aufgabe besteht aus einer
Aggregation mit GROUP BY auf einem Web Log mit
Besuchen. Der Log hat eine Gro e von 2 TB und beinhaltet
155 Millionen Datensatze. Bei 100 Knoten ergibt sich eine
Datenmenge von 20 GB pro Knoten. Diese Aufgabe wurde
ohne Index durchgefuhrt.</p>
          <p>Join Task. Diese Aufgabe beschreibt einen Verbund uber
zwei Tabellen, eine Selektion und eine Aggregation. Der Web
Log wird mit einer PageRank-Tabelle verbunden, die 18
Millionen Datensatze und eine Gro e von 100 TB hat. Im
ersten Teil muss die IP-Adresse mit der gro ten
Besuchsanzahl (Visits) in einem gewissen Zeitraum gefunden werden.
Im zweiten Teil wird daraus der durchschnittliche PageRank
berechnet.</p>
          <p>Grep Task und Join Task waren dann Ausgangspunkt fur
die eigenen Untersuchungen, die wir im folgenden Abschnitt
Data Scientist /
ML Developer</p>
          <p>ML-Code
ML2PSQL
PSQL-Code</p>
          <p>PDBMS
…</p>
          <p>PDBS</p>
          <p>Poodle
Remainder Query</p>
          <p>PDBMS</p>
          <p>PDBS
…
Client 1</p>
          <p>Privacy
Decomposition</p>
          <p>PD
PD</p>
          <p>ML-Code
ML2PSQL
PSQL-Code</p>
          <p>Privacy</p>
          <p>Decomposition
Client 2</p>
          <p>Privacy
Decomposition</p>
          <p>PD
PD
…
…
…</p>
          <p>Client n</p>
          <p>Privacy
Decomposition</p>
          <p>PD
PD</p>
          <p>
            Abbildung 1: Das PArADISE-Projekt (aus [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] und [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ])
beschreiben.
          </p>
          <p>
            Einordnung der Ergebnisse von Stonebraker.
Sicher war der Stonebraker-Artikel [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] von den Kriterien her
sehr einseitig. So wurden die E zienzaussagen ohne
genauere Details vero entlicht. Etwa ist nicht klar, welche
JoinImplementierungen in welchen DBMS in den internen
Anfrageplanen generiert bzw. welche Join-Implementierungen
in der Hadoop-Umgebung durch das Test-Team umgesetzt
wurden. In unserer eigenen Testumgebung wurden daher
bei keiner Plattform die Join-Varianten bzw. die
Datenpartitionierung auf dem parallelen System von au en
beeinusst. Weiterhin wurden Vorteile der
Big-Data-AnalyticsPlattformen wie Hadoop (und eventuelle Nachfolger) nicht
weiter betrachtet: au er der E zienzfragestellung gibt es
auch Kriterien wie Cost of Ownership,
Administrationsaufwand und Ease of Use, verfugbare Schnittstellen und vor
allem die einfache Skalierbarkeit, bei der in vielen Fallen die
eingesetzten DBMS-Losungen schlechter als Hadoop
ausgesehen hatten.
          </p>
          <p>Fur unsere Originalfragestellung, ob die von uns aus
anderen Grunden favorisierten SQL-basierten Systeme zur
parallelen Auswertung gro er Datenmengen von der E zienz
her mit den spezialisierten Big-Data-Analytics-Frameworks
mithalten konnen, hatten wir nun aber einen interessanten
Ausgangspunkt, den wir in eigenen Tests vertiefen wollten.</p>
        </sec>
        <sec id="sec-5-2-5">
          <title>AUFGABENSTELLUNG</title>
          <p>Im Sommersemester 2017 wurde in zwei verschiedenen
Projektveranstaltungen (eine fur den Bachelor
Wirtschaftsinformatik, eine fur den Bachelor Informatik) die Aufgabe
gestellt, die Stonebraker-Ergebnisse nachzuvollziehen, aber
auch auf andere Arten von Problemen und neuere
SoftwarePlattformen zu ubertragen. Die
Wirtschaftsinformatik-Gruppe sollte dabei neben Hadoop auch neuere Systeme wie Spark,
Flink, Naiad und Tensor ow untersuchen und drei davon fur
reale Tests aussuchen. Die Informatik-Gruppe sollte diese
Tests parallel auf einem parallelen SQL-DBMS, in diesem
Fall Postgres-XL, durchfuhren.</p>
          <p>Der notige Aufwand fur die Realisierung der Tests ist zwar
durch die verschiedenen Projektformen im
Wirtschaftsinformatik- und Informatik-Studium nicht direkt vergleichbar,
die Aufwande wurden aber in den Projekten gemessen und
sind von der Gro enordnung her vergleichbar:</p>
          <p>Die funfkop ge Wirtschaftsinformatik-Gruppe
wendete nach Abzug von Einarbeitungs- sowie
Installationsund Administrations-Tatigkeiten 160 Stunden fur die
Datenaufbereitung und 170 Stunden fur die
Implementierung der Tasks in den drei fur reale Tests
ausgewahlten Plattformen auf.</p>
          <p>Von der vierkop gen Informatik-Gruppe waren drei
nur fur Installation und Administration des
PostgresXL-Systems zustandig, da dieses auch fur mehrere
Parallelprojekte benutzt wurde. Nur einer der
InformatikStudenten beschaftigte sich dann mit den
StonebrakerTests. Fur die Datenaufbereitung wurden durch die
Vorarbeiten der Wirtschaftsinformatik-Gruppe nur 40
Stunden benotigt, die Implementierung der Tasks
erfolgte dann (nach Abzug der Einarbeitung) in 60
Stunden.</p>
          <p>Pro System war der Aufwand zur Umsetzung der Tasks mit
50 bis 60 Stunden erstaunlich gleichma ig verteilt.</p>
          <p>Neben den drei Task-Typen von Stonebraker sollte noch
mindestens ein Data-Mining-Verfahren als komplexere Task
erganzt werden. In den beiden Projektgruppen wurde dann
entschieden, den Web Log Task des Stonebraker-Tests durch
einen einfachen Data-Mining-Algorithmus (Clustering durch
k-Means) zu ersetzen. Die Testumgebung und die Testfalle
werden in folgenden Abschnitten 5 und 6 noch genauer
vorgestellt.</p>
          <p>
            Nach einer Literaturanalyse wurde von der
Wirtschaftsinformatik-Gruppe die Auswahl der Systeme auf drei
beschrankt: Hadoop [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ] als Basis auch fur die neueren Systeme
Spark [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] und Flink [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] wurden auf der zur Verfugung
stehenden Systemumgebung installiert und evaluiert. Zunachst
war auch Tensor ow (von Google) [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ] ein Kandidat fur die
realen Evaluierungen: erste Tests ergaben aber, dass
Tensor ow in der 2017 zur Verfugung stehenden Fassung auf
den gro en Datenmengen und den noch wenig auf
MachineLearning-Algorithmen zugeschnittenen Problemen mit
deutlichem Abstand nicht konkurrenzfahig war. Das
MicrosoftSystem Naiad [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ] wurde schon nach der Literaturanalyse
aufgrund von zu sparlichen Informationen und Manuals
ausgeschlossen.
          </p>
          <p>
            Postgres-XL [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ] wurde in der Informatik-Gruppe als
einziges paralleles SQL-DBMS ausgewahlt, da es als
OpenSource-System zur Verfugung stand und da auch andere
Forschungsprojekte am Lehrstuhl diese Plattform als Basis
benutzten. Beachtet werden sollte also bei dieser Auswahl, dass
im Gegensatz zum Stonebraker-Test keine spaltenorientierte
Architektur zur Verfugung stand.
          </p>
          <p>Wir werden nun die Hardware-Umgebung fur die Tests
vorstellen und danach die neuen Tasks sowie die
Ergebnisse auf den verschiedenen Plattformen. Bei der
HardwareUmgebung muss beachtet werden, dass das RMRDF1-Gro
gerat durch die Projektgruppen nur in kleinerem Ma stab
benutzt werden konnte, so dass die Ergebnisse zum Vergleich
mit den Stonebraker-Daten skaliert werden mussen.</p>
        </sec>
        <sec id="sec-5-2-6">
          <title>TESTUMGEBUNGEN</title>
          <p>Fur die Durchfuhrung der Testfalle standen drei Virtual
Private Server (VPS) zur Verfugung. Jeder Knoten besteht aus
einem Intel Haswell mit 4 Kernen, 64 GB Hauptspeicher und
einer durchschnittlichen Festplattengeschwindigkeit von 350
MB/s. Ein VPS diente zusatzlich als zentrale
Koordinationseinheit. Die verwendete Linux-Distribution ist CentOS
7.</p>
          <p>Hadoop in der Version 2.7.2, inklusive Hadoop Distributed
File System (HDFS) und Yet Another Resource Negotiator
(YARN), bildet die Grundlage fur die Berechnungen auf den
Plattformen Flink und Spark. Das HDFS ermoglicht den
Zugri und die verteilte Speicherung von folgenden Testdaten:
Als hochvernetzte Menge von Dokumenten wurde statt
eines Web-Ausschnitts ein Ausschnitt des
Twitter-Follower-Graphen gewahlt: der Umfang war hier 26 GB.
Das errechnete PageRank-Ergebnis zu diesem Graphen
umfasste 1,15 GB.</p>
          <p>Die zu untersuchenden Web-Log-Eintrage hatten einen
Umfang von 4,29 GB.</p>
          <p>Die Kon gurationsparameter des HDFS konnen der
nachfolgenden Tabelle entnommen werden. Um einen besseren
Vergleich der Messergebnisse herstellen zu konnen, wurde
die Kon guration an den Ausgangsparametern angepasst.
1Rostock Massive Data Research Facility, ein Gro gerat fur
datengetriebene Forschung, das vier Lehrstuhle im Institut
fur Informatik der Universitat Rostock gemeinsam
betreiben.</p>
          <p>Parameter
Speicherblockgro e
Heapsize Task Executor
Heapsize History Server
Heapsize DataNode
Rackawareness
Replikate
Kompression
Das Postgres-XL Cluster besteht aus 9 Koordinatoren und 9
Datenknoten. Jedem Koordinator kann somit genau ein
Datenknoten zugewiesen werden. Die Kon gurationsparameter
jeder Einheit sind wie folgt:</p>
          <p>Parameter
E ective Cache Size
Worker Memory
Maintenance Memory
Temporary Bu er
Shared Bu er
Segment Size</p>
          <p>Wert
4 GB
512 MB</p>
          <p>1 GB
64 MB
1 GB
1 GB
An den Hardware-Parametern fallt auf, dass sie in
Groenordnungen (Faktor 30) von den beim Stonebraker-Test
verwendeten Parametern abweichen. Bei den in Rostock
verwendeten Umgebungen di erierten die Hadoop-, Spark- und
Flink-Installationen und die Postgres-XL-Installation um den
Faktor drei. Damit die Gro enordnungen vergleichbar
bleiben, haben wir die Testergebnisse um diese Faktoren
skaliert, so dass die Ergebnisse bei Annahme eines linearen
Zusammenhangs vergleichbar bleiben.</p>
          <p>Wir stellen nun die drei untersuchten Tasks und die
Ergebnisse fur die drei getesteten Plattformen Flink, Spark
und Postgres-XL vor. Hadoop wurde als Basis fur Flink und
Spark genutzt, nicht jedoch fur eigenstandige Tests.
6.</p>
        </sec>
        <sec id="sec-5-2-7">
          <title>TESTFÄLLE</title>
          <p>Fur die Evaluierung der drei Plattformen wurden die
Testfalle Grep Task und Join Task des Stonebraker-Vergleichs
ausgewahlt. Zusatzlich wurde als einfacher
Mining-Algorithmus ein Clustering-Verfahren (k-Means) umgesetzt. Wir
beschreiben nun die Testfalle und die Ergebnisse auf den drei
Systemen.</p>
          <p>Grep Task. Diese Aufgabe orientiert sich an dem
OriginalGoogle-Map-Reduce-Grep-Task. Dabei sollte die Hau gkeit
des Vorkommens einer bestimmte Zeichenkette in dem 26
GB gro en Twitter-Follower-Graphen ohne Sortierung und
ohne Nutzung eines Indexes ermittelt werden. Im Beispiel
werden im Twitter-Follower-Graphen die Zeilen der
relationalen Darstellung extrahiert, die eine 4\ enthalten. Die
Anzahl dieser Vorkommen im Graphen "soll dann ausgegeben
werden.</p>
          <p>Twitter-Follow-Graph</p>
          <p>ID1 ID2
12343454 86968792
29656457 94665834
37695979 81632765</p>
          <p>Anzahl Zeilen
die 4\ enthalten
"</p>
          <p>Anzahl
2
Die folgende Tabelle enthalt die durchschnittliche Laufzeit
des Tests je System:
4. Die Schritte (2) und (3) werden so lange wiederholt, bis
sich die Cluster nicht mehr verandern oder die
Iterationsobergrenze erreicht ist. Im Folgenden wurde eine
Grenze von 10 Wiederholungen verwendet.
1: Beliebige Punkte als
Clusterzentren wahlen
2: Distanzen ermitteln und</p>
          <p>Cluster bilden
20
40
60
80
100
20
40
60
80
100</p>
          <p>Postgres-XL als zeilenorientiertes paralleles DBMS hat
hier die schlechteste Laufzeit. Die Unterschiede zwischen
Flink und Postgres-XL sind aber nicht so deutlich wie
erwartet. Die beste Laufzeit hat Spark.</p>
          <p>
            Join Task. Diese Aufgabe entspricht dem Join Task aus
dem Stonebraker-Artikel [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. Dabei wurde zunachst die
IPAdresse ermittelt, welche die meisten Twitter-Konten in
einem bestimmten Zeitraum besucht hat. Anschlie end
wurden die Zeilen der Weblog-Tabelle selektiert, welche diese
IPAdresse enthalten, um diese mit der PageRank-Tabelle uber
die ID zu verbinden (naturlicher Verbund). Zum Schluss
wurden die PageRank-Werte zu einem Durchschnitt
aggregiert. In diesem Fall wurde keine Sortierung benutzt.
          </p>
          <p>Diese Aufgabe eignet sich durch die Verknupfung von zwei
Datenbestanden sehr gut fur SQL-DBMS, auch wenn diese
nur in einer zeilenorientierten Architektur vorliegen. Flink
uberholt nun Spark, fallt aber deutlich hinter Postgres-XL
zuruck. Die Ergebnisse korrespondieren mit den 2010 von
Stonebraker vero entlichten Ergebnissen (Hadoop el dort
gegen beide DBMS-Losungen deutlich zuruck).</p>
          <p>
            Sicher stellt diese Join-Task ein Heimspiel fur die
SQLDBMS wie das von uns verwendete Postgres-XL dar.
Allerdings ist ein solches Szenario auch in Data-Science- und
Big-Data-Analytics-Anwendungen nicht unublich. So
werden im Bereich des Forschungsdatenmanagements und
ihrer Auswerte-Prozeduren und -Work ows Daten
verschiedener Messreihen, Projekte und Abteilungen miteinander
verknupft sowie auszuwertende Daten mit Metadaten und
weiteren beschreibenden Daten aus anderen
Datenbestanden kombiniert (siehe etwa [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]).
          </p>
          <p>
            k-Means. Diese Aufgabe ist nicht Bestandteil des
Stonebraker-Artikels [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ], wurde aber in die Tests aufgenommen,
weil weder der Grep Task noch der Join Task die
Komplexitat der in PArADISE umzusetzenden
Machine-LearningAlgorithmen (ML) aufweisen. Eine Umsetzung von
"echten\ ML-Algorithmen wie dem im PArADISE-Projekt auch
verwendeten Hidden-Markov-Modell (siehe [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]) erwies sich
fur das 14 Wochen andauernde, in der Vorlesungsperiode
statt ndende Projekt als zu aufwendig. Daher wurde mit
k-Means ein Clustering-Algorithmus als einfacher Vertreter
von Data-Mining-Techniken ausgewahlt.
          </p>
          <p>
            Wir stellen hier nun kurz das Prinzip von k-Means dar.
Fur genauere Informationen verweisen wir etwa auf [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ]. Die
folgende Erklarung bezieht sich jeweils auf die folgende
graphische Darstellung der Datenpunkte und Cluster.
1. Es werden k beliebige Datenpunkte als initiale
Clusterzentren (grun) gewahlt.
2. Anschlie end werden die Distanzen von jedem
Datenpunkt zu jedem Clusterzentrum berechnen und der
Datenpunkt dem Zentrum minimaler Distanz zugeordnet.
Dadurch werden k Cluster (rot und blau) gebildet.
100
80
60
40
20
80
60
40
20
          </p>
        </sec>
        <sec id="sec-5-2-8">
          <title>ZUSAMMENFASSUNG UND AUSBLICK</title>
          <p>
            Mit diesem Beitrag wollten wir nicht nur die Ergebnisse
eines Artikels von Stonebraker [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ] nachvollziehen, sondern die
Szenarien (Tasks), Plattformen und Hardware-Umgebungen
auf die Anforderungen im PArADISE-Projekt hin anpassen
sowie gerade die Plattformen auf den heutige Stand
aktualisieren.
          </p>
          <p>Wahrend Stonebraker im Jahre 2010 Hadoop, ein
unbekanntes zeilenorientiertes DBMS und Vertica als Vertreter
spaltenorientierter, paralleler DBMS verglich, haben wir als
Plattformen Spark und Flink (sowie Hadoop als
grundlegendes System) und als Vertreter zeilenorientierter, paralleler
DBMS Postgres-XL ausgewahlt.</p>
          <p>Bei den Szenarien haben wir ein einfaches
Data-MiningSzenario (Clustering mit k-Means) erganzt.</p>
          <p>Die Tests bestatigen die Tendenz des Stonebraker-Tests:
parallele DBMS, selbst in einer eher unpassenden
zeilenorientierten Architektur, konnen im eher
Information-Retrievalartigen Grep Task zumindest gro enordnungsma ig
mithalten, hangen aber die Big-Data-Analytics-Plattformen Spark
und Flink bei komplexeren Aufgaben (Join Task und
kMeans) deutlich ab.</p>
          <p>Nimmt man die Ergebnisse von Stonebraker als das 1:0
fur parallele DBMS, so konnten die Rostocker Tests nun auf
2:0 erhohen. Naturlich ist dieses Ergebnis begunstigt durch
das Heimspiel, das die Postgres-XL-Gruppe hier
absolvieren konnte: zwar war der konkrete Aufwand im Projekt
zwischen den Plattformen vergleichbar, allerdings waren die
Erfahrungen bei den studentischen Projektteilnehmern in den
DBMS-bezogenen Implementierungs- und Tuning-Aspekten
deutlich hoher als in den neueren Plattformen wie Spark
und Flink. Ein weiteres Gegentor konnte nur verhindert
werden, weil einige Kriterien wie die Skalierbarkeit ausgeblendet
wurden: hier hatten Spark und Flink bei einer Veranderung
der Hardware-Umgebung (Erhohung der Knotenanzahl)
gegenuber dem Uminstallationsaufwand bei Postgres-XL einen
klaren Vorteil gehabt.</p>
          <p>Fur einen Heimsieg ho en wir aber in Zukunft trotzdem
auf weitere Tore fur die SQL-DBMS-basierten Losungen,
denn die vorgenommenen Tests konnen nur ein Anfang sein
und mussen in folgenden Aspekten erweitert werden:
Das RMDRF-Gro gerat lief derzeit noch in einer
xierten, sehr kleinen Kon guration (drei Knoten). Hier
werden wir in Zukunft die Kon guration verandern,
um Auswirkungen der Hardware-Kon guration
erkennen zu konnen.</p>
          <p>Bei den Tasks werden wir zusatzliche
Mining-Algorithmen und Algorithmen Maschinellen Lernens mit
aufnehmen und auf den verschiedenen Plattformen
implementieren.</p>
          <p>
            Bei den Systemen fehlt uns bisher ein Vertreter von
spaltenorientierten, parallelen DBMS. Als Ersatz fur
das von Stonebraker verwendete Vertica haben wir
bereits erste Tests auf Actian Vector (fruher
VectorWise, siehe etwa [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]) durchgefuhrt, die vielversprechend
sind. Vector gibt es auch in einer parallelen Variante
als VectorH (Vector in Hadoop).
          </p>
          <p>Die Ho nung ist, dass sich auch weiterhin DBMS-Losungen
mit SQL als Schnittstelle als konkurrenzfahige Alternative
zu MapReduce-Programmierparadigmen und anderen
spezialisierten Big-Data-Analytics-Umgebungen erweisen,
damit wir die vielfaltigen Vorteile einer solchen Losung in
Bezug auf formalisierbare und automatisierbare
Anfragetransformationen ohne gro en Performance-Verlust ausnutzen
konnen. Diese Anfragetransformationen benotigen wir, um
weitere Kernziele des PArADISE-Projektes zu verwirklichen:
die Wahrung der Privatsphare der Nutzer von
Assistenzsystemen durch datensparsame Auswertung von Big Data, das
Provenance Management zur Ermittlung von Ursachen bei
fehlerhaften Modellbildungen, und die Nachhaltigkeit der
Analyseprogramme im Kontext einer
InformationssystemInfrastruktur beim Anbieter des Assistenzsystems.
Letzteres ist durch die Verwendung von SQL-Basisoperationen als
"intergalactic dataspeak\ gegeben.</p>
        </sec>
        <sec id="sec-5-2-9">
          <title>Literatur</title>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <fpage>2ndQuadrant</fpage>
          . \
          <article-title>Postgres-XL o cial website"</article-title>
          . In: (
          <year>2018</year>
          ). url: https : / / www . postgres - xl .
          <source>org (besucht am 07. 03</source>
          .
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] Mart n Abadi u. a. \TensorFlow: A System for LargeScale Machine Learning"</article-title>
          .
          <source>In: OSDI. USENIX Association</source>
          ,
          <year>2016</year>
          , S.
          <volume>265</volume>
          {
          <fpage>283</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] Ilvio Bruder u. a. \
          <source>Daten wie Sand am Meer - Datenerhebung</source>
          , -strukturierung,
          <article-title>-management und Data Provenance fur die Ostseeforschung"</article-title>
          .
          <source>In: DatenbankSpektrum 17.2</source>
          (
          <issue>2017</issue>
          ), S.
          <volume>183</volume>
          {
          <fpage>196</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] Paris Carbone u. a. \
          <article-title>Apache FlinkTM: Stream and Batch Processing in a Single Engine"</article-title>
          .
          <source>In: IEEE Data Eng. Bull. 38.4</source>
          (
          <issue>2015</issue>
          ), S.
          <volume>28</volume>
          {38. url: http : / / sites . computer.org/debull/A15dec/p28.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Ju</surname>
          </string-name>
          <article-title>rgen Cleve und Uwe Lammel. Data Mining { 2</article-title>
          .
          <string-name>
            <surname>Auflage. De Gruyter</surname>
          </string-name>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6] Je rey Dean und Sanjay Ghemawat. \MapReduce: a exible data processing tool"</article-title>
          .
          <source>In: Commununications of the ACM 53.1</source>
          (
          <issue>2010</issue>
          ), S.
          <volume>72</volume>
          {
          <fpage>77</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Hannes</given-names>
            <surname>Grunert</surname>
          </string-name>
          und Andreas Heuer. \
          <article-title>Datenschutz im PArADISE"</article-title>
          .
          <source>In: Datenbank-Spektrum 16.2</source>
          (
          <issue>2016</issue>
          ), S.
          <volume>107</volume>
          { 117. doi:
          <volume>10</volume>
          .1007/s13222-016-0216-7. url: https: //doi.org/10.1007/s13222-016-0216-7.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Andreas</given-names>
            <surname>Heuer</surname>
          </string-name>
          .
          <article-title>\METIS in PArADISE: Provenance Management bei der Auswertung von Sensordatenmengen fur die Entwicklung von Assistenzsystemen"</article-title>
          .
          <source>In: BTW Workshops. Bd. 242. LNI. GI</source>
          ,
          <year>2015</year>
          , S.
          <volume>131</volume>
          {
          <fpage>136</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Dennis</given-names>
            <surname>Marten und Andreas</surname>
          </string-name>
          <article-title>Heuer. \Machine Learning on Large Databases: Transforming Hidden Markov Models to SQL Statements"</article-title>
          .
          <source>In: Open Journal of Databases (OJDB) 4</source>
          .1 (
          <issue>2017</issue>
          ), S.
          <volume>22</volume>
          {42. issn:
          <fpage>2199</fpage>
          -
          <lpage>3459</lpage>
          . url: https : / / www . ronpub . com / ojdb / OJDB _ 2017v4i1n02_Marten.html.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Derek</given-names>
            <surname>Gordon</surname>
          </string-name>
          <article-title>Murray u. a. \Naiad: a timely data ow system"</article-title>
          .
          <source>In: SOSP. ACM</source>
          ,
          <year>2013</year>
          , S.
          <volume>439</volume>
          {
          <fpage>455</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <article-title>Michael Stonebraker u. a. \MapReduce and parallel DBMSs: friends or foes?"</article-title>
          <source>In: Communications of the ACM 53.1</source>
          (
          <issue>2010</issue>
          ), S.
          <volume>64</volume>
          {
          <fpage>71</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <article-title>Matei Zaharia u. a. \Apache Spark: A Uni ed Engine for Big Data Processing"</article-title>
          .
          <source>In: Communications of the ACM 59.11 (Okt</source>
          .
          <year>2016</year>
          ), S.
          <volume>56</volume>
          {65. issn:
          <fpage>0001</fpage>
          -
          <lpage>0782</lpage>
          . doi:
          <volume>10</volume>
          .1145/2934664. url: http://doi.acm.
          <source>org/ 10</source>
          .1145/2934664.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Marcin</given-names>
            <surname>Zukowski und Peter A. Boncz</surname>
          </string-name>
          . \Vectorwise:
          <article-title>Beyond Column Stores"</article-title>
          .
          <source>In: IEEE Data Eng. Bull. 35.1</source>
          (
          <issue>2012</issue>
          ), S.
          <volume>21</volume>
          {
          <fpage>27</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>