วิธีที่รุ่นเซมนาติคที่ใช้มากเกินไปบางทีขัดขวางความสามารถของ BI ของเรา ... และสิ่งที่เราได้เรียนรู้ The Monday Morning Spike วันจันทร์เช้า Spike มันเป็นตอนเช้าวันจันทร์ทั่วไปในร้านค้าปลีก มากกว่า 300 ร้านค้าทั่วสหรัฐอเมริกาเตรียมความพร้อมสําหรับสัปดาห์ที่จะมาพิมพ์รายงานการขายประจําวันและรายงานสินค้าจาก Power BI กลับที่สํานักงานใหญ่วันเริ่มต้นเหมือนวันอื่น ๆ - เสียงเงียบ ๆ ของจอภาพ, หีแรกของกาแฟ, กล่องจดหมายเติมเต็ม ข้อความแรกมาหลังจากนั้น “Hey, my report’s not loading - can you please check, I need it for a meeting?” ไม่กี่นาทีหลังจากนั้นอีกหนึ่ง “Hey, PowerBI is slow - can you please bump up the capacity ?” จากนั้นอีกสามคน หน้าต่าง Teams แสดงรูปแบบเชือก help-desk ซึ่งสามารถมองเห็นได้ภายในสิบนาที ฉันเข้าถึง dashboard เพื่อค้นหาปัญหาเล็ก ๆ ที่ฉันคาดว่าจะเห็น ช่วงทั้งหมดของกราฟแสดงค่าสีแดง Fabric capacity Utilization had spiked to 350 %, and I was completely taken aback. แดชบอร์ดได้กลายเป็นไม่ตอบสนองในขณะที่รายงานที่มีหน้าเว็บใช้เวลานานเกินไปในการโหลดและแพลตฟอร์ม BI ที่รองรับร้านค้า 300 มีปัญหาประสิทธิภาพที่สําคัญ The day had just started, and we were already in firefighting mode. Tracing the Problem ขั้นตอนแรกของเราคือการเปิด แผนภูมิการใช้งานแสดงให้เห็นการใช้งานที่สูงที่สุดเนื่องจากหน่วยการคํานวณพื้นที่ทํางานหนึ่งหน่วยได้ถึงความจุสูงสุด Fabric Capacity Metrics dashboard การขุดเจาะลึกขึ้นเราพบว่า one dataset consuming over 10× more compute than every other model combined. ซึ่งช่วยให้เราสามารถสร้างรายงานแบบพกพาและเป็นประจําต่างๆซึ่งนําเสนอข้อมูลประสิทธิภาพของร้านค้าทุกประเภทโดยละเอียด สร้างโดยเราซึ่งเป็นศูนย์ความเชี่ยวชาญด้าน BI สําหรับการรายงานองค์กร อย่างไรก็ตามเนื่องจากองค์กรของเราปฏิบัติตามรูปแบบการวิเคราะห์บริการตนเองทุกคนสามารถสร้างและแบ่งปันรายงานโดยใช้ชุดข้อมูลนี้ ความยืดหยุ่นนั้นมีประสิทธิภาพ แต่ยังทําให้การบริโภคประจําวันยากที่จะตรวจสอบและควบคุม This was a critical dataset 20 million-row semantic model The operations followed their typical pattern until that specific week. So what changed? เราเริ่มติดตามบันทึกกิจกรรมพร้อมกับหน้าต่างเวลาและการเชื่อมต่อรายงาน ระบบเปิดเผยรูปแบบที่แสดงให้เห็นว่า 300 ผู้ใช้ที่แตกต่างกันเข้าถึงรูปแบบเดียวกันผ่านรายงานด้านหน้าของร้านค้ารอบหน้าต่างเวลาเดียวกัน เพื่อยืนยันเราปิดการใช้งานรายงานเหล่านี้เป็นเวลาหนึ่งวัน ระบบทํางาน at its peak capacity since the beginning of its operation. We had our culprit. The Discovery: XMLA Read Operations การค้นพบ: XMLA อ่านการดําเนินงาน เมื่อเราตรวจสอบมุมมองการดําเนินงานรายละเอียดหนึ่งเมตริกโดดเด่น: XMLA Read Operations. That was puzzling. The native Power BI feature Paginated Reports operated as external connections. รายงานของ Microsoft ให้คําตอบ: XMLA Endpoint เปิดใช้งานการอ่าน / เขียนในชุดข้อมูล Power BI Premium ซึ่งช่วยให้เครื่องมือและ API ภายนอกสามารถเรียกใช้คําถามและควบคุมรูปแบบข้อมูล Microsoft’s own documentation gives the answer: XMLA Endpoint เปิดใช้งานการอ่าน / เขียนในชุดข้อมูล Power BI Premium ซึ่งช่วยให้เครื่องมือและ API ภายนอกสามารถเรียกใช้คําถามและควบคุมรูปแบบข้อมูล XMLA Endpoint ช่วยให้ Paginated Reports สามารถเข้าถึงโมเดลเซมเมนต์ได้เช่นเดียวกับ เครื่องมือชุดข้อมูลรับการทํางานแบบพารามิเตอร์ DAX โดยตรงจากการแสดงผลและส่งออกหน้าเว็บทั้งหมด Excel, DAX Studio or any external system ตามที่ SQLBI หมายเหตุ: รายงาน Paginated สร้างคําถามที่มีความคล้ายคลึงกันสูงเนื่องจากแต่ละหน้า rendered ดําเนินการชุดคําถาม DAX ของตัวเอง As SQLBI notes: รายงาน Paginated สร้างคําถามที่มีความคล้ายคลึงกันสูงเนื่องจากแต่ละหน้า rendered ดําเนินการชุดคําถาม DAX ของตัวเอง รายงานการพิมพ์ผู้ใช้ทุกร้านสร้างเซสชั่น XMLA หลายครั้ง - แต่ละเซสชันอ่านหนักเต็มรูปแบบ โซ พัฒนาไปสู่ระบบการคํานวณกระจาย standard Monday printing operation Evaluating the Fixes การประเมิน Fixes เราค้นพบสาเหตุพื้นฐานก่อนที่เราเริ่มทดสอบโซลูชั่นที่แตกต่างกันจนกว่าเราจะค้นพบวิธีการที่มีประสิทธิภาพ Option Description Outcome Keep Live to BigQuery Maintain DirectQuery to BigQuery to avoid imported semantic model. ❌ Too costly; XMLA reads still consume Fabric compute. Fabric-Ingested Tables Ingest data into Fabric and use a DirectQuery in the semantic model. ⚠️ Minor improvement but XMLA concurrency remained. SQL Endpoint with OLE DB Connect paginated reports directly to SQL endpoint. ⚠️ Technically possible but complex; lost relationships and added IT overhead. Lean Semantic Model (Chosen) Create a simplified model with only necessary granularity and metrics. ✅ Massive reduction in compute usage and stable performance. Keep Live ไปยัง BigQuery ปกป้อง DirectQuery ไปยัง BigQuery เพื่อหลีกเลี่ยงการนําเข้ารูปแบบเซมนาติก 🔸ราคาแพงเกินไป; XMLA อ่านยังคงใช้การคํานวณผ้า ตารางผ้า Ingested ใส่ข้อมูลลงใน Fabric และใช้ DirectQuery ในโมเดลเซมเมนต์ ⚠️ การปรับปรุงเล็กน้อย แต่การแข่งขันของ XMLA ยังคงอยู่ SQL Endpoint ด้วย OLE DB เชื่อมต่อรายงาน Paginated โดยตรงกับ SQL Endpoint ⚠️ทางเทคนิคเป็นไปได้ แต่ซับซ้อน; ความสัมพันธ์ที่หายไปและเพิ่ม IT overhead Lean Semantic Model (เลือก) สร้างรูปแบบที่เรียบง่ายด้วย granularity และเมตริกที่จําเป็นเท่านั้น ✅ลดการใช้คอมพิวเตอร์อย่างมากและประสิทธิภาพการทํางานที่มั่นคง The Fix That Worked แก้ไขที่ทํางาน ทีมงานได้พัฒนาโมเดลเซมนาติก lean ที่เฉพาะเจาะจงสําหรับรายงานที่พกพาซึ่งรวมถึง only required granularity and metrics. เมื่อเราใช้มันวันจันทร์ถัดไปบอกเรื่องราว Peak utilization fell from 350 % to under 80% ระบบผลิตรายงานที่ทําจากหน้าซึ่งทํางานได้โดยไม่มีปัญหาเมื่อผู้ใช้มากกว่า 100 คนเข้าถึงระบบ Interactive dashboards remained fast and stable. แดชบอร์ดเมตริกผ้าแสดงให้เห็นว่าการคํานวณ had been declining at a steady rate. รุ่น leaner ได้รับการควบคุมผ่านโครงสร้างการออกแบบที่เรียบง่าย Why XMLA Read Operations Matter ทําไม XMLA อ่านการดําเนินงานที่สําคัญ เหตุการณ์นี้แสดงให้เห็นว่ารายงานที่พกพาขึ้นอยู่กับกลไกการแคชที่แตกต่างจากรายงานแบบโต้ตอบและ XMLA อ่านการหลีกเลี่ยงการแคชทั้งหมดเพื่อสอบถามเครื่องมือชุดข้อมูลโดยตรง เครื่องมือใด ๆ ที่ใช้ XMLA เพื่อเชื่อมต่อกับ Excel, Paginated Reports หรือสคริปต์ที่กําหนดเองจะใช้หน่วยคํานวณแบบโต้ตอบ (CUs) จากความจุสําหรับคําถามแต่ละคําถาม ตามที่การวิจัย TDWI กล่าวว่า: เหตุผลหลักของการเพิ่มความจุมาจากรูปแบบการออกแบบที่ไม่ได้พิจารณาการดําเนินการคําถามพร้อมกันแทนที่จะมุ่งเน้นไปที่ปริมาณข้อมูล As TDWI research notes: เหตุผลหลักของการเพิ่มความจุมาจากรูปแบบการออกแบบที่ไม่ได้พิจารณาการดําเนินการคําถามพร้อมกันแทนที่จะมุ่งเน้นไปที่ปริมาณข้อมูล สถานการณ์พัฒนาขึ้นในลักษณะที่อธิบายไว้ ระบบประมวลผลคําขอหลายครั้งพร้อมกันซึ่งทําให้ปริมาณข้อมูลของเราไม่เปลี่ยนแปลง สําหรับทีมธุรกิจ BI ซึ่งหมายความว่าการวางแผนประสิทธิภาพเป็นเรื่องเกี่ยวกับพฤติกรรมการใช้งานเท่าที่เป็นเรื่องเกี่ยวกับขนาดรุ่น เพื่อหลีกเลี่ยงปัญหาที่คล้ายกัน โหลดการทํางานแบบแยกส่วน: ระบบต้องใช้สองรุ่นที่แตกต่างกันเพื่อทํางานสําหรับฟังก์ชั่นแบบโต้ตอบและฟังก์ชั่นแบบ Paginated ตรวจสอบการดําเนินงาน XMLA: Fabric ช่วยให้คุณสามารถระบุปัญหาประสิทธิภาพเมื่อปรากฏครั้งแรกผ่านการวัดระดับการดําเนินงาน การปรับขนาดความจุ: ระบบต้องดําเนินการซิงโครไนซ์ SKU ระหว่างต่ํากว่าและสูงกว่าในช่วงเวลาการดําเนินงานหนักที่กําหนดไว้ What We Learned สิ่งที่เราได้เรียนรู้ ประสิทธิภาพของ Paginated Reports จะลดลงเมื่อระบบทํางานภายใต้เงื่อนไขการทํางานที่หนัก Dashboards aren’t the main compute consumers. XMLA ดําเนินการทุกเซสชั่นผ่านระดับการเข้าถึงเดียว กระบวนการวิเคราะห์สําหรับนักวิเคราะห์หนึ่งและ 300 ร้านตามเส้นทางการคํานวณเดียวกัน ความเรียบง่ายเอาชนะความซับซ้อน: โมเดล lean ให้ผลลัพธ์ที่เหนือกว่าการทํางานหลายชั้นที่ซับซ้อน ความมองเห็นป้องกันความเสี่ยง: แอปเปิ้ล Fabric Metrics ให้มุมมองที่มีความสามารถในการวินิจฉัยที่แม่นยําแทนที่จะบังคับให้ตัดสินใจของพวกเขาขึ้นอยู่กับข้อกําหนดที่ไม่แน่นอน การจัดการเท่ากับประสิทธิภาพ: องค์กรต้องสร้างคําแนะนําเฉพาะซึ่งจะระบุเมื่อสมาชิกในทีมสามารถเข้าถึงรูปแบบที่ใช้ร่วมกันได้ บริการตนเองต้องมีการดูแล: ทีมได้รับอํานาจอย่างมีนัยสําคัญผ่านการสร้างอัตโนมัติการรายงาน แต่ต้องการระบบการตรวจสอบเพื่อติดตามกิจกรรมของพวกเขาและกฎการเป็นเจ้าของที่กําหนด การขาดความมองเห็นในระหว่างการเข้าถึงทรัพยากรฟรีนําไปสู่ความซับซ้อนของทรัพยากรที่ใช้ร่วมกันที่ซ่อนอยู่ การแคชไม่ได้เป็นสากล: พฤติกรรมการแคชของรายงานแบบโต้ตอบแตกต่างจากรายงานที่วางบนหน้าเพื่อให้องค์กรต้องเข้าใจกลไกการจัดการคําถามของพวกเขาเพื่อป้องกันไม่ให้เกิดการคํานวณที่ไม่คาดคิด การป้องกันมีราคาแพงกว่าการกู้คืน: การนําเสนอชุดข้อมูลใหม่ทุกครั้งรวมถึงการแบ่งภาระการทํางานและการตรวจสอบ XMLA เป็นคุณสมบัติมาตรฐาน การนําไปใช้มาตรการการจัดการป้องกันระหว่างขั้นตอนการออกแบบให้ผลประโยชน์มากกว่าการทํางานในการแก้ปัญหาฉุกเฉิน ภาพใหญ่ ปัญหาความน่าเชื่อถือมีผลต่อหลายรุ่นเนื่องจากจําเป็นต้องทํางานอย่างถูกต้องทั้งระบบการออกแบบสถาปัตยกรรมและระบบการจัดการ การดําเนินงานของ Retail BI ขึ้นอยู่กับรูปแบบเร่งปฏิกิริยาเพราะมันต้องการข้อมูลในเวลาจริงเพื่อตัดสินใจเกี่ยวกับการกําหนดราคาพนักงานการปฏิบัติตามและการขาย ระบบไม่ได้ทํางานอย่างถูกต้องเมื่อความสามารถในการประมวลผลถึงจุดสูงสุด MIT Sloan Management Review กล่าวว่า: ผู้จัดการการวิเคราะห์เอาชนะผู้อื่นไม่ได้โดยการผลิตรายงานมากขึ้น แต่โดยการควบคุมวิธีที่ข้อมูลถูกบริโภค As MIT Sloan Management Review writes: ผู้จัดการการวิเคราะห์เอาชนะผู้อื่นไม่ได้โดยการผลิตรายงานมากขึ้น แต่โดยการควบคุมวิธีที่ข้อมูลถูกบริโภค ระบบของเราได้รับการออกแบบใหม่เพื่อจัดการกับภาระและการเป็นเจ้าของซึ่งช่วยให้เราสามารถเปลี่ยนจากการป้องกันไฟฉุกเฉินไปสู่การจัดการตามแผน เพราะต้องการการสนับสนุนการตัดสินใจที่เชื่อถือได้ The main focus of BI goes beyond fast data delivery ปิดความคิด บทเรียนจากวันจันทร์นั้นกลายเป็นความจริงที่ถาวรที่เราได้เรียนรู้ สาเหตุที่เกิดขึ้นจริงของความล้มเหลวของความจุของระบบเกิดจากการเลือกการออกแบบที่ทําโดยไม่มีความรู้ที่เหมาะสมเกี่ยวกับการดําเนินงานของระบบ Dashboards visualize data. Paginated reports distribute it. But BI engineers govern how it all holds together. ปริมาณการคํานวณได้รับโซลูชั่น แต่ทีมงานของเราพบความสัมพันธ์ที่สําคัญระหว่าง Fabric, XMLA และระบบการจัดการที่สนับสนุนเสถียรภาพการวิเคราะห์องค์กร Next time, when 300 stores print again, we’ll be ready. เกี่ยวกับผู้เขียน Rupesh Ghosh ทํางานเป็นวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศวกรวิศว