Among the many compelling papers to come out of the Big Data and Extreme-scale Computing (BDEC) workshop, held in Fukuoka, Japan, in February, was a position paper from Dr. Volker Markl, full professor and chair of the Database Systems and Information Management (DIMA) group at the Technische Universität Berlin (TU Berlin) detailing the benefits of the Stratosphere data analytics platform.
Dr. Markl writes about how the last decade has ushered in a profound digital transformation that affects nearly every aspect of our lives. Like most technological advances, the opportunities come with a myriad of challenges, and many of these revolve around big data.
Markl traces this avalanche of digital data in part to declining storage costs, the proliferation of cloud computing, and the huge increase in networked devices. He writes that while “at first glance this appears to be favorable for our increasingly networked society…in many ways it is a burden.”
“Data is neither information, nor knowledge,” he continues. “Instead, data is of great value once it has been refined and analyzed, in order to address well-formulated questions, concerning problems of interest. It is only then that economic and social benefits can be fully realized.”
To be useful the data needs to be massaged into something actionable. This process draws on techniques from a number of fields, including graph and network analysis, machine learning, mathematics, statistics, signal processing, text processing, and others. A talented data scientist must be a “jack-of-all-trades,” with a multitude of complex skills. However, well-trained and experienced individuals such as these are in short supply, notes Markl, and accessing this talent is expensive, which limits the value that can be generated from big data.
Previously, before the era of big data was upon us, HPC-savvy programmers mainly had to have MPI experience. Markl maintains that for the most part scalability issues were handled by higher-level programming languages, compilers, and database systems.
“In contrast,” writes Markl, “today’s existing technologies have reached their limits due to big data requirements, which involve data volume, data rate and heterogeneity, and the complexity of the analysis algorithms, which go beyond relational algebra, employing complex user-defined functions, iterations, and distributed state.”
The remedy for this, according to Markl is to implement declarative language concepts, which are inherent in database systems, for big data systems. The challenges associated with this include:
1. Designing a programming language specification that does not require systems programming skills.
2. Mapping programs expressed in this programming language to a computing platform of their own choosing.
3. Executing these in a scalable manner.
Markl is confident that declarative languages will be the way out of the current “stone age” in big data analytics in which there are “algorithm specifications in systems that do not automatically optimize (e.g., MPI, MapReduce, and Hadoop), imperative languages (e.g., C), object-oriented languages (e.g., Java), and relational-oriented languages (e.g., SQL, XQuery, Pig, Hive, and JAQL) with non-tunable external driver programs, and technical computing systems (e.g., R and MATLAB) that do not scale.”
He maintains that the next generation big data analytics infrastructure called Stratosphere and other next generation big data analytics systems, such as Spark and GraphLab, provide a path to deeper data analysis.
Stratosphere combines the strengths of MapReduce/Hadoop with programming abstractions in Java and Scala and a high performance runtime to enable massively parallel in-situ data analytics. The framework has native support for iterations, incremental iterations, and programs consisting of large DAGs of operations.
Stratosphere can process information extraction and integration operations together with deep analytics in a single system, subsuming many specialized systems for graph processing or machine learning in a single environment, writes Markl. Open sourced under the Apache 2.0 license, Stratosphere runs standalone, natively in compute clusters, or in any Hadoop clusters via YARN.
According to Markl, Stratosphere is currently the only system for big data analytics that contains a query optimizer for advanced data analysis programs that go beyond the relational algebra. The aim is to enable data scientists to focus on the primary task without having to spend a lot of time getting the program to scale.