There are a number of interesting conclusions that can be drawn
from the results presented in this paper. First, at the scale of the experiments we conducted, both parallel database systems displayed a
significant performance advantage over Hadoop MR in executing a
variety of data intensive analysis benchmarks. Averaged across all
five tasks at 100 nodes, DBMS-X was 3.2 times faster than MR and
Vertica was 2.3 times faster than DBMS-X. While we cannot verify
this claim, we believe that the systems would have the same relative
performance on 1,000 nodes (the largest Teradata configuration is
less than 100 nodes managing over four petabytes of data). The dual
of these numbers is that a parallel database system that provides the
same response time with far fewer processors will certainly uses far
less energy; the MapReduce model on multi-thousand node clusters
is a brute force solution that wastes vast amounts of energy. While it
is rumored that the Google version of MR is faster than the Hadoop
version, we did not have access to this code and hence could not test
it. We are doubtful again, however, that there would be a substantial
difference in the performance of the two versions as MR is always
forced to start a query with a scan of the entire input file.
This performance advantage that the two database systems share
is the result of a number of technologies developed over the past
25 years, including (1) B-tree indices to speed the execution of
selection operations, (2) novel storage mechanisms (e.g., columnorientation), (3) aggressive compression techniques with ability to
operate directly on compressed data, and (4) sophisticated parallel
algorithms for querying large amounts of relational data. In the case
of a column-store database like Vertica, only those columns that are
needed to execute a query are actually read from disk. Furthermore,
the column-wise storage of data results in better compression factors (approximately a factor of 2.0 for Vertica, versus a factor of 1.8
for DBMS-X and 1.25 for Hadoop); this also further reduces the
amount of disk I/O that is performed to execute a query.
Although we were not surprised by the relative performance advantages provided by the two parallel database systems, we were
impressed by how easy Hadoop was to set up and use in comparison
to the databases. The Vertica installation process was also straightforward but temperamental to certain system parameters. DBMSX, on the other hand, was difficult to configure properly and required repeated assistance from the vendor to obtain a configuration
that performed well. For a mature product such as DBMS-X, the
entire experience was indeed disappointing. Given the upfront cost
advantage that Hadoop has, we now understand why it has quickly
attracted such a large user community.
Extensibility was another area where we found the database systems we tested lacking. Extending a DBMS with user-defined types
and functions is an idea that is now 25 years old [16]. Neither of
the parallel systems we tested did a good job on the UDF aggregation tasks, forcing us to find workarounds when we encountered
limitations (e.g., Vertica) and bugs (e.g., DBMS-X).
While all DB systems are tolerant of a wide variety of software
failures, there is no question that MR does a superior job of minimizing the amount of work that is lost when a hardware failure occurs. This capability, however, comes with a potentially large per-
formance penalty, due to the cost of materializing the intermediate
files between the map and reduce phases. Left unanswered is how
significant this performance penalty is. Unfortunately, to investigate this question properly requires implementing both the materialization and no-materialization strategies in a common framework,
which is an effort beyond the scope of this paper. Despite a clear
advantage in this domain, it is not completely clear how significant
a factor Hadoop’s ability to tolerate failures during execution really
is in practice. In addition, if a MR system needs 1,000 nodes to
match the performance of a 100 node parallel database system, it is
ten times more likely that a node will fail while a query is executing. That said, better tolerance to failures is a capability that any
database user would appreciate.
Many people find SQL difficult to use initially. This is partially
due to having to think differently when solving a problem and that
SQL has evolved into a complex language that is quite different than
the original design by Don Chamberlin in the 1970s. Though most
languages become more complex over time, SQL is particularly bad
as many of its features were designed by competing database companies who each sought to include their own proprietary extensions.
Despite its faults, SQL is still a powerful tool. Consider the
following query to generate a list of Employees ordered by their
salaries and the corresponding rank of each salary (i.e., the highest
paid employee gets a rank of one):
มีข้อสรุปที่น่าสนใจที่สามารถดึง
จากผลที่นำเสนอในบทความนี้ ครั้งแรกในระดับของการทดลองเราดำเนินการทั้งขนานระบบฐานข้อมูลแสดง
สําคัญประสิทธิภาพเหนือ Hadoop นายในดำเนินการความหลากหลายของข้อมูลการวิเคราะห์
เข้มข้นมาตรฐาน . เฉลี่ยในทั้งหมด
5 งานที่ 100 โหนด , dbms-x เป็น 3.2 เท่าเร็วกว่าคุณและ
ฐานเป็น 2.3 เท่าเร็วกว่า dbms-x. ในขณะที่เราไม่สามารถตรวจสอบ
อ้างนี้ เราเชื่อว่า ระบบจะมีประสิทธิภาพสัมพัทธ์
เดียวกัน 1 , 000 โหนด ( ที่ใหญ่ที่สุดของโน้ตบุ๊กปรับแต่ง
น้อยกว่า 100 โหนดการจัดการกว่าสี่ petabytes ข้อมูล ) คู่
ของตัวเลขเหล่านี้มีขนานระบบฐานข้อมูลที่ให้
เวลาเดียวกันกับโปรเซสเซอร์น้อยลงมาก จะใช้พลังงานน้อยกว่าไกล
; mapreduce รูปแบบหลายพันโหนดคลัสเตอร์
เป็นใช้กำลังแก้ปัญหาของเสียจํานวนมากมายของพลังงาน ในขณะที่มีข่าวลือว่า Google
รุ่นคุณจะเร็วกว่า Hadoop
รุ่น เราไม่ได้มีการเข้าถึงรหัสนี้และดังนั้นจึงไม่สามารถทดสอบ
. เราสงสัยอีกครั้ง อย่างไรก็ตามจะมีความแตกต่างอย่างมาก
ในประสิทธิภาพของทั้งสองรุ่นเป็นนายเสมอ
บังคับให้เริ่มค้นหาด้วยการสแกนของไฟล์ทั้งหมด .
แสดงประโยชน์ที่ 2 ใช้ระบบฐานข้อมูล
เป็นผลของเทคโนโลยีที่พัฒนาตลอด
25 ปีรวมทั้ง ( 1 ) ต้นไม้ดัชนีความเร็วในการ
งานคัดเลือก( 2 ) กลไกกระเป๋าใหม่ ( เช่น columnorientation ) , ( 3 ) เทคนิคการบีบอัดที่ก้าวร้าวกับความสามารถ
ใช้งานได้โดยตรงบนข้อมูลที่ถูกบีบอัด และ ( 4 ) ขั้นตอนวิธีแบบขนาน
ซับซ้อนเพื่อสอบถามจำนวนมากของข้อมูลเชิงสัมพันธ์ ในกรณี
ของคอลัมน์เก็บฐานข้อมูล เช่น ฐานเสา เฉพาะผู้ที่
ต้องการรันการสืบค้นจริงอ่านจากดิสก์ นอกจากนี้
คอลัมน์ฉลาดเก็บข้อมูลในการบีบอัดที่ดีกว่าปัจจัย ( ประมาณ 2.0 สำหรับฐานปัจจัย และปัจจัยของ 1.8
สำหรับ dbms-x และ 1.25 สำหรับ Hadoop ) ; นี้ยังเพิ่มเติม ลดปริมาณของดิสก์ I / O
ที่ดําเนินการรันการสืบค้น .
ถึงแม้ว่าเราจะไม่ได้ประหลาดใจโดยเทียบประสิทธิภาพ ข้อดีโดยสองขนานระบบฐานข้อมูลเรา
ประทับใจว่า Hadoop ที่ง่าย คือ การตั้งค่า และใช้ในการเปรียบเทียบ
ไปยังฐานข้อมูล ขั้นตอนการติดตั้งที่ฐานก็ตรงไปตรงมา แต่เจ้าอารมณ์กับพารามิเตอร์ของระบบบางอย่าง dbmsx บนมืออื่น ๆที่เป็นเรื่องยากที่จะปรับแต่งอย่างถูกต้อง และต้องย้ำช่วยเหลือจากผู้ขายเพื่อให้ได้ค่า
ที่ทำได้ดี สำหรับผู้ใหญ่ ผลิตภัณฑ์เช่น dbms-x
,ประสบการณ์ทั้งหมดที่เป็นจริงที่น่าผิดหวัง ได้รับประโยชน์จากค่าใช้จ่ายล่วงหน้า
Hadoop ได้ เราเข้าใจแล้วว่าทำไมมันเร็ว
ดึงดูดเช่นผู้ใช้ขนาดใหญ่ของชุมชน เป็นอีกพื้นที่ที่เรา
ขยายพบฐานข้อมูลระบบที่เราทดสอบ ขาด การขยายหรือกับผู้ใช้กำหนดประเภท
และฟังก์ชันเป็นไอเดียที่ตอนนี้อายุ 25 ปี [ 16 ] ทั้ง
คือระบบที่เราทดสอบได้งานที่ดีบน UDF ของงานบังคับให้เราหาวิธีการแก้ปัญหาเมื่อเราพบ
ข้อจำกัด ( เช่นฐาน ) และแมลง ( เช่น dbms-x ) .
ในขณะที่ระบบ DB จะใจกว้างของหลากหลายของซอฟต์แวร์
ความล้มเหลว มีคำถามว่าคุณไม่ได้งานที่เหนือกว่า ลดปริมาณงานที่สูญเสียไปเมื่อฮาร์ดแวร์ล้มเหลวที่เกิดขึ้น ความสามารถนี้อย่างไรก็ตาม มาพร้อมกับมากมีแนวโน้มต่อ -
formance โทษ เนื่องจากต้นทุนของ materializing ไฟล์กลาง
ระหว่างแผนที่และลดระยะ แล้วยังไม่เป็นผลการปฏิบัติงานนี้โทษเป็นอย่างไร
อย่างมีนัยสำคัญ แต่น่าเสียดายที่การตรวจสอบคำถามนี้อย่างถูกต้อง ต้องใช้ทั้งเด่นและไม่มีกลยุทธ์เด่นในกรอบทั่วไป
ซึ่งมีความพยายามอยู่นอกเหนือขอบเขตของบทความนี้ แม้จะมีข้อได้เปรียบที่ชัดเจน
ในโดเมนนี้ มันไม่ได้ชัดเจนว่าเป็นปัจจัยสําคัญ
Hadoop สามารถทนต่อความล้มเหลวในการดำเนินการจริงๆ
อยู่ในการปฏิบัติ นอกจากนี้ถ้าคุณต้องการโหนดระบบ 1000
ตรงกับประสิทธิภาพของ 100 โนดขนานระบบฐานข้อมูล คือ
สิบครั้งโอกาสที่โหนดจะล้มเหลวในขณะที่การดำเนิน . ที่บอกว่าความอดทนกว่าความล้มเหลวของความสามารถที่ผู้ใช้งานฐานข้อมูลใด ๆที่จะชื่นชม
.
หลายคนพบ SQL ใช้ยากในตอนแรก นี่คือบางส่วน
เนื่องจากต้องคิดต่างออกไป เมื่อการแก้ปัญหาและ
SQL ได้กลายมาเป็นภาษาที่มีความซับซ้อนค่อนข้างแตกต่างกว่า
การออกแบบเดิมโดยยังคะในทศวรรษ แม้ว่าภาษาส่วนใหญ่
กลายเป็นความซับซ้อนมากขึ้นเมื่อเวลาผ่านไป , SQL โดยเฉพาะอย่างยิ่งเลว
เป็นจำนวนมากคุณสมบัติที่ออกแบบโดย บริษัท ที่แข่งขันกัน ฐานข้อมูลแต่ละแสวงหาเพื่อรวมส่วนขยายของตัวเองที่เป็นกรรมสิทธิ์ .
แม้จะมีข้อบกพร่อง , SQL เป็นเครื่องมือที่มีประสิทธิภาพ พิจารณา
ต่อไปนี้แบบสอบถามเพื่อสร้างรายชื่อของพนักงานของพวกเขา
สั่งโดยเงินเดือนและตำแหน่งที่สอดคล้องกันของแต่ละเดือน เช่น พนักงานได้รับการจ่ายสูงสุด
อันดับหนึ่ง ) :
การแปล กรุณารอสักครู่..
