redshift ทำให้การดำเนินการเขียนเป็นอนุกรมหรือไม่

เรากำลังใช้งานคลัสเตอร์โหนด 5 dc1.large และกำลังประสบปัญหาในการปรับขนาดการโหลดข้อมูลของเรา

"ตัวโหลด" แต่ละตัวเป็นกระบวนการแยกต่างหากที่: - รันคำสั่ง COPY จาก S3 ลงในตารางการแสดงละคร - จากนั้นจะทำการลบบนตารางที่ใช้งานอยู่ (เพื่อลบแถวที่อยู่ในตารางการแสดงละคร) - ในที่สุดข้อมูลการแสดงละครจะถูกแทรก ลงในตารางหลัก

ข้างต้นนี้เป็นเทคนิคที่แนะนำโดยทั่วไปใน doc< /ก>:

รายละเอียดที่สำคัญที่ควรทราบคือตัวโหลดแต่ละตัวทำงานบนชุดตารางที่แยกกัน (กล่าวคือ ไม่มีการล็อคความขัดแย้งระหว่างตัวโหลดเนื่องจากพวกมันทำงานบนชุดข้อมูลลูกค้าที่แตกต่างกัน) ดังนั้นตัวโหลดตัวหนึ่งจะคัดลอกลงในตาราง L1_Staging และสุดท้ายลงในตาราง L1_main ตัวโหลด สองจะคัดลอกไปที่ L2_staging และท้ายที่สุดลงในตาราง L2_main ฯลฯ

สิ่งที่เราสังเกตเห็นก็คือเมื่อเรารันโหลดเดอร์หลายตัวพร้อมกัน เวลางานจะเพิ่มขึ้นราวกับว่า redshift กำลังซีเรียลไลซ์การดำเนินการเขียนทั้งหมด อีกครั้งไม่มีการโต้แย้งล็อค

ทำไมเราถึงเห็นรูปแบบนี้? redshift ไม่รองรับการเขียนแบบขนานได้ดีหรือไม่?


person maxTrialfire    schedule 26.11.2015    source แหล่งที่มา
comment
เป็นไปได้ไหมที่การเขียนกำลังใช้แบนด์วิดท์ที่มีอยู่ไปยังที่เก็บข้อมูล หากแบบสอบถามถูกผูกไว้กับ I/O เธรดเพิ่มเติมจะไม่ทำงานเร็วขึ้นอีก   -  person Gordon Linoff    schedule 26.11.2015
comment
แบบสอบถามถูกผูกไว้กับ i/o เป็นการแทรกขนาดใหญ่ตามด้วยการลบตามด้วยการแทรกอื่น Redshift เป็นกล่องดำดังนั้นฉันจึงไม่รู้จริงๆ ว่าฉันใช้ปริมาณงาน IO มากเพียงใดในแต่ละข้อความค้นหา   -  person maxTrialfire    schedule 26.11.2015


คำตอบ (2)


ใช่ redshift ทำให้การดำเนินการทั้งหมดเป็นอนุกรมจริงๆ ทุกอย่างถูกจัดคิวไว้ในคิว WLM (การจัดการเวิร์กโหลด)

person maxTrialfire    schedule 07.06.2016

คุณจะได้รับประสิทธิภาพที่ดีขึ้นหากคุณสามารถแยก การโหลดแต่ละครั้ง ลงในไฟล์จำนวนหนึ่งที่มีหลายโหนด (5 ในกรณีของคุณ) ด้วยไฟล์เดียว คุณจะถูกจำกัดปริมาณงานของโหนดเดียว

การใช้ manifest จะเป็นประโยชน์อย่างยิ่ง ไฟล์ที่มีการโหลดหลายไฟล์ บีบอัดไฟล์ของคุณและเปิดใช้งานการบีบอัดคอลัมน์ตารางของคุณ การบีบอัดตารางเพิ่มการคำนวณ แต่ข้อมูลสามารถย้ายระหว่างโหนดได้เร็วขึ้นเพื่อให้ได้ตามที่จำเป็นต้องไป (โหนดโหลดไม่เหมือนกับโหนดที่เหลือ)

เนื่องจากคุณดำเนินการลบบ่อยครั้งและหนักหน่วง คุณจึงต้องกำหนดเวลา regular vacuum การดำเนินการบนตารางที่ได้รับผลกระทบ

การสืบค้น (รวมถึงสำเนา) สามารถทำงานพร้อมกันได้ แต่จำนวนพร้อมกันจะถูกจำกัดโดยทรัพยากร (ค่าเริ่มต้นคือ 5 ต่อโหนด) ที่สามารถแก้ไขได้เล็กน้อย ดังนั้นคุณควรจะสามารถโหลดตารางต่างๆ ได้อย่างมีประสิทธิภาพ ตามที่ระบุข้างต้น ปัญหาอาจเกี่ยวข้องกับการโหลดไฟล์เดียวมากกว่า ตรวจสอบข้อมูลเกี่ยวกับ คิวการสืบค้น.

ต่อไปนี้คือคำแนะนำอื่นๆ

person systemjack    schedule 22.06.2016