pro techniques for the ssasmd developer
TRANSCRIPT
![Page 1: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/1.jpg)
Pro Techniques
- for the SSASMD Developer
03/12/2016 | SQL Saturday #569 - Prague 2016
![Page 2: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/2.jpg)
SQL Saturday #569 - Prague 2016
Thanks to our sponsors!
2 | 03/12/2016 |
![Page 3: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/3.jpg)
Agenda
Me Show of Hands! Partitions Synchronization Integration Testing Custom Assemblies PowerShell Deployment – Pointers (if time
permits)
![Page 4: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/4.jpg)
ABOUT.ME/JENSVESTERGAARD
Jens Vestergaard CatMan Solution A/S - BI @vestergaardj http://www.t-sql.dk [email protected]
![Page 5: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/5.jpg)
Show of Hands
SSASMD? Tabular (on-premises)? Azure Analysis Services?
Uppers n’ Downers Greatest struggles? Greatest wins!
![Page 6: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/6.jpg)
SQL Saturday #569 - Prague 2016
PARTITIONING
6 | 03/12/2016 |
![Page 7: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/7.jpg)
Partitioning
Symptoms? Processing Query Data Management
![Page 8: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/8.jpg)
SQL Saturday #569 - Prague 2016
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 |8 |
![Page 9: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/9.jpg)
Partitioning - Processing
ProcessFull; ProcessData; ProcessIndex; ProcessClearIndexes; ProcessAdd; ProcessClear;
ProcessFull =>
ProcessClear, ProcessData, and ProcessIndex.
![Page 10: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/10.jpg)
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
![Page 11: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/11.jpg)
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
![Page 12: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/12.jpg)
SQL Saturday #569 - Prague 2016
Partitioning – Manage Data
Storage Mode per Partition
03/12/2016 |12 |
![Page 13: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/13.jpg)
DEMO 1 of 4
PARTITIONING
![Page 14: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/14.jpg)
SQL Saturday #569 - Prague 2016
Partitioning – Wrap up
Analysis Services Store Procedure (ASSP) http://asstoredprocedures.codeplex.com/
John Tunnicliffe https://ssaspartitionmanager.codeplex.com/
PowerShell Manual
03/12/2016 |14 |
![Page 15: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/15.jpg)
SQL Saturday #569 - Prague 2016
SYNCHRONIZATION
15 | 03/12/2016 |
![Page 16: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/16.jpg)
Synchronization
Why? Restore Robocopy Cowboy development
How? Built-in feature
![Page 17: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/17.jpg)
SQL Saturday #569 - Prague 2016
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 |17 |
![Page 18: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/18.jpg)
DEMO 2 of 4
Synchronization
![Page 19: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/19.jpg)
SQL Saturday #569 - Prague 2016
INTEGRATION TESTING
19 | 03/12/2016 |
![Page 20: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/20.jpg)
Integration Testing
Benefits 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)
![Page 21: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/21.jpg)
DEMO 3 of 4
Integration Testing
![Page 22: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/22.jpg)
SQL Saturday #569 - Prague 2016
CUSTOM ASSEMBLIES
22 | 03/12/2016 |
![Page 23: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/23.jpg)
Custom Assemblies
When? 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)
https://technet.microsoft.com/en-us/sysinternals/debugview.aspx
What? Show me the Money! 1.2M Products and we already see a significant difference
Noteable: Security
![Page 24: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/24.jpg)
DEMO 4 of 4
Custom Assembly
![Page 25: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/25.jpg)
Questions
![Page 26: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/26.jpg)
RESOURCES
Jens Vestergaard – Custom Assemblies: http://t-sql.dk/?p=1383
Henk van der Valk – Processing Optimization: http://henkvandervalk.com/how-to-process-a-ssas-molap-cu
be-as-fast-as-possible-part-1
Jens Vestergaard – Cube Synchronization http://t-sql.dk/?p=1403
Microsoft – Unit Testing https://blogs.msdn.microsoft.com/visualstudioalm/tag/unit-te
sting/ Jens Vestergaard – Integration Testing
http://t-sql.dk/?p=1567
![Page 27: Pro Techniques for the SSASMD Developer](https://reader036.vdocuments.site/reader036/viewer/2022081604/589994391a28ab30328b62d5/html5/thumbnails/27.jpg)
SQL Saturday #569 - Prague 201603/12/2016 |27 |
http://bit.ly/2fXGJNQ
We look forward to see you at the next event!http://czechpass.org #CZBISQLPASS
We care about your opinion!Please don't forget to rate this session