emit a list of all URLs found in the document. A temporary table
would then be populated with this list of URLs and then a simple
count/group-by query would be executed that finds the number of
instances of each unique URL.
Unfortunately, [23] found that in practice, it was difficult to implement
such a UDF inside the parallel databases. In DBMS-X,
it was impossible to store each document as a character BLOB inside
the DBMS and have the UDF operate on it directly, due to “a
known bug in [the] version of the system”. Hence, the UDF was
implemented inside the DBMS, but the data was stored in separate
HTML documents on the raw file system and the UDF made external
calls accordingly.
Vertica does not currently support UDFs, so a simple document
parser had to be written in Java externally to the DBMS. This parser
is executed on each node in parallel, parsing the concatenated documents
file and writing the found URLs into a file on the local disk.
This file is then loaded into a temporary table using Vertica’s bulkloading
tools and a second query is executed that counts, for each
URL, the number of inward links.
In Hadoop, we employed standard TextInputFormat and parsed
each document inside a Map task, outputting a list of URLs found
in each document. Both a Combine and a Reduce function sum the
number of instances of each unique URL.
In HadoopDB, since text processing is more easily expressed in
MapReduce, we decided to take advantage of HadoopDB’s ability
to accept queries in either SQL or MapReduce and we used the latter
option in this case. The complete contents of the Documents
table on each PostgreSQL node is passed into Hadoop with the following
SQL:
SELECT url, contents FROM Documents;
Next, we process the data using a MR job. In fact, we used identical
MR code for both Hadoop and HadoopDB.
Fig. 10 illustrates the power of using a hybrid system like
HadoopDB. The database layer provides an efficient storage layer
for HTML text documents and the MapReduce framework provides
arbitrary processing expression power.
Hadoop outperforms HadoopDB as it processes merged files of
multiple HTML documents. HadoopDB, however, does not lose
the original structure of the data by merging many small files into
larger ones. Note that the total merge time was about 6000 seconds
per node. This overhead is not included in Fig. 10.
DBMS-X and Vertica perform worse than Hadoop-based systems
since the input files are stored outside of the database. Moreover,
for this task both commercial databases do not scale linearly with
the size of the cluster.
6.3 Summary of Results Thus Far
In the absence of failures or background processes, HadoopDB
is able to approach the performance of the parallel database systems.
The reason the performance is not equal is due to the following
facts: (1) PostgreSQL is not a column-store (2) DBMS-X
results are overly optimistic by approximately a factor of 15%, (3)
we did not use data compression in PostgreSQL, and (4) there is
some overhead in the interaction between Hadoop and PostgreSQL
which gets proportionally larger as the number of chunks increases.
We believe some of this overhead can be removed with the increase
of engineering time.
HadoopDB consistently outperforms Hadoop (except for the
UDF aggregation task since we did not count the data merging time
against Hadoop).
While HadoopDB’s load time is about 10 times longer than
Hadoop’s, this cost is amortized across the higher performance of
all queries that process this data. For certain tasks, such as the Join
task, the factor of 10 load cost is immediately translated into a
factor of 10 performance benefit.
7. FAULT TOLERANCE AND HETEROGENEOUS
ENVIRONMENT
As described in Section 3, in large deployments of sharednothing
machines, individual nodes may experience high rates
of failure or slowdown. While running our experiments for
this research paper on EC2, we frequently experienced both
node failure and node slowdown (e.g., some notifications we
received: “4:12 PM PDT: We are investigating a localized issue
in a single US-EAST Availability Zone. As a result, a small
number of instances are unreachable. We are working to restore
the instances.”, and “Starting at 11:30PM PDT today, we will be
performing maintenance on parts of the Amazon EC2 network.
This maintenance has been planned to minimize the probability
of impact to Amazon EC2 instances, but it is possible that some
customers may experience a short period of elevated packet loss as
the change takes effect.”)
For parallel databases, query processing time is usually determined
by the the time it takes for the slowest node to complete its
task. In contrast, in MapReduce, each task can be scheduled on any
node as long as input data is transferred to or already exists on a free
node. Also, Hadoop speculatively redundantly executes tasks that
are being performed on a straggler node to reduce the slow node’s
effect on query time.
Hadoop achieves fault tolerance by restarting tasks of failed
ส่งรายการของ Url ทั้งหมดที่พบในเอกสาร ตารางชั่วคราวแล้วจะถูกเติม ด้วยรายการ Url และเรียบง่ายจำนวน/กลุ่มโดยแบบสอบถามจะดำเนินการที่ค้นหาหมายเลขของอินสแตนซ์ของแต่ละ URL ที่ไม่ซ้ำกันอับ, [23] พบว่า ในทางปฏิบัติ มันยากที่จะใช้เช่นแบบ UDF ภายในฐานข้อมูลพร้อมกัน ใน DBMS-Xก็ไปเก็บเอกสารแต่ละฉบับเป็นอักขระบล็อบภายในDBMS มี UDF ที่ดำเนินการโดยตรง เนื่องจาก "เป็นรู้จักปัญหา [] รุ่นของระบบ" ดังนั้น UDF ถูกดำเนินการภายใน DBMS แต่ข้อมูลถูกเก็บในแยกต่างหากเอกสาร HTML ในระบบแฟ้ม raw และ UDF ที่ทำภายนอกเรียกตามลำดับVertica ในปัจจุบันสนับสนุน UDFs ดังนั้นเอกสารอย่างง่ายตัวแยกวิเคราะห์ต้องเขียนใน Java ภายนอกเพื่อการ DBMS ได้ ตัวแยกวิเคราะห์นี้ดำเนินการบนแต่ละโหนพร้อมกัน การแยกวิเคราะห์เอกสารต่อไฟล์และการเขียนพบ Url ไปยังแฟ้มบนดิสก์ภายในเครื่องแล้วโหลดไฟล์นี้ลงในตารางชั่วคราวโดยใช้ bulkloading ของ Verticaเครื่องมือและแบบสอบถามที่สองจะดำเนินการที่นับ สำหรับแต่ละURL จำนวนการเชื่อมโยงขาเข้าอย่างไร Hadoop เราจ้างมาตรฐาน TextInputFormat และการแยกวิเคราะห์กำลังแสดงผลรายการของ Url พบเอกสารภายในงานแผนที่ในแต่ละเอกสาร การรวมและลดฟังก์ชันผลรวมหมายเลขของอินสแตนซ์ของแต่ละ URL ที่ไม่ซ้ำกันใน HadoopDB เนื่องจากการประมวลผลข้อความจะแสดงในได้ง่ายขึ้นMapReduce เราตัดสินใจที่จะใช้ประโยชน์จากความสามารถของ HadoopDBยอมรับแบบสอบถามใน SQL หรือ MapReduce และเราใช้หลังตัวเลือกในกรณีนี้ เนื้อหาทั้งหมดของเอกสารส่งผ่านตารางในแต่ละโหน PostgreSQL เป็นอย่างไร Hadoop กับต่อไปนี้SQL:เลือก url เนื้อหาจากเอกสารถัดไป เราประมวลผลข้อมูลการใช้งานนาย ในความเป็นจริง เราใช้เหมือนกันรหัส MR อย่างไร Hadoop และ HadoopDBFig. 10 แสดงให้เห็นถึงพลังของการใช้ระบบไฮบริเช่นHadoopDB ชั้นฐานข้อมูลให้เป็นชั้นเก็บข้อมูลมีประสิทธิภาพสำหรับเอกสารข้อความ HTML และ MapReduce ให้กำลังประมวลผลกำหนดนิพจน์อย่างไร Hadoop outperforms HadoopDB ตามที่โปรแกรมดำเนินการผสานแฟ้มเอกสาร HTML หลาย HadoopDB อย่างไรก็ตาม ไม่สูญเสียโครงสร้างเดิมของข้อมูลด้วยการผสานแฟ้มขนาดเล็กจำนวนมากเป็นคนใหญ่ หมายเหตุว่าเวลารวมทั้งหมดประมาณ 6000 วินาทีต่อโหน ค่าใช้จ่ายในนี้จะไม่รวมอยู่ใน Fig. 10DBMS X และ Vertica ทำแย่กว่าระบบที่ใช้อย่างไร Hadoopตั้งแต่เก็บแฟ้มอินพุตภายนอกฐานข้อมูล นอกจากนี้งานนี้ ทั้งฐานข้อมูลเชิงพาณิชย์ไม่ปรับเชิงเส้นกับขนาดของคลัสเตอร์6.3 สรุปผลฉะนี้ในกรณีล้มเหลวหรือกระบวนการพื้นหลัง HadoopDBจะสามารถเข้าหาประสิทธิภาพของระบบฐานข้อมูลแบบขนานเป็นเหตุผลที่ประสิทธิภาพไม่เท่าเนื่องจากต่อไปนี้ข้อเท็จจริง: (1) PostgreSQL ไม่เก็บคอลัมน์ (2) DBMS-Xผลลัพธ์มีในเชิงบวกมากเกินไป โดยปัจจัยประมาณ 15%, (3)เราไม่ได้ใช้การบีบอัดข้อมูล PostgreSQL และ (4) มีบางค่าโสหุ้ยในการโต้ตอบอย่างไร Hadoop และ PostgreSQLซึ่งมีขนาดใหญ่ตามสัดส่วนเป็นจำนวนก้อนเพิ่มขึ้นเราเชื่อว่า บางส่วนของค่าใช้จ่ายในนี้สามารถออก มีเพิ่มขึ้นเวลาวิศวกรรมHadoopDB outperforms อย่างไร Hadoop อย่างสม่ำเสมอ (ยกเว้นการงานรวม UDF เนื่องจากเราไม่ได้นับรวมเวลาข้อมูลต่ออย่างไร Hadoop)ในขณะที่เวลาโหลดของ HadoopDB มีความยาวประมาณ 10 เท่ากว่าอย่างไร Hadoop เป็น ต้นทุนนี้เป็นซึ่งตัดจำหน่ายข้ามประสิทธิภาพสูงของสอบถามทั้งหมดที่ประมวลผลข้อมูล หางาน เช่นการรวมงาน ตัวคูณของต้นทุน 10 โหลดได้ทันทีแปลเป็นปัจจัยของการสวัสดิการประสิทธิภาพ 107. ข้อบกพร่องยอมรับ และบริการสภาพแวดล้อมตามที่อธิบายไว้ในส่วน 3 ในการจัดวางขนาดใหญ่ของ sharednothingเครื่องจักร แต่ละโหนอาจราคาสูงความล้มเหลวหรือการล่าช้า ในขณะที่เรียกใช้สำหรับการทดลองของเรากระดาษนี้วิจัยบน EC2 เรามักพบทั้งความล้มเหลวโหนดและโหนชะลอตัว (แจ้งเตือนบางอย่างเช่น เราได้รับ: " 4:12 PM PDT: เราจะตรวจสอบปัญหาท้องถิ่นในเดี่ยวตะวันออกสหรัฐฯ พร้อมโซน เป็นผล ขนาดเล็กหมายเลขของอินสแตนซ์ที่ไม่สามารถเข้าถึงได้ เรากำลังดำเนินการคืนค่าอินสแตนซ์ ", และ"ราคาเริ่มต้นที่ 11:30 PM PDT วันนี้ เราจะสามารถดำเนินการบำรุงรักษาเครือ Amazon EC2การวางแผนบำรุงรักษานี้เพื่อลดความเป็นไปได้of impact to Amazon EC2 instances, but it is possible that somecustomers may experience a short period of elevated packet loss asthe change takes effect.”)For parallel databases, query processing time is usually determinedby the the time it takes for the slowest node to complete itstask. In contrast, in MapReduce, each task can be scheduled on anynode as long as input data is transferred to or already exists on a freenode. Also, Hadoop speculatively redundantly executes tasks thatare being performed on a straggler node to reduce the slow node’seffect on query time.Hadoop achieves fault tolerance by restarting tasks of failed
การแปล กรุณารอสักครู่..

ปล่อยรายชื่อ URL ทั้งหมดที่พบในเอกสาร ตารางชั่วคราว
ก็มีประชากรที่มีนี้รายการ URL แล้ววิ
นับ / กลุ่ม โดยแบบสอบถามจะถูกประหารที่พบหมายเลขของอินสแตนซ์ของแต่ละคน
แต่เฉพาะ URL [ 23 ] พบว่าในทางปฏิบัติ มันเป็นเรื่องยากที่จะใช้
เช่น UDF ในฐานข้อมูลแบบขนาน ใน dbms-x
,มันเป็นไปไม่ได้ที่จะเก็บเอกสารแต่ละตัวอักษรหยดข้างใน
DBMS และมี UDF ผ่าตัดโดยตรง เนื่องจาก "
รู้จักข้อผิดพลาดใน [ ] รุ่นของระบบ " ดังนั้น จึงใช้ UDF
ภายใน DBMS แต่ข้อมูลถูกเก็บไว้ในที่แยกต่างหาก
เอกสาร HTML บนระบบแฟ้มดิบและ UDF ทำภายนอก
โทรตาม ฐานสนับสนุน Udf ทางไม่ได้ในขณะนี้ ,เพื่อแยกวิเคราะห์เอกสาร
ง่ายก็ต้องเขียนใน Java ภายนอกเพื่อ DBMS . นี้ parser
ถูกประหารชีวิตในแต่ละโหนดในขนาน , แยกแฟ้มและเอกสาร
มาเขียนพบ URL ในไฟล์บนดิสก์ท้องถิ่น .
ไฟล์นี้แล้วโหลดลงในตารางชั่วคราวโดยใช้ฐานของ bulkloading
เครื่องมือและแบบสอบถามที่สองคือประหารชีวิตที่ นับ สำหรับแต่ละ
URL , หมายเลขของการเชื่อมโยง
ด้านในใน textinputformat Hadoop เราใช้มาตรฐานและแจง
แต่ละเอกสารภายในแผนที่งานสร้างรายการของ URL ที่พบ
ในเอกสารแต่ละ ทั้งรวมและฟังก์ชันลดผลรวม
หมายเลขของอินสแตนซ์ของแต่ละ URL ที่ไม่ซ้ำกัน ใน hadoopdb
เนื่องจากการประมวลผลข้อความได้ง่ายขึ้นโดย
mapreduce , เราตัดสินใจที่จะใช้ประโยชน์จากความสามารถของ hadoopdb
รับแบบสอบถามใน SQL หรือ mapreduce และเราใช้ตัวหลัง
ในกรณีนี้ สมบูรณ์เนื้อหาของเอกสารในแต่ละโหนดคือ
ตาราง PostgreSQL ผ่านเข้าสู่ Hadoop กับ SQL ต่อไปนี้ :
เลือก URL เนื้อหาจากเอกสาร ;
ต่อไป เราประมวลผลข้อมูลโดยใช้คุณงาน ในความเป็นจริง เราใช้เหมือนกัน
นายรหัสทั้งสองและ Hadoop hadoopdb .
ฟิค10 แสดงให้เห็นถึงพลังของการใช้ระบบไฮบริดแบบ
hadoopdb . ฐานข้อมูลชั้นมี
ชั้นกระเป๋าที่มีประสิทธิภาพสำหรับเอกสารข้อความ HTML และ mapreduce กรอบให้
การแสดงออกโดยพลการประมวลพลัง hadoopdb Hadoop โปรยมันกระบวนการผสานไฟล์
เอกสาร HTML หลาย hadoopdb อย่างไรก็ตาม ไม่เสีย
เดิม โครงสร้างของข้อมูลการรวมไฟล์หลายๆใน
ใหญ่กว่า โปรดทราบว่าทั้งหมดรวมเวลาประมาณ 6000 วินาที
ต่อโหนด ค่าใช้จ่ายนี้ไม่ได้รวมอยู่ในรูปที่ 10 .
dbms-x และฐานแสดงแย่กว่าระบบที่ใช้ Hadoop
ตั้งแต่ใส่แฟ้มจะถูกเก็บไว้ในฐานข้อมูล โดย
สําหรับงานนี้ทั้งพาณิชย์ฐานข้อมูลไม่ได้ขนาดตาม
ขนาดของคลัสเตอร์ .
6 สรุปผลป่านนี้
ในกรณีที่ไม่มีความล้มเหลวหรือพื้นหลังกระบวนการ hadoopdb
สามารถเข้าถึงประสิทธิภาพของระบบฐานข้อมูลแบบขนาน .
เหตุผลประสิทธิภาพไม่เท่าเนื่องจาก
ข้อเท็จจริงต่อไปนี้ : ( 1 ) PostgreSQL ไม่ใช่ร้านคอลัมน์ ( 2 ) dbms-x
ผลลัพธ์ในแง่ดีเกินไป โดยรวมเป็นปัจจัยของ 15% ( 3 )
เราไม่ได้ใช้การบีบอัดข้อมูลใน PostgreSQL และ ( 4 ) มีบางค่าใช้จ่ายในการปฏิสัมพันธ์ระหว่าง
และ Hadoop PostgreSQL ที่ได้รับตามส่วนใหญ่เป็นจำนวนเพิ่ม chunks .
เราเชื่อว่าบางส่วนของค่าใช้จ่ายนี้สามารถลบออกได้ด้วยการเพิ่ม
เวลาวิศวกรรม hadoopdb อย่างต่อเนื่องมีประสิทธิภาพดีกว่า Hadoop ( ยกเว้น
รวมงาน UDF ตั้งแต่เราไม่ได้นับรวมกับข้อมูลเวลา
Hadoop ) ในขณะที่เวลา hadoopdb โหลดเป็น 10 ครั้งนานกว่า
Hadoop เป็นค่าใช้จ่ายนี้เป็นของขวัญในด้านของกระบวนการนี้
สอบถามข้อมูล สำหรับงานบางอย่าง เช่น เข้าร่วม
งาน ปัจจัยต้นทุน 10 โหลดทันทีแปลเป็นปัจจัย 10 การแสดงประโยชน์
.
7ยอมรับความผิดและ
สภาพแวดล้อมต่างกันตามที่อธิบายไว้ในมาตรา 3 ในขนาดใหญ่การใช้งานของ sharednothing
เครื่องโหนดแต่ละคนอาจพบอัตรา
ของความล้มเหลวหรือขยายตัวสูง ขณะกำลังทดลองของเรา
งานวิจัยนี้บน EC2 , เรามักมีประสบการณ์ความล้มเหลวโหนดโหนดทั้ง
และการชะลอตัว ( เช่น บางแจ้งเรา
" 4 : 12 PM PDT : ได้รับ :เราจะตรวจสอบปัญหา
ในถิ่นเดียว us-east ห้องพักโซน เป็นผลให้จำนวนน้อย
ของอินสแตนซ์จะไม่สามารถเข้าถึง เรากำลังทำงานเพื่อเรียกคืน
อินสแตนซ์ " และ " เริ่มตอนห้าทุ่มครึ่ง PDT วันนี้เราจะ
ดำเนินการบำรุงรักษาในส่วนของ Amazon EC2 เครือข่าย .
การบำรุงรักษานี้ได้รับการวางแผนเพื่อลดความน่าจะเป็นของ Amazon EC2
ผลกระทบกรณีแต่มันเป็นไปได้ว่าลูกค้าบางคน
อาจประสบการณ์ในระยะสั้นของการสูญเสียแพ็คเก็ตเปลี่ยนจะมีผลยกระดับเป็น
" ) สำหรับฐานข้อมูลแบบขนานเวลาการประมวลผลแบบสอบถามมักจะมุ่งมั่น
โดยเวลาที่ใช้สำหรับโหนดที่ช้าที่สุดเพื่อให้งานของ
ในทางตรงกันข้าม , ใน mapreduce แต่ละงานสามารถกำหนดตารางเวลาในโหนดใด
ตราบใดที่ข้อมูลจะถูกโอนให้หรือมีอยู่แล้วบนฟรี
โหนด ยัง รัน Hadoop เดาเกินงานที่
ถูกแสดงบนโหนดเพื่อลดผลช้าคนล้าหลังโนด
เวลาแบบสอบถาม ใช้ความอดทนความผิดโดย
Hadoop เริ่มต้นภารกิจล้มเหลว
การแปล กรุณารอสักครู่..
