240 likes | 366 Views
Using Association Rules to Optimize Encoded Bitmap Index for Membership Queries. จรรยา สาย นุ้ย, นิวร รณ วัฒน กิจรุ งโร จน และ ศิ ริรัตน์ วณิช โยบล i STAR LAB ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยสงขลานครินทร์. Outline. บทนำ ดัชนีบิตแมปแบบเข้ารหัส กฎความสัมพันธ์
E N D
Using Association Rules to Optimize Encoded Bitmap Index for Membership Queries จรรยา สายนุ้ย,นิวรรณ วัฒนกิจรุงโรจน และ ศิริรัตน์ วณิชโยบล iSTAR LAB ภาควิชาวิทยาการคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยสงขลานครินทร์
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
บทนำ • ในระบบคลังข้อมูลการสอบถามข้อมูลจะเป็นแบบ OLAP • ข้อมูลในคลังข้อมูลมีจำนวนมาก จึงทำให้การค้นหาข้อมูลในคลังข้อมูลต้องใช้เวลามากด้วย • การเพิ่มความเร็วในการค้นหาข้อมูล • การสร้าง Summary table • การประมวลผลแบบคู่ขนาน • การทำดัชนี • การทำดัชนีที่นิยมใช้ในระบบคลังข้อมูลคือ การทำดัชนีแบบบิตแมป
ดัชนีแบบบิตแมป บทนำ คุณลักษณะของดัชนีแบบบิตแมป • สามารถดำเนินการระดับบิต เช่น AND OR NOT XOR ระหว่างบิตแมปก่อนดึงข้อมูลจริง • ประหยัดเนื้อที่
ดัชนีบิตแมปแบบพื้นฐานดัชนีบิตแมปแบบพื้นฐาน บทนำ 1 2 3 4 5 6 7 8 SELECT * FROM T WHERE X = ‘A’ Answer :RID 3 , 5 SELECT * FROM T WHERE X = ‘A,B,C’ Answer :RID 1,2,3,5 C = 8-->8Bitmap vectors Bitmap Vectors : EA, EB, EC, …, EH
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
ดัชนีบิตแมปแบบเข้ารหัสดัชนีบิตแมปแบบเข้ารหัส ประกอบด้วย Bitmap vectors Bitmap Vectors : E0, E1, E2, …, E -1 แต่ละค่าแทนด้วยE -1…E2E1E0 เมื่อกำหนดให้ Ei โดยที่ A แทนด้วย C = 8--> = 3 Bitmap vectors Bitmap Vectors : E0, E1, E2
ดัชนีบิตแมปแบบเข้ารหัสดัชนีบิตแมปแบบเข้ารหัส SELECT * FROM T WHERE X in {A,D,F,G} Answer :RID 3 , 5 , 6, 7 , 8 , 9
ดัชนีบิตแมปแบบเข้ารหัสดัชนีบิตแมปแบบเข้ารหัส SELECT * FROM T WHERE X in {A,D,F,G} Answer :RID 3 , 5 , 6, 7 , 8 , 9 =
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
กฎความสัมพันธ์ กระบวนการหากฎความสัมพันธ์ ประกอบด้วย 2 ขั้นตอนคือ • การหากลุ่มข้อมูลที่ถูกสอบถามด้วยกันบ่อย ๆ (Frequent itemsets) ที่มีค่าความถี่หรือค่าสนับสนุนมากกว่าหรือเท่ากับค่าความถี่ขั้นต่ำ (Minimum Support ) • การสร้างกฎความสัมพันธ์ จาก Frequent itemsets ที่หาได้จากขั้นตอนที่ 1 และจะยอมรับกฎความสัมพันธ์ที่สร้างขึ้น ก็ต่อเมื่อกฎนั้นมีค่าความเชื่อมั่นมากกว่าหรือเท่ากับค่าความเชื่อมั่นขั้นต่ำ (Minimum Confidence)
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัสการเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส ขั้นตอนที่ 1 : การหา Frequent Itemsets การหา Frequent itemsetsสำหรับการทำดัชนีบิตแมปแบบเข้ารหัส a. (workload) b. (ฐานข้อมูลทรานแซคชัน) 1. อ่านฐานข้อมูลทรานแซคชันบนแอทริบิวต์ที่เราสนใจจะทำดัชนีที่สกัดจาก workload 1 ครั้งเพื่อสร้างตารางเมตริก
การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัสการเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส ขั้นตอนที่ 1 : การหา Frequent Itemsets การหา Frequent itemsetsสำหรับการทำดัชนีบิตแมปแบบเข้ารหัส a. (ตัวอย่างการสกัดค่า (item) ที่ถูกสอบถามในแต่ละการสอบถาม) ฐานข้อมูลทรานแซคชัน b. (support ของแต่ละ item) 2. หา Frequent 1-itemset จากตารางเมตริกดังรูป a โดยการนับจำนวนบิต(Support) 1 ในแต่ละค่าของแอทริบิวต์และเลือกค่าที่มีค่า Support มากกว่าหรือเท่ากับ Minimum support ที่กำหนด
การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัสการเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส ขั้นตอนที่ 1 : การหา Frequent Itemsets การหา Frequent itemsetsสำหรับการทำดัชนีบิตแมปแบบเข้ารหัส 3. for (i = 1; i < = ; i++) 3.1สร้าง Candidate itemsetsขนาด 2i ได้จากการนำ Frequentitemsets ขนาด 2i-1นำมาดำเนินการตรรกะ AND โดยมีเงื่อนไขว่า Itemsets ที่นำมารวมกันจะต้องมีสมาชิกไม่ เหมือนกัน แล้วทำการนับ Support ของบิต 1 จากผลลัพธ์ที่ ได้ 3.2 เลือก Support > = Minimum Support Frequent itemsets (กำหนดค่า support = 40%)
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัสการเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส ขั้นตอนที่ 2 : การเข้ารหัส • เรียงลำดับ Frequent Itemsets ที่หาได้ตามจำนวนสมาชิกและค่า Support จากมากไปน้อย • เลือก Frequent Itemsets ที่มีสมาชิกเท่ากับ เมื่อ i= 1, 2, …, ตามลำดับ ที่มีสมาชิกไม่เหมือนกันมาเรียงเป็นลำดับที่ต่อเนื่องกัน • นำข้อมูลที่เหลือมาเรียงลำดับต่อจากข้อมูลที่เรียงอยู่ และเริ่มเข้ารหัสเรียงตามลำดับตั้งแต่ข้อมูลตัวแรกถึงตัวสุดท้าย โดยกำหนดให้รูปแบบของการลงรหัสเริ่มจากค่า 0 จนถึงค่า C - 1 ในรูปของเลขฐานสอง ขั้นตอนวิธีการเข้ารหัส
การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัสการเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส ขั้นตอนที่ 2 : การเข้ารหัส มาก น้อย
การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัสการเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส ขั้นตอนที่ 2 : การเข้ารหัส X in {A,C,E,G,H,O,J,K} + + + + + + + + + + + + + +
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
การวิเคราะห์ประสิทธิภาพการวิเคราะห์ประสิทธิภาพ ตารางเปรียบเทียบประสิทธิภาพการทำดัชนีบิตแมปแบบต่าง ๆ เมื่อ Cคือค่าคาร์ดินอร์ลิตี้ และk คือจำนวนสมาชิกที่ถูกสอบถาม
Outline • บทนำ • ดัชนีบิตแมปแบบเข้ารหัส • กฎความสัมพันธ์ • การเพิ่มประสิทธิภาพการทำดัชนีบิตแมปแบบเข้ารหัส • การหา Frequent Itemsets • การเข้ารหัส • การวิเคราะห์ประสิทธิภาพ • สรุป
สรุป • ดัชนีบิตแมปแบบเข้ารหัสเป็นการทำดัชนีที่มีประสิทธิภาพในการใช้พื้นที่ในการจัดเก็บดัชนีสูงที่สุด (ใช้พื้นที่น้อย) • การใช้กฎความสัมพันธ์มาช่วยในการเข้ารหัสในการทำดัชนีบิตแมปแบบเข้ารหัสจะทำให้ประสิทธิภาพในการสอบถามข้อมูลแบบสมาชิกมีประสิทธิภาพเพิ่มขึ้น เพราะในการสอบถามข้อมูลจะมีโอกาสตรวจสอบเพียง 1 บิตแมปเวกเตอร์เท่านั้น
Question & Answer Thank You