Auflistung nach Autor:in "Alexandrov, Alexander"
1 - 2 von 2
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragEmma in Action: Deklarative Datenflüsse für Skalierbare Datenanalyse(Datenbanksysteme für Business, Technologie und Web (BTW 2017), 2017) Alexandrov, Alexander; Krastev, Georgi; Louis, Bernd; Salzmann, Andreas; Markl, VolkerSchnittstellen zur Programmierung paralleler Datenflüsse, die auf Funktionen höherer Ordnung (wie map und reduce) basieren, sind in den letzten zehn Jahren durch Systeme wie Apache Hadoop, Apache Flink und Apache Spark populär geworden. Im Gegensatz zu SQL werden solche Programmierschnittstellen in Form eingebetteter Domänenspezifischer Sprachen (eDSLs) realisiert. Im Kern jeder eDSL steht ein dedizierter Typ, der verteilte Datenmengen repräsentiert und Berechnungen auf ihnen ermöglicht, wie z.B. DataSet in Flink oder RDD in Spark. Aufgrund der Integration von eDSLs in einer generischen Programmierumgebung (Java, Scala, oder Python) stellen sie eine flexiblere Alternative zu klassischen Ansätzen (z.B. SQL) dar, um gängige Aufgaben (z.B. ETL-Prozesse) in einer skalierbaren, Cloud-basierten Infrastruktur zu implementieren.
- KonferenzbeitragMapReduce and PACT - comparing data parallel programming models(Datenbanksysteme für Business, Technologie und Web (BTW), 2011) Alexandrov, Alexander; Ewen, Stephan; Heimel, Max; Hueske, Fabian; Kao, Odej; Markl, Volker; Nijkamp, Erik; Warneke, DanielWeb-Scale Analytical Processing is a much investigated topic in current research. Next to parallel databases, new flavors of parallel data processors have recently emerged. One of the most discussed approaches is MapReduce. MapReduce is highlighted by its programming model: All programs expressed as the second-order functions map and reduce can be automatically parallelized. Although MapReduce provides a valuable abstraction for parallel programming, it clearly has some deficiencies. These become obvious when considering the tricks one has to play to express more complex tasks in MapReduce, such as operations with multiple inputs. The Nephele/PACT system uses a programming model that pushes the idea of MapReduce further. It is centered around so called Parallelization Contracts (PACTs), which are in many cases better suited to express complex operations than plain MapReduce. By the virtue of that programming model, the system can also apply a series of optimizations on the data flows before they are executed by the Nephele runtime system. This paper compares the PACT programming model with MapReduce from the perspective of the programmer, who specifies analytical data processing tasks. We discuss the implementations of several typical analytical operations both with MapReduce and with PACTs, highlighting the key differences in using the two programming models.