Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

เทคนิคการคำนวณ Data Cube มี哪些?

เทคนิคเพิ่มประสิทธิภาพการคำนวณ Data Cube

เทคนิคเพิ่มประสิทธิภาพทั่วไปสำหรับการคำนวณ Data Cube อย่างมีประสิทธิภาพ มีดังนี้:

1. การจัดเรียง, การแฮช, และการจัดกลุ่ม (Sorting, Hashing, and Grouping)

การดำเนินการจัดเรียง, แฮช, และจัดกลุ่ม ควรนำไปใช้กับแอตทริบิวต์มิติ (Dimension Attributes) เพื่อจัดเรียงใหม่และจัดกลุ่มทูเพิลที่เกี่ยวข้อง ในการคำนวณ Cube การรวมข้อมูล (Aggregation) ดำเนินการบนทูเพิลที่มีชุดค่ามิติเหมือนกัน ดังนั้น จำเป็นต้องวิเคราะห์บริการจัดเรียง, แฮช, และจัดกลุ่ม เพื่อเข้าถึงและจัดกลุ่มข้อมูลดังกล่าว เพื่อรองรับการประเมินผลรวมดังกล่าว

ตัวอย่าง: คำนวณยอดขายรวมตามสาขา, วัน, และสินค้า จะมีประสิทธิภาพมากขึ้นหากจัดเรียงทูเพิลหรือเซลล์ตามสาขา, ตามด้วยวัน, และจัดกลุ่มตามชื่อสินค้า การดำเนินการดังกล่าวอย่างมีประสิทธิภาพในชุดข้อมูลขนาดใหญ่ ได้รับการศึกษาอย่างกว้างขวางในชุมชนวิจัยฐานข้อมูล

วิธีนี้ยังสามารถขยายเพื่อดำเนินการ Shared-sorts (แบ่งปันต้นทุนการจัดเรียงข้าม Cuboids ต่างๆ เมื่อใช้วิธีแบบจัดเรียง) หรือ Shared-partitions (แบ่งปันต้นทุนการแบ่งพาร์ติชันข้าม Cuboids ต่างๆ เมื่อใช้อัลกอริทึมแบบแฮช)

2. การรวมข้อมูลพร้อมกันและแคชผลลัพธ์ระหว่างทาง (Simultaneous Aggregation and Caching of Intermediate Results)

ในการคำนวณ Cube ควรคำนวณการรวมข้อมูลระดับสูง (Higher-level Aggregates) จากการรวมข้อมูลระดับต่ำ (Lower-level Aggregates) ที่คำนวณไว้ก่อนหน้านี้ แทนที่จะคำนวณจากตารางข้อเท็จจริงฐาน (Base Fact Table) อีกทั้ง การรวมข้อมูลพร้อมกันจากผลลัพธ์ระหว่างทางที่แคชไว้ (Cached Intermediate Computation Results) สามารถนำไปสู่การลดลงของการดำเนินการ I/O ดิสก์ที่มีค่าใช้จ่ายสูง

ตัวอย่าง: คำนวณยอดขายตามสาขา สามารถใช้ผลลัพธ์ระหว่างทางจากการคำนวณ Cuboid ระดับต่ำกว่า เช่น ยอดขายตามสาขาและวัน วิธีนี้สามารถขยายเพื่อดำเนินการ Amortized Scans (คำนวณ Cuboids มากที่สุดพร้อมกันเพื่อกระจายต้นทุนการอ่านดิสก์)

3. การรวมข้อมูลจากลูก Cuboid ที่เล็กที่สุด (Aggregation from the Smallest Child)

เมื่อมีลูก Cuboids หลายตัว โดยทั่วไปจะมีประสิทธิภาพมากกว่าที่จะคำนวณ Cuboid พ่อ (Parent - ที่เป็นนามธรรมมากกว่า) ที่ต้องการ จากลูก Cuboid ที่เล็กที่สุด ซึ่งคำนวณไว้ก่อนหน้านี้

4. วิธีตัดทอน Apriori สำหรับ Iceberg Cubes (Apriori Pruning for Iceberg Cubes)

สมบัติ Apriori ในบริบทของ Data Cube กำหนดว่า: หากเซลล์ที่กำหนดไม่ผ่านเกณฑ์ขั้นต่ำ (Minimum Support) ดังนั้น ไม่มีลูกหลานของเซลล์นั้น (คือ เซลล์ที่เฉพาะเจาะจงกว่า) ที่จะผ่านเกณฑ์ขั้นต่ำ สมบัตินี้สามารถใช้เพื่อลดการคำนวณ Iceberg Cubes อย่างมาก

คำจำกัดความของ Iceberg Cubes รวมเงื่อนไข Iceberg ซึ่งเป็นข้อจำกัดบนเซลล์ที่จะถูกเงาะจริง (Materialized) เงื่อนไข Iceberg ทั่วไปคือ เซลล์ควรผ่านเกณฑ์ขั้นต่ำของการสนับสนุน รวมถึง จำนวนขั้นต่ำหรือผลรวมขั้นต่ำ ในบริบทนี้ สมบัติ Apriori สามารถใช้เพื่อตัดทอนการตรวจสอบลูกหลานของเซลล์ได้