pro techniques for the ssasmd developer
TRANSCRIPT
Pro Techniques
- for the SSASMD Developer
03/12/2016 | SQL Saturday #569 - Prague 2016
SQL Saturday #569 - Prague 2016
Thanks to our sponsors!
2 | 03/12/2016 |
Agenda
Me Show of Hands! Partitions Synchronization Integration Testing Custom Assemblies PowerShell Deployment – Pointers (if time
permits)
ABOUT.ME/JENSVESTERGAARD
Jens Vestergaard CatMan Solution A/S - BI @vestergaardj http://www.t-sql.dk [email protected]
Show of Hands
SSASMD? Tabular (on-premises)? Azure Analysis Services?
Uppers n’ Downers Greatest struggles? Greatest wins!
SQL Saturday #569 - Prague 2016
PARTITIONING
6 | 03/12/2016 |
Partitioning
Symptoms? Processing Query Data Management
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 |
Partitioning - Processing
ProcessFull; ProcessData; ProcessIndex; ProcessClearIndexes; ProcessAdd; ProcessClear;
ProcessFull =>
ProcessClear, ProcessData, and ProcessIndex.
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
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
SQL Saturday #569 - Prague 2016
Partitioning – Manage Data
Storage Mode per Partition
03/12/2016 |12 |
DEMO 1 of 4
PARTITIONING
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 |
SQL Saturday #569 - Prague 2016
SYNCHRONIZATION
15 | 03/12/2016 |
Synchronization
Why? Restore Robocopy Cowboy development
How? Built-in feature
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 |
DEMO 2 of 4
Synchronization
SQL Saturday #569 - Prague 2016
INTEGRATION TESTING
19 | 03/12/2016 |
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)
DEMO 3 of 4
Integration Testing
SQL Saturday #569 - Prague 2016
CUSTOM ASSEMBLIES
22 | 03/12/2016 |
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
DEMO 4 of 4
Custom Assembly
Questions
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
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