ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้ว่าแคชข้อมูลคืออะไรและเหตุใดจึงสำคัญ แคชข้อมูลเก็บบิตของข้อมูลที่อาจมีค่าสำหรับการใช้งานในอนาคต
หากคุณต้องการข้อมูลชิ้นเดียวกันในการวัดหรือการดำเนินการในอนาคต แคชข้อมูลจะให้ข้อมูลที่คุณต้องการ ช่วยลดการทำให้ระบบดึงข้อมูลชุดเดิมอีกครั้ง
ในบทช่วยสอนนี้ คุณจะผ่านสิ่งสำคัญแปดประการที่ต้องจำเมื่อจัดการกับแคชข้อมูลใน LuckyTemplates:
สารบัญ
ความหมายและวัตถุประสงค์ของแคชข้อมูล
แคชข้อมูลคือตารางชั่วคราวที่สร้างขึ้นในหน่วยความจำโดยเครื่องมือจัดเก็บข้อมูล ตารางชั่วคราวนี้ถูกส่งไปยังกลไกจัดการสูตรซึ่งจะวนซ้ำข้อมูลนี้และดำเนินการต่างๆ ตามคิวรี
การสื่อสารทั้งหมดระหว่างกลไกจัดการสูตรและกลไกการจัดเก็บข้อมูลจะเกิดขึ้นในรูปแบบของแคชข้อมูลเสมอ กลไกจัดการสูตรเตรียมแผนการสืบค้น จากนั้นส่งคำแนะนำไปยังกลไกจัดเก็บ เครื่องมือจัดเก็บข้อมูลจะส่งกลับไปที่เครื่องมือสูตรซึ่งส่งคืนผลลัพธ์กลับไปยังผู้ใช้
เนื่องจากกลไกจัดการสูตรไม่สามารถเข้าถึงข้อมูลที่จัดเก็บไว้ใน DirectQuery และ VertiPaq ได้โดยตรง จึงอาศัยกลไกการจัดเก็บข้อมูลสำหรับแคชข้อมูล
แคชข้อมูลที่ส่งโดยเครื่องมือจัดเก็บข้อมูลอยู่ในรูปแบบที่ไม่มีการบีบอัด ซึ่งหมายความว่าสามารถลดขนาดของข้อมูลที่จัดเก็บในเครื่องมือ Vertipaq ได้
แต่เมื่อถึงเวลาต้องคืนแคชข้อมูลกลับไปที่เครื่องมือสูตร จะไม่สามารถบีบอัดได้เนื่องจากเครื่องมือสูตรไม่ทำงานกับชุดข้อมูลที่บีบอัด
Data Cache มีผลกระทบต่อ RAM อย่างไร
หากเครื่องมือจัดเก็บข้อมูลกำลังส่งแคชข้อมูลจำนวนมาก สิ่งนี้จะใช้พื้นที่จำนวนมากใน RAM ของซอฟต์แวร์ นอกจากนี้ยังจะใช้เวลาจำนวนมากสำหรับเครื่องมือสูตรในการดำเนินการวนซ้ำและให้ผลลัพธ์
ดังนั้นเมื่อคุณเขียนโค้ด DAX คุณต้องเข้าใจว่าควรเขียนในลักษณะที่ย่อแถวในแคชข้อมูลให้เล็กที่สุด
สถานการณ์กรณีที่ดีที่สุดคือการจับคู่จำนวนแถวที่แสดงในวิชวลกับจำนวนแถวที่ส่งคืนในแคชข้อมูล
โดยส่วนใหญ่แล้ว การส่งคืนจำนวนแถวที่เท่ากันนั้นทำได้ยาก หากสิ่งนี้เกิดขึ้น คุณจะต้องตรวจทานรหัส DAX ของคุณและแยกย่อยด้วยวิธีที่ปรับแคชข้อมูลที่ผลิตโดยกลไกการจัดเก็บข้อมูลให้เหมาะสม
แคชข้อมูลเพิ่มประสิทธิภาพการค้นหาอย่างไร
ฟังก์ชั่นที่ไม่ได้เพิ่มประสิทธิภาพ
ฟังก์ชันบางอย่างในภาษา DAX ไม่ได้รับการปรับให้เหมาะสมสำหรับกลไกการจัดเก็บข้อมูล เพื่อให้เข้าใจได้ดีขึ้น เรามาดูตัวอย่างกัน
ตัวอย่างเช่น ในโค้ดของคุณ แทนที่จะใช้ SUMMARIZE คุณสามารถใช้ฟังก์ชันฟังก์ชัน SUMMARIZE และ GROUPBY ทำงานเหมือนกัน อย่างไรก็ตาม มีความแตกต่างที่โดดเด่นขึ้นอยู่กับสถานการณ์
ฟังก์ชัน GROUPBY ไม่ได้รับการปรับให้เหมาะสมสำหรับ Storage Engine หากคุณใช้ฟังก์ชัน GROUPBY ในตารางข้อเท็จจริงที่มี 12 ล้านแถว ระบบจะสร้างแคชข้อมูลที่มีจำนวนแถวเท่ากัน สามารถมีขนาดใหญ่ได้ถึง 600mb ถึง 1gb
ขนาดนี้สามารถกดดัน RAM ของคุณได้มาก ดังนั้นแทนที่จะใช้ GROUPBY ให้ใช้ฟังก์ชัน SUMMARIZE ส่งผลให้ขนาดแคชข้อมูลเล็กลง คุณสามารถจับคู่กับ GROUPBY เป็นฟังก์ชันระดับบนสุดได้
การทำซ้ำที่ลดลง
เมื่อคุณเขียนการวัดหรือแบบสอบถาม DAX ของคุณ คุณต้องแน่ใจว่าโค้ดที่สร้างขึ้นเบื้องหลังนั้นเหมาะสมกับกลไกการจัดเก็บข้อมูล
คุณต้องเขียนโค้ด DAX ในลักษณะที่สร้างแคชข้อมูลที่สามารถใช้ในการสืบค้นที่ตามมาได้ ข้อดีของการทำเช่นนี้คือ แทนที่จะทำการสแกนแยกต่างหากโดยใช้VertiPaqเครื่องมือจัดเก็บข้อมูลจะตรวจสอบว่าได้รับข้อความค้นหาที่คล้ายกันแล้วหรือไม่
หากเป็นจริง แสดงว่ามีแคชข้อมูลอยู่ในหน่วยความจำ ดังนั้น แทนที่จะสแกนข้อความค้นหาอีกครั้ง VertiPaq จะส่งกลับจากหน่วยความจำแคชไปยังกลไกจัดการสูตร
หากคุณเห็นโอเปอเรเตอร์ CALLBACKDATAIDในการสืบค้นเครื่องมือจัดเก็บข้อมูลของคุณ แสดงว่าไม่สามารถแคชข้อความค้นหาเหล่านั้นได้ หากในกรณีที่มีการส่งคำค้นหาที่คล้ายคลึงกันไปยังกลไกการจัดเก็บข้อมูล ระบบจะทำการวนซ้ำ
ดังนั้น VertiPaq จะต้องเรียกเครื่องมือสูตรเพื่อแก้ไขข้อความค้นหา ซึ่งจะเพิ่มเวลาการดำเนินการโดยรวมเนื่องจากไม่สามารถใช้หน่วยความจำแคชได้ในกรณีนี้
บทสรุป
แคชข้อมูลคือเพื่อนที่ดีที่สุดของคุณในภาษา DAX อย่าลืมเขียนโค้ด DAX ของคุณในลักษณะที่เพิ่มพื้นที่จัดเก็บและลดจำนวนการวนซ้ำของเครื่องมือ VertiPaq คุณสามารถใช้แคชข้อมูลที่สร้างโดย Storage Engine ซ้ำได้เพื่อลดเวลาการดำเนินการสืบค้น
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้