Presentation is loading. Please wait.

Presentation is loading. Please wait.

- for the SSASMD Developer

Similar presentations


Presentation on theme: "- for the SSASMD Developer"— Presentation transcript:

1 - for the SSASMD Developer
Pro Techniques - for the SSASMD Developer 03/12/2016 | SQL Saturday #569 - Prague 2016

2 Thanks to our sponsors! 03/12/2016 | SQL Saturday #569 - Prague 2016

3 Agenda Me Show of Hands! Partitions Synchronization
Integration Testing Custom Assemblies PowerShell Deployment – Pointers (if time permits)

4 ABOUT.ME/JENSVESTERGAARD
CatMan Solution A/S - BI @vestergaardj

5 Show of Hands SSASMD? Uppers n’ Downers Tabular (on-premises)?
Azure Analysis Services? Uppers n’ Downers Greatest struggles? Greatest wins!

6 PARTITIONING 03/12/2016 | SQL Saturday #569 - Prague 2016

7 Partitioning Symptoms? Processing Query Data Management

8 Partitioning - Processing
What to do? Read -> Process -> Write Processing Speed INT or DECIMAL, Yes! Floating Points, No! Increase the amount of memory available for Analysis Services during processing of partitions. Process fewer partitions in parallel. Define smaller partitions. Recommendation: a partition size containing between 5 and 20 million records. Design fewer aggregations for your partition. 03/12/2016 | SQL Saturday #569 - Prague 2016

9 Partitioning - Processing
ProcessFull; ProcessData; ProcessIndex; ProcessClearIndexes; ProcessAdd; ProcessClear; ProcessFull => ProcessClear, ProcessData, and ProcessIndex. Full: deletes existing partition data, indexes, and aggregations and fully reprocesses a partition. Data: deletes existing partition data, indexes, and aggregations and loads only data in a partition. Index: builds indexes and aggregations for a partition. ClearIndexes: deletes partition indexes and aggregations. Add: incrementally updates a partition by adding new data to it. Clear: deletes partition data, indexes, and aggregations.

10 Partitioning - Processing
Partition Processing Load Speed (Rows Read/Sec) 2008: 50K OK, 100K Optimized 2016: 100 OK, 150K Optimized OLE DB for SQL Server over Native Client Increase the network Packet Size from 4096 bytes  to 32 Kbyte (32767). JumboFrames – Network setting Enter the Bios Power options menu and see if you can disable settings like ‘Processor Power Idle state’.  In the Windows Control Panel, set the Server Power Plan to max. throughput

11 Partitioning - Query Improve IO Sub System Cube Size > 5 GB
Aggregation Design per Partition Sweet spot vs No of Partitions to Manage Test your partition schema

12 Partitioning – Manage Data
Storage Mode per Partition 03/12/2016 | SQL Saturday #569 - Prague 2016

13 DEMO 1 of 4 PARTITIONING

14 Partitioning – Wrap up Analysis Services Store Procedure (ASSP)
John Tunnicliffe PowerShell Manual 03/12/2016 | SQL Saturday #569 - Prague 2016

15 SYNCHRONIZATION 03/12/2016 | SQL Saturday #569 - Prague 2016

16 Synchronization Why? How? Restore Robocopy Cowboy development
Built-in feature

17 Synchronization What User must be a member of the Analysis Services server administrator role on the Target server. User must have Full Control permissions on the Source database. TCP port 2383 must be open on both servers to allow remote connections between default instances. Both the Source and Target server must be the same version. Edition needs to be either Enterprise, Developer, or Business Intelligence. Server mode must be identical on the two, either Tabular/Tabular or Multidimensional/Multidimensional. 03/12/2016 | SQL Saturday #569 - Prague 2016

18 DEMO 2 of 4 Synchronization

19 Integration TESTING 03/12/2016 | SQL Saturday #569 - Prague 2016

20 Integration Testing Benefits How?
Keep from seeing the same bug over and over again Make sure you don’t break anything else Check for performance degradation How? C#/VB.Net code in Visual Studio (Unit Test Project)

21 DEMO 3 of 4 Integration Testing

22 CUSTOM ASSEMBLIES 03/12/2016 | SQL Saturday #569 - Prague 2016

23 Custom Assemblies When? How? What? Noteable: Security High Cardinality
Text Search in several attributes Some NonEmpty scenarios (think T-SQL INNER JOIN) How? C#/VB.NET Assembly integrated with Analysis Services DebugView (SysInternals) What? Show me the Money! 1.2M Products and we already see a significant difference Noteable: Security

24 DEMO 4 of 4 Custom Assembly

25 Questions

26 RESOURCES Jens Vestergaard – Custom Assemblies:
Henk van der Valk – Processing Optimization: Jens Vestergaard – Cube Synchronization Microsoft – Unit Testing Jens Vestergaard – Integration Testing

27 We care about your opinion! Please don't forget to rate this session
We look forward to see you at the next event! #CZBISQLPASS 03/12/2016 | SQL Saturday #569 - Prague 2016


Download ppt "- for the SSASMD Developer"

Similar presentations


Ads by Google