Recently the trade press has been filled with news of the revolution of “cluster computing”. This paradigm entails harnessing
large numbers of (low-end) processors working in parallel to solve
a computing problem. In effect, this suggests constructing a data
center by lining up a large number of low-end servers instead of
deploying a smaller set of high-end servers. With this rise of interest in clusters has come a proliferation of tools for programming
them. One of the earliest and best known such tools in MapReduce
(MR) [8]. MapReduce is attractive because it provides a simple
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
SIGMOD’09, June 29–July 2, 2009, Providence, Rhode Island, USA.
Copyright 2009 ACM 978-1-60558-551-2/09/06 ...$5.00.
model through which users can express relatively sophisticated distributed programs, leading to significant interest in the educational
community. For example, IBM and Google have announced plans
to make a 1000 processor MapReduce cluster available to teach students distributed programming.
Given this interest in MapReduce, it is natural to ask “Why not
use a parallel DBMS instead?” Parallel database systems (which
all share a common architectural design) have been commercially
available for nearly two decades, and there are now about a dozen in
the marketplace, including Teradata, Aster Data, Netezza, DATAllegro (and therefore soon Microsoft SQL Server via Project Madison), Dataupia, Vertica, ParAccel, Neoview, Greenplum, DB2 (via
the Database Partitioning Feature), and Oracle (via Exadata). They
are robust, high performance computing platforms. Like MapReduce, they provide a high-level programming environment and parallelize readily. Though it may seem that MR and parallel databases
target different audiences, it is in fact possible to write almost any
parallel processing task as either a set of database queries (possibly
using user defined functions and aggregates to filter and combine
data) or a set of MapReduce jobs. Inspired by this question, our goal
is to understand the differences between the MapReduce approach
to performing large-scale data analysis and the approach taken by
parallel database systems. The two classes of systems make different choices in several key areas. For example, all DBMSs require
that data conform to a well-defined schema, whereas MR permits
data to be in any arbitrary format. Other differences also include
how each system provides indexing and compression optimizations,
programming models, the way in which data is distributed, and
query execution strategies.
The purpose of this paper is to consider these choices, and the
trade-offs that they entail. We begin in Section 2 with a brief review
of the two alternative classes of systems, followed by a discussion
in Section 3 of the architectural trade-offs. Then, in Section 4 we
present our benchmark consisting of a variety of tasks, one taken
from the MR paper [8], and the rest a collection of more demanding
tasks. In addition, we present the results of running the benchmark
on a 100-node cluster to execute each task. We tested the publicly
available open-source version of MapReduce, Hadoop [1], against
two parallel SQL DBMSs, Vertica [3] and a second system from a
major relational vendor. We also present results on the time each
system took to load the test data and report informally on the procedures needed to set up and tune the software for each task.
In general, the SQL DBMSs were significantly faster and required less code to implement each task, but took longer to tune and
load the data. Hence, we conclude with a discussion on the reasons
for the differences between the approaches and provide suggestions
on the best practices for any large-scale data analysis engine.
Some readers may feel that experiments conducted using 100
เพิ่ง กดค้ามีการเติมกับข่าวของการปฏิวัติ "คลัสเตอร์คอมพิวเตอร์" กระบวนทัศน์นี้มีการควบคุมจำนวนมากของตัวประมวลผล (ระดับล่าง) ทำงานควบคู่กันเพื่อแก้ปัญหาคอมพิวเตอร์ ผล นี้แนะนำในการสร้างข้อมูลศูนย์ โดยซับค่าเซิร์ฟเวอร์มีแทนเป็นจำนวนมากใช้ชุดเล็กของเซิร์ฟเวอร์คุณภาพสูง กับการเพิ่มขึ้นของดอกเบี้ยในคลัสเตอร์นี้มีมาแพร่หลายของเครื่องมือสำหรับเขียนโปรแกรมพวกเขา หนึ่งเร็วที่สุด และรู้จักกันดี เช่นมือ MapReduce(นาย) [8] MapReduce เป็นน่าสนใจ เพราะให้เรียบง่ายสิทธิ์ในการทำดิจิตอลหรือสิ่งพิมพ์ทั้งหมดหรือส่วนหนึ่งของงานนี้ใช้ส่วนตัวหรือห้องเรียนได้รับ โดยไม่มีค่าธรรมเนียมที่มีสำเนาไม่ทำ หรือกระจายกำไร หรือประโยชน์ทางการค้า และสำเนาที่หมีนี้ประกาศและอ้างอิงเต็มหน้าแรก การคัดลอกอื่น การประกาศใหม่ การลงรายการบัญชีบนเซิร์ฟเวอร์ หรือกระจายไปยังรายการ ต้องการเฉพาะก่อนสิทธิ์และ/หรือค่าธรรมเนียมSIGMOD'09, 29 มิถุนายน 2 กรกฎาคม 2009 จัดเตรียม โรดไอแลนด์ สหรัฐอเมริกาสงวนลิขสิทธิ์ 2009 พลอากาศ 978-1-60558-551-2/09/06... $5.00รูปแบบที่ผู้ใช้สามารถแสดงค่อนข้างซับซ้อนกระจายโปรแกรม นำดอกเบี้ยอย่างมีนัยสำคัญในการศึกษาชุมชน ตัวอย่าง IBM และ Google ได้ประกาศแผนเพื่อให้ตัวประมวลผล 1000 MapReduce คลัสเตอร์เพื่อสอนนักเรียนกระจายการเขียนโปรแกรมกำหนดนี้สนใจใน MapReduce มันเป็นธรรมชาติ "ทำไมไม่ถามใช้ DBMS ขนานแทน" ระบบฐานข้อมูลแบบขนาน (ซึ่งทั้งหมดใช้ร่วมกันการออกแบบสถาปัตยกรรมทั่วไป) ได้ในเชิงพาณิชย์เกือบสองทศวรรษที่ผ่านมา และมีมีตอนนี้ประมาณโหลในตลาด รวมทั้ง Teradata ข้อมูลโรงแรมแอสเตอร์ Netezza, DATAllegro (ดังนั้นเร็ว ๆ นี้ Microsoft SQL Server ผ่านแมดดิสันโครงการ), Dataupia, Vertica, ParAccel, Neoview, Greenplum, DB2 ผ่านฐานข้อมูลคุณลักษณะการพาร์ทิชัน), และ Oracle ผ่าน Exadata) พวกเขามีประสิทธิภาพสูง ประสิทธิภาพคอมพิวเตอร์แพลตฟอร์ม เช่น MapReduce พวกเขาสามารถให้สภาพแวดล้อมการเขียนโปรแกรมระดับสูง และ parallelize พร้อม แม้ว่ามันอาจดูว่านาย และฐานข้อมูลแบบขนานผู้ชมแตกต่างกันเป้าหมาย จำเป็นจริงเขียนเกือบใด ๆงานประมวลผลแบบขนานเป็นการตั้งค่าของฐานข้อมูลแบบสอบถาม (อาจจะใช้ผู้ใช้กำหนดฟังก์ชันและเพิ่มการกรอง และรวมข้อมูล) หรือชุดของงาน MapReduce แรงบันดาลใจคำถามนี้ เป้าหมายของเราการเข้าใจความแตกต่างระหว่างวิธี MapReduceการดำเนินการวิเคราะห์ข้อมูลขนาดใหญ่และวิธีการดำเนินการโดยระบบฐานข้อมูลแบบขนาน ชั้นสองระบบทำให้ตัวเลือกต่าง ๆ ในหลายพื้นที่ที่สำคัญ ตัวอย่าง DBMSs ทั้งหมดต้องข้อมูลที่สอดคล้องกับ schema โดย ในขณะที่อนุญาตให้มิสเตอร์ข้อมูลต้องมีรูปแบบที่กำหนด ความแตกต่างอื่น ๆ รวมถึงว่าแต่ละระบบมีการทำดัชนีและการเพิ่มประสิทธิภาพการบีบอัดเขียนแบบ วิธีการที่ข้อมูลมีกระจาย และสอบถามการดำเนินการกลยุทธ์การวัตถุประสงค์ของเอกสารนี้คือการ พิจารณาตัวเลือกเหล่านี้ และทางเลือกที่พวกเขาอัน เราเริ่มต้นใน 2 ส่วน ด้วยสรุปย่อของชั้นเรียนอื่นสองระบบ ตาม ด้วยการสนทนาใน 3 ส่วนของสถาปัตยกรรมทางเลือก จากนั้น ในส่วน 4 เราเกณฑ์มาตรฐานของเราประกอบด้วยความหลากหลายของงาน หนึ่งมานำเสนอจากกระดาษนาย [8], และส่วนเหลือของการเรียกร้องเพิ่มเติมงาน นอกจากนี้ เรานำเสนอผลลัพธ์ของการรันเกณฑ์มาตรฐานในคลัสเตอร์โหน 100 ปฏิบัติงานแต่ละ เราทดสอบการเผยรุ่นเปิดแหล่งว่าง MapReduce อย่างไร Hadoop [1], กับสองแบบขนาน SQL DBMSs, Vertica [3] และระบบที่สองจากการผู้จัดจำหน่ายเชิงหลักการ เรายังมีผลในเวลาแต่ละเอาระบบโหลดข้อมูลทดสอบ และรายงานขั้นตอนที่จำเป็นในการตั้งค่า และปรับแต่งซอฟต์แวร์สำหรับงานแต่ละอย่างทั่วไป SQL DBMSs ได้เร็วมาก และต้องใช้รหัสการใช้งานแต่ละงานน้อย แต่ใช้เวลาในการปรับแต่ง และโหลดข้อมูล ดังนั้น เราสรุปกับการสนทนาบนเหตุผลสำหรับความแตกต่างระหว่างวิธีการ และให้คำแนะนำในแนวทางปฏิบัติสำหรับโปรแกรมการวิเคราะห์ข้อมูลขนาดใหญ่บางผู้อ่านอาจรู้สึกว่า การทดลองดำเนินการโดยใช้ 100
การแปล กรุณารอสักครู่..
เมื่อเร็ว ๆ นี้กดการค้าที่ได้รับการเต็มไปด้วยข่าวของการปฏิวัติของ "คอมพิวเตอร์คลัสเตอร์" กระบวนทัศน์นี้ entails
การควบคุมจำนวนมาก(ต่ำสุด)
ประมวลผลการทำงานในแบบคู่ขนานในการแก้ปัญหาคอมพิวเตอร์ ผลนี้แสดงให้เห็นการสร้างข้อมูลที่ศูนย์โดยแถวเป็นจำนวนมากของเซิร์ฟเวอร์ต่ำสุดแทนการปรับใช้ชุดเล็กของเซิร์ฟเวอร์ระดับไฮเอนด์ ด้วยการเพิ่มขึ้นของความสนใจในกลุ่มนี้ได้มาการขยายของเครื่องมือสำหรับการเขียนโปรแกรมพวกเขา หนึ่งในที่เก่าแก่ที่สุดและรู้จักกันดีที่สุดเครื่องมือดังกล่าวใน MapReduce (MR) [8] MapReduce เป็นที่น่าสนใจเพราะมันให้ง่ายได้รับอนุญาตให้ทำสำเนาดิจิตอลหรือหนักของทั้งหมดหรือบางส่วนของการทำงานในการนี้การใช้งานส่วนตัวหรือห้องเรียนจะได้รับโดยไม่เสียค่าธรรมเนียมให้สำเนาจะไม่ได้ทำหรือแจกจ่ายเพื่อหากำไรหรือประโยชน์ในเชิงพาณิชย์และที่สำเนาแบกประกาศนี้และอ้างอิงเต็มรูปแบบบนหน้าแรก ในการคัดลอกอย่างอื่นในการเผยแพร่โพสต์บนเซิร์ฟเวอร์หรือเพื่อแจกจ่ายไปยังรายการที่ต้องการที่เฉพาะเจาะจงก่อนได้รับอนุญาตและ/ หรือค่าธรรมเนียม. SIGMOD'09, 29 มิถุนายน - 2 กรกฎาคม 2009 โรดไอแลนด์, สหรัฐอเมริกา. Copyright 2009 ACM 978 -1-60558-551-2 / 6/9 ... $ 5.00. รูปแบบผ่านที่ผู้ใช้สามารถแสดงโปรแกรมที่มีความซับซ้อนค่อนข้างกระจายที่นำไปสู่ความสนใจอย่างมากในการศึกษาชุมชน ยกตัวอย่างเช่นไอบีเอ็มและ Google ได้ประกาศแผนการที่จะทำให้กลุ่มMapReduce ประมวลผล 1000 พร้อมที่จะสอนนักเรียนเขียนโปรแกรมกระจาย. ได้รับความสนใจใน MapReduce มันเป็นธรรมชาติที่จะถามว่า "ทำไมไม่ใช้DBMS ขนานแทน?" ระบบฐานข้อมูลแบบขนาน (ซึ่งทั้งหมดร่วมกันออกแบบสถาปัตยกรรมร่วมกัน) ได้รับในเชิงพาณิชย์ที่มีอยู่เป็นเวลาเกือบสองทศวรรษที่ผ่านมาและขณะนี้มีประมาณหนึ่งโหลในตลาดรวมทั้งTeradata, Aster ข้อมูล Netezza, DATAllegro (และเร็ว ๆ นี้ Microsoft SQL Server ผ่านทางโครงการเมดิสัน) Dataupia, Vertica , ParAccel, Neoview, Greenplum, DB2 (ผ่านฐานข้อมูลแบ่งคุณลักษณะ) และ Oracle (ผ่าน Exadata) พวกเขามีความแข็งแกร่งและมีประสิทธิภาพสูงแพลตฟอร์มคอมพิวเตอร์ เช่นเดียวกับ MapReduce พวกเขาให้สภาพแวดล้อมการเขียนโปรแกรมระดับสูงและคู่ขนานได้อย่างง่ายดาย แม้ว่ามันอาจจะดูเหมือนว่านายและฐานข้อมูลแบบขนานกลุ่มเป้าหมายที่แตกต่างกันในความเป็นจริงที่เป็นไปได้ที่จะเขียนเกือบทุกงานประมวลผลแบบขนานเป็นทั้งชุดของการสืบค้นฐานข้อมูล(อาจใช้ฟังก์ชั่นที่ผู้ใช้กำหนดและมวลรวมในการกรองและรวมข้อมูล) หรือชุดของ งาน MapReduce แรงบันดาลใจจากคำถามนี้เป้าหมายของเราคือการทำความเข้าใจความแตกต่างระหว่างวิธีการ MapReduce ที่จะดำเนินการวิเคราะห์ข้อมูลขนาดใหญ่และวิธีการดำเนินการโดยระบบฐานข้อมูลแบบขนาน สองชั้นของระบบการสร้างทางเลือกที่แตกต่างกันในพื้นที่สำคัญหลาย ยกตัวอย่างเช่น DBMSs ทั้งหมดต้องว่าข้อมูลสอดคล้องกับคีดีที่กำหนดในขณะที่นายช่วยให้ข้อมูลที่อยู่ในรูปแบบใดๆ โดยพลการ ความแตกต่างอื่น ๆ รวมถึงวิธีการของแต่ละระบบมีการจัดทำดัชนีและการเพิ่มประสิทธิภาพการบีบอัดแบบการเขียนโปรแกรมวิธีการที่ข้อมูลมีการกระจายและกลยุทธ์การดำเนินการแบบสอบถาม. วัตถุประสงค์ของบทความนี้คือการพิจารณาเลือกเหล่านี้และไม่ชอบการค้าที่พวกเขานำมาซึ่ง เราเริ่มต้นในส่วนที่ 2 ที่มีการทบทวนของทั้งสองทางเลือกของการเรียนระบบตามด้วยการอภิปรายในมาตรา3 แห่งไม่ชอบการค้าสถาปัตยกรรม จากนั้นในมาตรา 4 ที่เรานำเสนอมาตรฐานของเราประกอบด้วยความหลากหลายของงานหนึ่งที่นำมาจากกระดาษนาย[8] และส่วนที่เหลือของคอลเลกชันที่มีความต้องการมากขึ้นงาน นอกจากนี้เรายังนำเสนอผลของการใช้มาตรฐานที่ในคลัสเตอร์ 100 โหนดในการดำเนินงานแต่ละงาน เราได้ทดสอบสาธารณชนรุ่นโอเพนซอร์สที่มีอยู่ของ MapReduce, Hadoop [1] กับสองขนานSQL DBMSs, Vertica [3] และระบบที่สองจากผู้ขายที่สำคัญเชิงสัมพันธ์ นอกจากนี้เรายังผลนำเสนอในเวลาที่แต่ละระบบเอาไปโหลดข้อมูลการทดสอบและรายงานอย่างไม่เป็นทางการเกี่ยวกับขั้นตอนที่จำเป็นในการติดตั้งและปรับแต่งซอฟต์แวร์สำหรับงานแต่ละ. โดยทั่วไป SQL DBMSs อย่างมีนัยสำคัญได้เร็วขึ้นและจำเป็นต้องใช้โค้ดน้อยลงในการดำเนินงานแต่ละงาน แต่ใช้เวลานานในการปรับแต่งและการโหลดข้อมูล ดังนั้นเราจึงสรุปด้วยการอภิปรายเกี่ยวกับเหตุผลสำหรับความแตกต่างระหว่างวิธีการและให้คำแนะนำเกี่ยวกับการปฏิบัติที่ดีที่สุดสำหรับเครื่องมือการวิเคราะห์ข้อมูลขนาดใหญ่. ผู้อ่านบางคนอาจจะรู้สึกว่าการทดลองใช้ 100
การแปล กรุณารอสักครู่..
เพิ่งกดการค้าได้รับการเติมเต็มด้วยข่าวของการปฏิวัติของ " กลุ่มคอมพิวเตอร์ " ตัวอย่างนี้ใช้ด้วย
ตัวเลขขนาดใหญ่ของ ( low-end ) โปรเซสเซอร์ทำงานในแบบคู่ขนานเพื่อแก้ปัญหา
ปัญหาคอมพิวเตอร์ ผล ซึ่งชี้ให้เห็นว่า การสร้างศูนย์ข้อมูล
โดยเยื่อขึ้นเป็นจำนวนมากของเซิร์ฟเวอร์ที่หลากหลายแทน
ใช้ชุดขนาดเล็กของเซิร์ฟเวอร์ระดับไฮเอนด์ด้วยการเพิ่มขึ้นของดอกเบี้ยในกลุ่มมาแนะนำเครื่องมือสำหรับการเขียนโปรแกรม
. หนึ่งที่เก่าแก่ที่สุดและเป็นที่รู้จักดีที่สุดเครื่องมือดังกล่าวใน mapreduce
( MR ) [ 8 ] mapreduce เป็นที่น่าสนใจเพราะมันมีง่าย
อนุญาตให้สำเนาดิจิตอลหรือฮาร์ดดิสก์ทั้งหมดหรือบางส่วนของงานนี้
ใช้ส่วนตัวหรือเรียนจะได้รับโดยไม่เสียค่าธรรมเนียมให้เสมือน
ไม่ทำหรือจำหน่ายกำไรหรือประโยชน์เชิงพาณิชย์ และสำเนา
หมีแจ้งให้ทราบนี้และการอ้างอิงเต็มในหน้าแรก เพื่อคัดลอกหรือ
พิมพ์เพื่อโพสต์บนเซิร์ฟเวอร์หรือเพื่อแจกจ่ายไปยังรายการที่ต้องการก่อนได้รับอนุญาตเฉพาะและ / หรือค่า
.
sigmod คลองเปรม 29 มิถุนายน– 2 กรกฎาคม 2009 , พรอวิเดนซ์ , สหรัฐอเมริกา ACM 978-1-60558-551-2
ลิขสิทธิ์ 2009 / 09 / 06 . . . . . . .
$ 5.00แบบที่ผู้ใช้สามารถแสดงค่อนข้างซับซ้อนกระจายโปรแกรมที่นำไปสู่ผลประโยชน์ที่สำคัญในการศึกษาชุมชน
ตัวอย่างเช่น , IBM และ Google ได้ประกาศแผนการ
ให้ 1000 หน่วยประมวลผล mapreduce กลุ่มพร้อมที่จะสอนการกระจายการเขียนโปรแกรม ให้ความสนใจใน mapreduce
, มันเป็นธรรมชาติที่จะถามว่า " ทำไมไม่ใช้ Parallel DBMS
แทน" ระบบฐานข้อมูลแบบขนาน ( ซึ่ง
แบ่งปันทั่วไปการออกแบบสถาปัตยกรรม ) ได้รับในเชิงพาณิชย์
ใช้ได้สำหรับเกือบสองทศวรรษที่ผ่านมา และขณะนี้มีเกี่ยวกับโหลใน
ตลาดรวมโน้ตบุ๊ก Aster ข้อมูลดังกล่าว datallegro ( และเร็วๆนี้ Microsoft SQL Server ผ่านทางโครงการเมดิสัน ) dataupia ฐาน paraccel นีโอวิว , , , องค์ประกอบ , DB2 ( ผ่าน
ฐานข้อมูลแบ่งคุณลักษณะ )และ Oracle ( ผ่านเครื่องมือในการวิเคราะห์ ) พวกเขา
มีประสิทธิภาพ , คอมพิวเตอร์ประสิทธิภาพสูงแพลตฟอร์ม ชอบ mapreduce พวกเขาให้สภาพแวดล้อมการเขียนโปรแกรมระดับสูงและ parallelize พร้อม แม้ว่ามันอาจดูเหมือนว่าคุณและขนานฐานข้อมูล
เจาะกลุ่มเป้าหมายที่แตกต่างกัน ในความเป็นจริงมันเป็นไปได้ที่จะเขียนเกือบ
ขนานการประมวลผลงานเป็นทั้งชุดของการสืบค้นฐานข้อมูล
( อาจจะการใช้ฟังก์ชันที่ผู้ใช้กำหนด และรวบรวมเพื่อกรองและรวม
ข้อมูล ) หรือชุดของงาน mapreduce . แรงบันดาลใจจากคำถามนี้
เป้าหมายของเราคือที่จะเข้าใจความแตกต่างระหว่างวิธีการ mapreduce
การแสดงขนาดใหญ่ การวิเคราะห์ข้อมูล และวิธีการถ่ายโดย
ระบบฐานข้อมูลแบบขนาน สองประเภทของระบบให้เลือกที่แตกต่างกันในพื้นที่สำคัญหลาย ตัวอย่างเช่นทั้งหมด DBMSs ต้องการ
ข้อมูลที่สอดคล้องกับ schema ที่ชัดเจน ในขณะที่ข้อมูลนายอนุญาต
อยู่ในใด ๆโดยพลการในรูปแบบ ความแตกต่างอื่น ๆยังรวมถึง
วิธีแต่ละระบบมีการเพิ่มประสิทธิภาพและการบีบอัด ,
รูปแบบโปรแกรม วิธีการที่ข้อมูลจะถูกกระจายและกลยุทธ์การค้นหา
.
วัตถุประสงค์ของบทความนี้คือการพิจารณาตัวเลือกเหล่านี้ และ
trade-offs ที่พวกเขาครอบคลุมเราเริ่มต้นในส่วนที่ 2 กับ
ทบทวนของสองชั้นทางเลือกของระบบ ตามด้วยการอภิปรายในมาตรา 3 ของ
trade-offs สถาปัตยกรรม แล้วในส่วนที่ 4 เรา
ปัจจุบันของเรามาตรฐานประกอบด้วยความหลากหลายของงานหนึ่งถ่าย
จากกระดาษคุณ [ 8 ] และส่วนที่เหลือเป็นคอลเลกชันของความต้องการมากขึ้น
งาน นอกจากนี้เรานำเสนอผลการทำงานมาตรฐาน
การแปล กรุณารอสักครู่..