Shark: SQL and Rich Analytics at Scale

Abstract

Shark is a new data analysis system that marries query processing with complex analytics on large clusters. It leverages a novel distributed memory abstraction to provide a unified engine that can run SQL queries and sophisticated analytics functions (e.g., iterative machine learning) at scale, and efficiently recovers from failures mid-query. This allows Shark to run SQL queries up to 100 faster than Apache Hive, and machine learning programs up to 100 faster than Hadoop. Unlike previous systems, Shark shows that it is possible to achieve these speedups while retaining a MapReduce-like execution engine, and the fine-grained fault tolerance properties that such engines provide. It extends such an engine in several ways, including column-oriented in-memory storage and dynamic mid-query replanning, to effectively execute SQL. The result is a system that matches the speedups reported for MPP analytic databases over MapReduce, while offering fault tolerance properties and complex analytics capabilities that they lack.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 26, 2012
Accession Number
ADA570737

Entities

People

  • Ion Stoica
  • Josh Rosen
  • Matei Zaharia
  • Michael J. Franklin
  • Reynold Xin
  • Scott Shenker

Organizations

  • University of California, Berkeley

Tags

Communities of Interest

  • Autonomy

DTIC Thesaurus Topics

  • Algorithms
  • Big Data
  • Computer Programming
  • Computer Science
  • Computers
  • Data Analysis
  • Data Centers
  • Databases
  • Electrical Engineering
  • Engineering
  • Fault Tolerance
  • Information Science
  • Language
  • Learning
  • Machine Learning
  • Object Code
  • Workload

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications
  • Distributed Systems and Data Platform Development

Technology Areas

  • AI & ML