สร้างลูกบาศก์โหมดไฮบริดที่ออปติไมซ์

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

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

ออปติไมซ์เมตริคพื้นฐานในลูกบาศก์โหมดไฮบริด

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

ก่อนการใช้ยูทิลิตีนี้ คุณต้องสร้างเวิร์กบุคของแอปพลิเคชัน รวมถึงเอาต์ไลน์ การตั้งค่าคอนฟิเกอเรชัน สคริปต์การคำนวณ และการสืบค้นต่างๆ ที่คุณต้องการรวมไว้ในลูกบาศก์

เมื่อคุณรันยูทิลิตี ยูทิลิตีดังกล่าวจะสร้างลูกบาศก์ โหลดไฟล์ข้อมูลที่เลือก รันสคริปต์การคำนวณที่เลือก และรันการสืบค้นที่อยู่ในเวิร์กบุคของแอปพลิเคชัน คุณจำเป็นต้องมีตัวอย่างการสืบค้นจากผู้ใช้ของคุณ

ยูทิลิตีเกณฑ์พื้นฐานจะสร้างแผงข้อมูลของแอปพลิเคชันและกระบวนการในการดำเนินการต่างๆ ซึ่งช่วยให้คุณออกแบบและออปติไมซ์ลูกบาศก์ได้ เมื่อคุณใช้การเปลี่ยนแปลงและสร้างลูกบาศก์อีกครั้ง เกณฑ์พื้นฐานจะช่วยให้คุณเปรียบเทียบการวนซ้ำของการแก้ไขลูกบาศก์ได้ บนแท็บ Essbase.Stats.Baseline ของเวิร์กบุคของแอปพลิเคชัน ยูทิลิตีเกณฑ์พื้นฐานจะต่อท้ายตารางใหม่ด้วยข้อมูลล่าสุดสำหรับการวนซ้ำแต่ละครั้ง

เตรียมตัวรันยูทิลิตีออปติไมซ์เกณฑ์พื้นฐานลูกบาศก์ในลูกบาศก์โหมดไฮบริด

ดำเนินการกับงานเหล่านี้ให้เสร็จสมบูรณ์ก่อนรันยูทิลิตีเกณฑ์พื้นฐาน ดังนี้

  1. ออกแบบและสร้างเวิร์กบุคของแอปพลิเคชันของคุณ

    ในการสร้างเวิร์กบุคของแอปพลิเคชัน คุณสามารถดาวน์โหลดและแก้ไขเวิร์กบุคของแอปพลิเคชันตัวอย่างเพื่อให้ตรงตามความต้องการของคุณได้ โปรดดู สำรวจเทมเพลทแกลเลอรี่

  2. ล้างชีทการสืบค้นในเวิร์กบุคของแอปพลิเคชันเมตะดาต้าของ Smart View ดังนี้
    1. ไปที่ริบบิ้น Smart View
    2. เลือก ข้อมูลชีท แล้วคลิก ลบ

    หากชีทการสืบค้นมีเมตะดาต้าจากเซิร์ฟเวอร์ที่แตกต่างกัน เครื่องมือออกแบบลูกบาศก์จะแสดงคำเตือนและหยุดการประมวลผลชั่วคราว จนกว่าคุณจะตอบกลับ

  3. แก้ไขเวิร์กชีท Cube.Settings ด้วยการตั้งค่า คอนฟิเกอเรชันของแอปพลิเคชัน ต่อไปนี้
    การตั้งค่า ค่า
    ASODYNAMICAGGINBSO FULL
    HYBRIDBSOINCALCSCRIPT NONE
    INDEXCACHESIZE 100M
    DATACACHESIZE 100M
    ASODEFAULTCACHESIZE 100
    MAXFORMULACACHESIZE 102400
    INPLACEDATAWRITEMARGINPERCENT 20
    CALCCACHEDEFAULT 200000
    LONGQUERYTIMETHRESHOLD -1

รันยูทิลิตีออปติไมซ์เกณฑ์พื้นฐานลูกบาศก์ในลูกบาศก์โหมดไฮบริด

ยูทิลิตีเกณฑ์พื้นฐานจะระบุไดเมนชันที่หนาแน่นและแบบสปาร์ซ, ขนาดข้อมูล (ขนาดไฟล์ PAG และ IND), ขนาดบล็อค ตลอดจนขนาดแคชของข้อมูล, ดัชนี และเครื่องคำนวณ นอกจากนี้ ยังแสดงเมตริคสำหรับการโหลดข้อมูล การคำนวณ และการสืบค้น

ในการรันยูทิลิตีเกณฑ์พื้นฐาน ให้ทำดังนี้

  1. จากริบบิ้นเครื่องมือออกแบบลูกบาศก์ ให้เลือก งานด้านการดูแลระบบ > ออปติไมซ์ลูกบาศก์
  2. (เลือกระบุได้) คลิก ปรับแต่ง เพื่อเลือกการดำเนินการของเกณฑ์พื้นฐานที่จะรัน
    • สร้างลูกบาศก์ - สร้างลูกบาศก์ที่กำหนดไว้ในเวิร์กบุคของแอปพลิเคชัน และโหลดข้อมูลในชีทข้อมูล
    • รันสคริปต์การคำนวณ - รันสคริปต์การคำนวณที่กำหนดไว้ในชีทการคำนวณแต่ละรายการในเวิร์กบุคของแอปพลิเคชัน

      เวิร์กชีทการคำนวณจะรันตามลำดับที่ปรากฏในเวิร์กบุคของแอปพลิเคชัน การออปติไมซ์ลูกบาศก์จะไม่ประมวลผลคุณสมบัติ รันการคำนวณ ในชีทการคำนวณ

      ระบบรองรับเฉพาะสคริปต์การคำนวณที่สามารถรันจากงานกับคุณสมบัติออปติไมซ์ลูกบาศก์ คุณไม่สามารถรันสคริปต์การคำนวณที่ขึ้นอยู่กับคอนเท็กซ์แบบกริดของ Smart View (ตัวอย่างเช่น การคำนวณที่กำหนดโดยใช้ฟังก์ชัน @GRIDTUPLES หรือสคริปต์ที่ใช้ตัวแปรแทนแบบรันไทม์ที่กำหนดไว้ด้วยแท็ก <svLaunch>)

    • รันการสืบค้น - รันการสืบค้นในชีทการสืบค้น
    • เอ็กซ์ปอร์ตทั้งหมด - เอ็กซ์ปอร์ตข้อมูลทั้งหมดในลูกบาศก์ไปยังไดเรคทอรีลูกบาศก์ หลังจากที่บันทึกเวลาการเอ็กซ์ปอร์ตและขนาดไฟล์แล้ว ระบบจะลบไฟล์การเอ็กซ์ปอร์ตออกโดยอัตโนมัติ
  3. คลิก สร้างเกณฑ์พื้นฐาน

    หากคุณไม่มีชีทข้อมูลในเวิร์กบุคของแอปพลิเคชัน ระบบจะแสดงพรอมต์ให้คุณเลือกไฟล์ข้อมูลและไฟล์กฎจากแคตตาล็อก ขอแนะนำให้จัดเก็บไฟล์ข้อมูลและไฟล์กฎไว้ในไดเรคทอรีที่ใช้ร่วมกันในแคตตาล็อก เพื่อมิให้ไฟล์เหล่านั้นสูญหายไปเมื่อคุณสร้างลูกบาศก์อีกครั้ง

    การสร้างลูกบาศก์อาจใช้เวลานาน

    Essbase จะสร้างและเพิ่มชีท Essbase.Stats.Baseline ในเวิร์กบุค

  4. ดูชีท Essbase.Stats.Baseline ในเวิร์กบุคของแอปพลิเคชัน
    • ตารางแรกบนชีทแสดงขนาดของไฟล์การโหลดข้อมูล จำนวนเซลล์ของการโหลดข้อมูล ขนาดบล็อค และขนาดแคช
      รูปภาพตารางแรกในชีท Essbase.Stats.Baseline ที่แสดงเมตริคฐานข้อมูล

    • สีต่างๆ ในตารางเกณฑ์พื้นฐานจะระบุประเภทพื้นที่เก็บข้อมูลสำหรับไดเมนชันแต่ละรายการ ดังนี้
      • เขียว - ไดเมนชันที่หนาแน่น
      • แดง - ไดเมนชันแบบสปาร์ซที่มีสูตรแบบไดนามิคอย่างน้อยหนึ่งสูตร
      • น้ำเงิน - ไดเมนชันแบบสปาร์ซที่มีการสรุปรวมและไม่มีรายการระดับบนและสูตรแบบไดนามิคทั้งหมด
      • ทอง - ไดเมนชันแบบสปาร์ซอื่นๆ

      รูปภาพตารางที่สองในชีท Essbase.Stats.Baseline ที่แสดงไดเมนชันที่หนาแน่นและไดเมนชันแบบสปาร์ซ ยอดรวมสมาชิก และสมาชิกที่จัดเก็บไว้

    • ภายใต้ โหลดและคำนวณ แถว “สคริปต์:” แต่ละแถวจะระบุสคริปต์การคำนวณที่ใช้เวลาดำเนินการนานที่สุดจึงจะเสร็จสมบูรณ์และอาจจำเป็นต้องมีการออปติไมซ์
      รูปภาพตารางที่สามในชีท Essbase.Stats.Baseline ที่แสดงเวลาการโหลดและการคำนวณ บล็อค ขนาดไฟล์ข้อมูลและดัชนีที่สร้างขึ้น

    • ภายใต้ การสืบค้น, บล็อคที่อ่าน จะมีจำนวนข้อมูลที่ร้องขอโดยการสืบค้นปรากฏอยู่

      การเปลี่ยนไดเมนชันแบบไดนามิคเป็นไดเมนชันที่ใช้ร่วมกันจะช่วยลดจำนวนดังกล่าวได้

    • ภายใต้ การสืบค้น, สูตร จะมีจำนวนสูตรที่รันในการสืบค้นปรากฏอยู่

      ตรวจดูลำดับการแปลค่าของสมาชิกที่คำนวณและเปลี่ยนแปลงเพื่อลดจำนวนการรันสูตร และปรับปรุงประสิทธิภาพการทำงาน หรือลองจัดเก็บสมาชิกที่คำนวณโดยมีสูตรเพื่อลดจำนวนการรันสูตรและปรับปรุงประสิทธิภาพการทำงาน


      รูปภาพตารางที่สี่ในชีท Essbase.Stats.Baseline ที่แสดงเวลาการสืบค้น จำนวนบล็อคที่อ่าน และสูตรที่รัน

    • ตารางสุดท้ายบนชีทที่แสดงเวลาการเอ็กซ์ปอร์ตและขนาดไฟล์
      รูปภาพตารางที่ห้าในชีท Essbase.Stats.Baseline ที่แสดงเวลาการเอ็กซ์ปอร์ตและขนาดไฟล์

ออปติไมซ์ลำดับการแปลค่าในลูกบาศก์โหมดไฮบริด

ยูทิลิตีลำดับการแปลค่ามีคุณสมบัติช่วยให้คุณแสดงผลข้อมูลโฟลว์ลำดับการแปลค่าที่ใช้ในแอปพลิเคชัน ซึ่งสามารถช่วยในการวินิจฉัยประสิทธิภาพของการสืบค้นที่เกี่ยวข้องกับสูตรต่างๆ ได้

ในการรันยูทิลิตีออปติไมซ์ลำดับการแปลค่าลูกบาศก์ ให้ทำดังนี้

  1. จากริบบิ้นเครื่องมือออกแบบลูกบาศก์ ให้เลือก งานด้านการดูแลระบบ > ออปติไมซ์ลูกบาศก์
  2. คลิก ลำดับการแปลค่า
  3. ดูชีท Essbase.Stats.SolveOrder ของเวิร์กบุคของแอปพลิเคชัน

ใช้ข้อมูลในชีท Essbase.Stats.SolveOrder เพื่อปรับปรุงลำดับการแปลค่าให้ออปติไมซ์ประสิทธิภาพของการสืบค้น โปรดดู ออปติไมซ์ลูกบาศก์สำหรับโหมดไฮบริด และ ลำดับการแปลค่าในโหมดไฮบริด

ออปติไมซ์แคชเครื่องคำนวณในลูกบาศก์โหมดไฮบริด

ยูทิลิตีแคชเครื่องคำนวณจะแนะนำการตั้งค่าแคชเครื่องคำนวณที่เหมาะสมสำหรับลูกบาศก์

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

ค่าดีฟอลต์ของแคชเครื่องคำนวณคือ 200,000 ไบต์ ค่าสูงสุดคือ 20,000,000 ไบต์

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

ในการออปติไมซ์แคชเครื่องคำนวณโดยใช้ยูทิลิตีแคชเครื่องคำนวณ ให้ทำดังนี้
  1. ในการลดจำนวนข้อมูลที่ร้องขอโดยการสืบค้น ให้คำนวณและจัดเก็บไดเมนชันอย่างน้อยหนึ่งรายการโดยใช้สคริปต์การคำนวณ

    โดยปกติ ทางเลือกที่ดีที่สุดคือ ไดเมนชันที่มีขนาดใหญ่ที่สุด

  2. ย้ายไดเมนชันดังกล่าวให้เป็นไดเมนชันแบบสปาร์ซแรกสุดในเอาต์ไลน์

    อัลกอริทึมของแคชเครื่องคำนวณจะเลือกไดเมนชันแบบสปาร์ซที่จะวางไว้ในแคช โดยเริ่มต้นด้วยไดเมนชันแบบสปาร์ซแรกสุด

  3. สร้างลูกบาศก์โดยไม่โหลดข้อมูล

    ต้องสร้างลูกบาศก์เพื่อให้ยูทิลิตีแคชเครื่องคำนวณทำงาน

  4. รันยูทิลิตีแคชเครื่องคำนวณ

    ยูทิลิตีจะแสดงการตั้งค่าแคชที่ถูกต้องถัดจากไดเมนชันแต่ละรายการสูงสุด 20 MB เมื่อเกิน 20 MB ระบบจะแสดง N/A โดยทั่วไป ไม่จำเป็นต้องมีการตั้งค่าเกิน 2 MB

    1. จากริบบิ้นเครื่องมือออกแบบลูกบาศก์ ให้เลือก งานด้านการดูแลระบบ > ออปติไมซ์ลูกบาศก์
    2. คลิก แคชเครื่องคำนวณ
    3. ดูชีท Essbase.Stats.CalcCache ของเวิร์กบุคของแอปพลิเคชัน คุณสามารถดูการตั้งค่าแคชเครื่องคำนวณที่แนะนำได้ในเวิร์กชีท Essbase.Stats.CalcCache ในคอลัมน์ แคชเครื่องคำนวณ
      รูปภาพชีท Essbase.Stats.CalcCache ในเวิร์กบุคของแอปพลิเคชันประเภทการออปติไมซ์ลูกบาศก์

  5. ค้นหาการตั้งค่า แคชเครื่องคำนวณ ในชีท Essbase.Stats.CalcCache ที่อยู่ถัดจากไดเมนชันแบบสปาร์ซที่คุณคำนวณและจัดเก็บไว้แล้วในขั้นตอนที่ 1
  6. หากคุณคำนวณไดเมนชันหนึ่งรายการในขั้นตอนที่ 1 ให้ตั้งค่าดีฟอลต์ของแคชเครื่องคำนวณเป็นค่าดังกล่าว หากคุณคำนวณไดเมนชันมากกว่าหนึ่งรายการในขั้นตอนที่ 1 ให้เลือกค่า แคชเครื่องคำนวณ ที่สูงที่สุดจากค่าที่คุณได้คำนวณไว้

    เพิ่มค่านี้ในส่วนการตั้งค่าแอปพลิเคชันของเวิร์กชีท Cube.Settings หรือคุณสามารถตั้งค่าในการตั้งค่าคอนฟิเกอเรชันของแอปพลิเคชันในเว็บอินเตอร์เฟซ Essbase ขอแนะนำให้คุณปัดเศษขึ้น เพื่อเพิ่มพื้นที่ว่างมากขึ้นอีกเล็กน้อย

ออปติไมซ์การกระจายข้อมูลในลูกบาศก์โหมดไฮบริด

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

การทำความเข้าใจเกี่ยวกับข้อมูลช่วยให้คุณสามารถกำหนดสิ่งต่างๆ ต่อไปนี้
  • ไดเมนชันที่ต้องกำหนดให้เป็นแบบหนาแน่นและแบบสปาร์ซ

    ไดเมนชันที่แน่นหนาจะกำหนดบล็อคในแอปพลิเชันพื้นที่เก็บข้อมูลบล็อค ตามหลักการแล้ว บล็อคควรประกอบด้วยไดเมนชันที่มีข้อมูลมากที่สุด และแสดงเลย์เอาต์การสืบค้นที่มีประสิทธิภาพเหนือกว่าสำหรับแอปพลิเคชันนั้นๆ สำหรับแอปพลิเคชันการรายงานทางการเงิน ไดเมนชันเวลาและแอคเคาท์ควรเป็นไดเมนชันที่หนาแน่น เป็นต้น

  • ไดเมนชันที่ใช้ในการคำนวณและจัดเก็บโดยใช้สคริปต์การคำนวณ

    หนึ่งในปัจจัยที่ส่งผลกระทบต่อประสิทธิภาพของการสืบค้นคือ จำนวนบล็อคที่ร้องขอโดยการสืบค้น หากจำนวนบล็อคที่ขอมีมากเกินไป ก็จะส่งผลต่อประสิทธิภาพของการสืบค้น ในการลดจำนวนบล็อคที่ร้องขอลง ให้คำนวณหาสมาชิกระดับบนของไดเมนชันแบบสปาร์ซอย่างน้อยหนึ่งรายการไว้ล่วงหน้า โดยก่อนอื่น ให้ตั้งค่าแอททริบิวพื้นที่เก็บข้อมูลไดเมนชันของสมาชิกระดับบนเป็นแอททริบิวที่จัดเก็บ (จัดเก็บหรือไม่ใช้ร่วมกัน) แล้วจึงรันสคริปต์การคำนวณที่สรุปรวมไดเมนชันดังกล่าวโดยใช้ CALC DIM หรือ AGG

  • ไดเมนชันที่ต้องการใช้เป็นไดเมนชันงานในคำสั่ง FIXPARALLEL

    ในการออปติไมซ์สคริปต์การคำนวณที่ใช้ในการสรุปรวมไดเมนชันแบบสปาร์ซที่จัดเก็บ ให้ใช้คำสั่ง FIXPARALLEL โดยจำเป็นต้องเลือกไดเมนชันงานที่ถูกต้อง ซึ่งไดเมนชันงานจะเป็นตัวที่กำหนดวิธีการแบ่งการคำนวณออกเป็นเธรดต่างๆ และให้รันการคำนวณแบบขนาน ไดเมนชันแบบสปาร์ซอย่างน้อยหนึ่งรายการควรมีข้อมูลที่มากที่สุดเพื่อลดงานที่ว่างเปล่า และโดยหลักการแล้ว ควรมีการกระจายข้อมูลดังกล่าวออกให้เท่าๆ กัน

ในการรันยูทิลิตีการกระจายข้อมูล ให้ทำดังนี้
  1. จากริบบิ้นเครื่องมือออกแบบลูกบาศก์ ให้เลือก งานด้านการดูแลระบบ > ออปติไมซ์ลูกบาศก์
  2. เลือก การกระจายข้อมูล

    กระบวนการนี้อาจใช้เวลานานในการรัน โดยเฉพาะอย่างยิ่งกับโมเดลที่มีขนาดใหญ่ขึ้น

  3. ดูเวิร์กชีท Essbase.Stats.DataDist

รูปภาพแท็บ Essbase.Stats.DataDist ในเวิร์กบุ๊คการออปติไมซ์ลูกบาศก์ ซึ่งแสดงสถิติการกระจายข้อมูล


รูปภาพแท็บ Essbase.Stats.DataDist ในเวิร์กบุ๊คการออปติไมซ์ลูกบาศก์ ซึ่งแสดงบล็อคและเซลล์ต่อบล็อค