DBA ต้องรู้อะไรเกี่ยวกับ SSAS


40

ฉันได้เห็นวัสดุจำนวนมากครอบคลุมด้านธุรกิจของ SSAS แต่ไม่มากเกี่ยวกับประเด็นสำคัญของการบริหารและการจัดการ

จากมุมมองของการดูแลอินสแตนซ์ของ SQL Server Analysis Services DBA ที่ทำงานต้องรู้อะไรเกี่ยวกับ SSAS เพื่อจัดการอย่างถูกต้องและมีประสิทธิภาพ

คำตอบ:


50

ภาพรวมอย่างรวดเร็วของ SSAS สำหรับ DBA

ดังนั้นคุณเป็น SQL Server DBA และคุณเพิ่งสืบทอดคิวบ์บางส่วนจากสีน้ำเงินเพื่อจัดการ หลักสูตรความผิดพลาดอย่างรวดเร็วเกี่ยวกับการบริหาร SSAS น่าจะเป็นไปตามลำดับ

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

สำรองไฟล์การกำหนดค่าของคุณ

ทุกชีวิต config msdmsrv.iniข้อมูลในไฟล์ที่เรียกว่า มันเป็นไฟล์ XML หากคุณคนจรจัดด้วยการกำหนดค่าผ่าน SSMS (เชื่อมต่อกับเซิร์ฟเวอร์คลิกขวาบนเซิร์ฟเวอร์เลือกคุณสมบัติ) คุณสามารถตั้งค่าตัวเลือกที่จะทำลายเซิร์ฟเวอร์เมื่อเริ่มต้นขึ้น คัดลอกmsmdsrv.iniก่อนที่คุณจะเล่นกับอะไร

พารามิเตอร์ที่สำคัญ

หน่วยความจำ: SSAS เป็นหมูหน่วยความจำในพระคัมภีร์ไบเบิล มันชอบ 64 บิตที่สร้างถ้าเป็นไปได้และหน่วยความจำมากมาย นโยบายการใช้งานหน่วยความจำของพารามิเตอร์'Memory \ LowMemoryLimit' และ 'Memory \ HighMemoryLimit' LowMemoryLimit ไม่ใช่การจัดสรรหน่วยความจำขั้นต่ำ เป็นเกณฑ์ที่ SSAS พิจารณาว่าระบบมีหน่วยความจำเหลือน้อยและเริ่มล้างข้อมูลออกจากแคช HighMemoryLimit เป็นจำนวนสูงสุดที่จะใช้

โปรดทราบว่า SSAS เก็บข้อมูลไว้ในไฟล์ (ไฟล์จำนวนมาก - มันไม่มีกลไกใดเทียบเท่ากับกลุ่มไฟล์) ดังนั้นจึงใช้ประโยชน์จากการแคชระบบไฟล์ O / S เป็นจำนวนมากสำหรับไฟล์เหล่านั้น โปรดทราบว่าค่าเริ่มต้นสำหรับขีด จำกัด เหล่านี้คือประมาณ 65% และ 80% ของหน่วยความจำของเครื่องตามลำดับดังนั้นหากคุณต้องการให้เซิร์ฟเวอร์ OLAP อยู่ร่วมกับอินสแตนซ์ของ SQL Server คุณจะต้องปิดการใช้งานเพื่อไม่ให้ต่อสู้กับหน่วยความจำ เซิร์ฟเวอร์ฐานข้อมูล

ไดเรกทอรี: ห้าพารามิเตอร์ที่น่าสนใจครอบคลุม: DataDir, AllowedBrowsingFolders, BackupDir, LogDir และ TempDir DataDir และ AllowedBrowsingFolders เป็นสิ่งสำคัญที่สุด

  • AllowedBrowsingFoldersส่งผลกระทบต่อรายการโฟลเดอร์ที่เซิร์ฟเวอร์ OLAP จะใส่ไฟล์ข้อมูลไว้สิ่งใดก็ตามที่มีส่วนต่อประสานผู้ใช้ (เช่นตัวช่วยสร้างการปรับใช้) จะ จำกัด ตัวเลือกของคุณไว้ในรายการใน AllowedBrowsingFolders ค่านี้เป็นรายการไดเรกทอรีที่คั่นด้วยไปป์ ('|')

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

  • LogDirเป็นที่ที่เซิร์ฟเวอร์วางไฟล์บันทึกต่าง ๆ รวมถึงเครื่องบันทึกการบินและบันทึกการสืบค้น บันทึกเครื่องบันทึกการบินใช้สำหรับการแก้ไขปัญหาและบันทึกการสืบค้น OLAP ใช้สำหรับการปรับให้เหมาะสมตามการใช้งาน (เพิ่มเติมในภายหลัง)

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

  • BackupDirคือสิ่งที่มันบอกบนกระป๋อง

เบ็ดเตล็ด: พารามิเตอร์เบ็ดเตล็ดเล็กน้อยอาจเป็นที่สนใจเช่นกัน สองชุดที่คุณอาจต้องปรับแต่งคือ:

  • DefaultMaxDrillthroughRows:นี่เป็นการ จำกัด ขนาดของชุดข้อมูลการเจาะลึกแถว คุณอาจต้องทำเช่นนี้เพื่อให้มากขึ้น

  • เธรด / หมดเวลา:คุณอาจต้องปรับเปลี่ยนสิ่งเหล่านี้ ฉันไม่เคยรำคาญ

นั่นคือพื้นฐาน คุณอาจต้องปรับแต่งคนอื่นด้วยเหตุผลเฉพาะ แต่คุณสามารถทำการบ้านได้

คู่มืออ้างอิงสำหรับคุณสมบัติเซิร์ฟเวอร์ SSAS สามารถดูได้ที่นี่

การดำเนินงาน

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

งานของผู้ดูแลระบบที่ตั้งโปรแกรมและแบทช์:คำสั่งถูกส่งไปยัง SSAS ผ่านเว็บเซอร์วิส API ที่เรียกว่า XML / A Microsoft จัดเตรียมเครื่องมือแบบโต้ตอบสำหรับการออกคำสั่ง MDX และ XML / A หากคุณมีการฝัง MDX ในคำสั่ง XML / A, ระวังจำเป็นที่จะต้องใช้ XML &หนีเช่น นี่ไม่ใช่ปัญหาของเครื่องมือแก้ไขและแบบสอบถาม MDX ใน SSMS

งานออฟไลน์สามารถทำได้ผ่านงานการประมวลผลคิวบ์ SSIS ต่างๆยูทิลิตี้บรรทัดคำสั่งที่เรียกว่าascmd.exeหรือ. Net API ชื่อ AMO นอกจากนี้คุณยังสามารถรับเครื่องมือเสริมความสามารถต่างๆได้เช่นกัน ascmd.exeนำไฟล์ XML / A และโพสต์ไปยังเซิร์ฟเวอร์ หากคุณต้อง frig ไฟล์โดยทางโปรแกรมคุณอาจทำงานได้ดีกว่าด้วยเครื่องมือ. net ขนาดเล็กแทนที่จะพยายามจัดการไฟล์ XML จากสคริปต์. cmd

คู่มือการดำเนินงานไปสู่การนี้ในรายละเอียดมากขึ้น

ความปลอดภัย

ความปลอดภัยบน SSAS นั้นค่อนข้างง่าย มีบทบาท 'เซิร์ฟเวอร์' ทั่วโลกที่มีสิทธิ์ระดับผู้ดูแลระบบทั้งระบบ น่าเสียดายที่คุณต้องมี 'เซิร์ฟเวอร์' เพื่อสร้างฐานข้อมูลดังนั้นจึงมีความเป็นไปได้ค่อนข้างมากที่คุณจะต้องให้สิทธิ์แก่นักพัฒนาในการพัฒนาเซิร์ฟเวอร์ OLAP ที่คุณมี

การรักษาความปลอดภัยอื่นสามารถใช้ได้กับคิวบ์คิวบ์แต่ละตัวเท่านั้น คุณสามารถให้สิทธิ์ในการอ่านประมวลผลการฝึกซ้อมการเขียนกลับและสิ่งที่คล้ายกันในแต่ละไอเท็มกับบทบาทภายในสคีมา บทบาทบน OLAP schemas สามารถกำหนดได้ภายใน BIDS และปรับใช้กับคิวบ์ กลุ่มโฆษณาหรือผู้ใช้สามารถกำหนดให้กับบทบาทเหล่านั้นผ่าน SSMS

ตัวอย่างของวิธีการจัดการความเป็นสมาชิกของบทบาททางโปรแกรมสามารถดูได้ที่นี่

การเพิ่มประสิทธิภาพตามการใช้งาน

ในฐานะ DBA คุณอาจมีส่วนร่วมในเรื่องนี้ได้เป็นอย่างดี แต่ก่อนอื่นคุณควรรู้พื้นฐานเกี่ยวกับการจัดเก็บข้อมูลจริง SSAS ทำงานโดยการคำนวณและสร้างมวลรวมที่สร้างไว้ล่วงหน้าพร้อมกับข้อมูลพื้นฐาน หากแบบสอบถามสามารถตอบสนองได้โดยการกดปุ่มการรวมเซิร์ฟเวอร์ OLAP จะใช้สิ่งนี้ในการตั้งค่าข้อมูลพื้นฐานเนื่องจากการรวมจะเกี่ยวข้องกับ I / O น้อยกว่ามากดังนั้นจึงเป็นการดึงข้อมูลได้เร็วขึ้น

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

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

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

คู่มือการปฏิบัติงานที่จะเข้าสู่การปรับแต่งในรายละเอียดเพิ่มเติม

MDX

MDXดูเหมือน SQL แต่ทำงานแตกต่างกันมาก บทความเกี่ยวกับ 'MDX สำหรับ SQL โปรแกรมเมอร์' เป็นหัวข้อทั้งหมดในสิทธิของตนเอง ฉันขอแนะนำให้อ่านบทเรียนบางอย่างเกี่ยวกับเรื่องนี้และ / หรือรับหนังสือเกี่ยวกับเรื่องนี้ นอกจากนี้ผู้คนที่เป็นมิตรที่ dba.se สามารถช่วยตอบคำถามหากคุณมีคำถาม

MDX ไม่มีแนวคิดใด ๆ ในการกรองแถว ภาษามีชุดการทำงานจำนวนมากเพื่อหาว่าจะแสดงผลอย่างไรในแกนต่าง ๆ ของเคียวรี1บวกกับ 'เลือก' คุณสามารถใช้withข้อความที่มีลักษณะคล้าย CTE เพื่อกำหนดมาตรการและชุด

ทรัพยากรการเขียนโปรแกรม MDX เบื้องต้นสามารถพบได้ที่นี่และที่นี่ (อันนี้ค่อนข้างเก่าและยืดยาวมาก) นอกจากนี้ยังมีหนังสือดี ๆ เกี่ยวกับเรื่องนี้; คำถาม SO นี้มีการเผยแพร่ไปยังทรัพยากร SSAS ค่อนข้างน้อย

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


5
ข้อมูลที่ยอดเยี่ยม .. โดยเฉพาะคำแนะนำ "คุณสามารถตั้งค่าตัวเลือกที่จะทำให้เซิร์ฟเวอร์แตกเมื่อเริ่มต้นระบบ"
SqlACID

นั่นเป็นคำตอบที่ยอดเยี่ยม! ขอบคุณคน!
Marian

6

คุณอาจได้รับบางส่วนของคำตอบเกี่ยวกับการบริหาร SSAS จากนี้กระดาษสีขาวยาวSQL Server 2008 R2 Analysis Services คู่มือการดำเนินงาน นี่คือวิธีที่การแนะนำเริ่มต้น:

ในคู่มือนี้คุณจะพบข้อมูลเกี่ยวกับวิธีทดสอบและเรียกใช้ Microsoft SQL Server Analysis Services ใน SQL Server 2005, SQL Server 2008 และ SQL Server 2008 R2 ในสภาพแวดล้อมการผลิต จุดเน้นของคู่มือนี้คือวิธีที่คุณสามารถทดสอบตรวจสอบวินิจฉัยและลบปัญหาการผลิตในก้อนที่ใหญ่ที่สุดได้ บทความนี้ยังให้คำแนะนำเกี่ยวกับวิธีการกำหนดค่าเซิร์ฟเวอร์เพื่อประสิทธิภาพที่ดีที่สุด

เห็นได้ชัดว่ามีการกำหนดเป้าหมายเป็น DBA / ผู้ดูแลระบบ หากคุณพัฒนาแอพพลิเคชั่นโดยใช้ SSAS คุณสามารถดูเอกสารคู่มือประสิทธิภาพของ Analysis Services 2008


ขอบคุณ DaniSQL ฉันได้พบบทความนี้แล้วและฉันก็อาจจะเปล่งเสียงดังกล่าวได้ถามคำถามนี้ (ขออภัย!) แต่ฉันกำลังมองหาการแนะนำที่นุ่มนวลมากขึ้นเกี่ยวกับเรื่องนี้และความคิดเห็นที่สร้างจากประสบการณ์ของเพื่อน DBA ของเราที่นี่
ivanmp

2
ฉันไม่สามารถพูดจากประสบการณ์ได้เนื่องจากฉันไม่ได้ทำงานกับ SSAS โดยตรง :-( ฉันแค่พยายามทำให้ตัวเองคุ้นเคยโดยการอ่านบางส่วนของเอกสารทางเทคนิคที่ฉันได้กล่าวถึงข้างต้นและฉันยังได้ฝึกอบรมสองวันจาก Pragmatic อีกด้วย ย้อนกลับและอ่านหนังสือamzn.to/za1ypP ที่เขียนโดยผู้ฝึกสอนนอกจากนี้ยังมีการแนะนำเบื้องต้นขั้นพื้นฐานที่สามารถพบได้ในบทที่ 17 ของหนังสือเล่มนี้ - เริ่มต้นการบริหารMicrosoft® SQL Server® 2008 ( amzn.to/xnKAWw )
DaniSQL
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.