ACM Home Page
Please provide us with feedback. Feedback
SCOPE: easy and efficient parallel processing of massive data sets
Full text PdfPdf (774 KB)
Source
Proceedings of the VLDB Endowment archive
Volume 1 ,  Issue 2  (August 2008) table of contents
SESSION: Industrial, application, and experience sessions: massive data table of contents
Pages 1265-1276  
Year of Publication: 2008
ISSN:2150-8097
Authors
Ronnie Chaiken  Microsoft Corporation
Bob Jenkins  Microsoft Corporation
Per-Åke Larson  Microsoft Corporation
Bill Ramsey  Microsoft Corporation
Darren Shakib  Microsoft Corporation
Simon Weaver  Microsoft Corporation
Jingren Zhou  Microsoft Corporation
Publisher
Bibliometrics
Downloads (6 Weeks): 46,   Downloads (12 Months): 338,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1454159.1454166
What is a DOI?

ABSTRACT

Companies providing cloud-scale services have an increasing need to store and analyze massive data sets such as search logs and click streams. For cost and performance reasons, processing is typically done on large clusters of shared-nothing commodity machines. It is imperative to develop a programming model that hides the complexity of the underlying system but provides flexibility by allowing users to extend functionality to meet a variety of requirements.

In this paper, we present a new declarative and extensible scripting language, SCOPE (Structured Computations Optimized for Parallel Execution), targeted for this type of massive data analysis. The language is designed for ease of use with no explicit parallelism, while being amenable to efficient parallel execution on large clusters. SCOPE borrows several features from SQL. Data is modeled as sets of rows composed of typed columns. The select statement is retained with inner joins, outer joins, and aggregation allowed. Users can easily define their own functions and implement their own versions of operators: extractors (parsing and constructing rows from a file), processors (row-wise processing), reducers (group-wise processing), and combiners (combining rows from two inputs). SCOPE supports nesting of expressions but also allows a computation to be specified as a series of steps, in a manner often preferred by programmers. We also describe how scripts are compiled into efficient, parallel execution plans and executed on large clusters.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Apache. Hadoop. http://lucene.apache.org/hadoop/, 2008.
 
2
Apache. Pig. http://incubator.apache.org/pig/, 2008.
 
3
4
 
5
6
 
7
G. Graefe. The Cascades framework for query optimization. IEEE Data Eng. Bull., 18(3): 1995.
8
 
9
10
 
11
12
 
13
Yahoo! Research, PNUTS - Platform for Nimble Universal Table Storage, http://research.yahoo.com/node/212, 2008


Collaborative Colleagues:
Ronnie Chaiken: colleagues
Bob Jenkins: colleagues
Per-Åke Larson: colleagues
Bill Ramsey: colleagues
Darren Shakib: colleagues
Simon Weaver: colleagues
Jingren Zhou: colleagues