เรากำลังใช้งานคลัสเตอร์โหนด 5 dc1.large และกำลังประสบปัญหาในการปรับขนาดการโหลดข้อมูลของเรา
"ตัวโหลด" แต่ละตัวเป็นกระบวนการแยกต่างหากที่: - รันคำสั่ง COPY จาก S3 ลงในตารางการแสดงละคร - จากนั้นจะทำการลบบนตารางที่ใช้งานอยู่ (เพื่อลบแถวที่อยู่ในตารางการแสดงละคร) - ในที่สุดข้อมูลการแสดงละครจะถูกแทรก ลงในตารางหลัก
ข้างต้นนี้เป็นเทคนิคที่แนะนำโดยทั่วไปใน doc< /ก>:
รายละเอียดที่สำคัญที่ควรทราบคือตัวโหลดแต่ละตัวทำงานบนชุดตารางที่แยกกัน (กล่าวคือ ไม่มีการล็อคความขัดแย้งระหว่างตัวโหลดเนื่องจากพวกมันทำงานบนชุดข้อมูลลูกค้าที่แตกต่างกัน) ดังนั้นตัวโหลดตัวหนึ่งจะคัดลอกลงในตาราง L1_Staging และสุดท้ายลงในตาราง L1_main ตัวโหลด สองจะคัดลอกไปที่ L2_staging และท้ายที่สุดลงในตาราง L2_main ฯลฯ
สิ่งที่เราสังเกตเห็นก็คือเมื่อเรารันโหลดเดอร์หลายตัวพร้อมกัน เวลางานจะเพิ่มขึ้นราวกับว่า redshift กำลังซีเรียลไลซ์การดำเนินการเขียนทั้งหมด อีกครั้งไม่มีการโต้แย้งล็อค
ทำไมเราถึงเห็นรูปแบบนี้? redshift ไม่รองรับการเขียนแบบขนานได้ดีหรือไม่?