Microsoft ปรับปรุง Azure SQL Data Warehouse สามารถ query ได้เร็วขึ้น 2 เท่า

by nutmos
13 July 2018 - 12:31

Microsoft ประกาศปรับปรุง Azure SQL Data Warehouse ระบบฐานข้อมูลบนคลาวด์สำหรับงานประเภทบิ๊กดาต้า โดยเน้นที่การปรับปรุงความเร็วในการ query โดยการใช้เทคโนโลยี instant data movement แบบใหม่ ซึ่งทำให้การ query เร็วขึ้นได้ 2 เท่า

ปกติแล้วเมื่อเรากระทำการ query ในรูปแบบใดก็ตาม หากตารางที่ต้องการอยู่ต่างโหนดกันก็ต้องย้ายข้อมูลไปมา ซึ่งอาจจะต้องใช้ Data Movement Service (DMS) คัดลอกข้อมูลออกจาก SQL Server Engine จากนั้นทำการแฮชและส่งไปยัง DMS บนโหนดอื่น ๆ ซึ่ง DMS จะคัดลอกข้อมูลไปยังตารางชั่วคราวโดยใช้ SQL Server BulkCopy API ซึ่งการอ่านข้อมูลออกมาจาก SQL Server นั้นเป็นแบบเทรดเดียวและทำให้เกิดคอขวดได้ง่าย

Microsoft จึงนำระบบย้ายข้อมูลรวมเข้ากับเอนจินของ SQL Server ซึ่งจะทำให้การย้ายข้อมูลเป็นการทำงานแบบมัลติคอร์เต็มรูปแบบ รวมถึงใช้โหมด execute แบบ batch สำหรับการย้ายข้อมูลได้ด้วย และเมื่อรวมกับ Azure Accelerated Networking แล้ว จะทำให้ SQL Data Warehouse สามารถย้ายข้อมูลได้สูงสุดถึง 1GB ต่อวินาทีต่อโหนด โดยเรียกโหมดนี้ว่า instant data movement mode

เมื่อระบบ SQL Data Warehouse ย้ายข้อมูลใน instant data movement mode จะมีการสร้าง intermediate result และส่งไปให้ทุกโหนดที่ต้องการข้อมูลส่วนนี้โดยใช้คอร์ของ CPU ทุกคอร์ที่เป็นไปได้ ซึ่งจะสามารถใช้ประโยชน์จากระบบมัลติคอร์ของซีพียูได้ และข้อมูลจะถูกเขียนในรูปแบบที่มี overhead ต่อแถวต่ำ เนื่องจากข้อมูลไม่ต้องย้ายข้ามไปมาระหว่างตัวเอนจินซึ่งจะต้องมีการทำ data validation ที่ใช้เวลามาก

ฟีเจอร์ใหม่ของ SQL Data Warehouse นี้เริ่มเปิดให้ผู้ใช้ทุกคนในกลุ่ม Compute Optimized Gen 2 ของ SQL Data Warehouse แล้ว ซึ่งระบบใหม่นี้จะใช้ในการ query ที่ไม่มีการใช้ข้อมูลภายนอกเท่านั้น

ที่มา - Microsoft Azure (1, 2)


ภาพแสดงการทำงานแบบ shuffle ของ SQL Data Warehouse โดยใช้ instant data movement mode ภาพโดย Microsoft

Blognone Jobs Premium