SlideShare a Scribd company logo
PRO TECHNIQUES
for the SSAS MD Developer
AGENDA
Show of Hands!
Custom Assemblies
UnitTesting
Synchronization
Processing Partitions
SHOW OF HANDS
 How many uses SSASMD?
 Uppers n’ Downers?
 Contact: jv@t-sql.dk
 Twitter: @vestergaardj
 Blog: http://www.t-sql.dk
CUSTOM ASSEMBLIES
 When?
 Text Search in several attributes
 Some NonEmpty scenarios (thinkT-SQL INNER JOIN)
 How?
 C#/VB.NETAssembly integrated with Analysis Services
 DebugView (SysInternals)
 What?
 Show me the Money!
 Noteable: Security
DEMO
Custom Assembly
UNITTESTING
 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 inVisual Studio (UnitTest Project)
DEMO
UnitTesting
SYNCHRONIZATION
 Why?
 Restore
 Robocopy
 Cowboy development
 How?
 Built-in feature
 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, eitherTabular/Tabular or
Multidimensional/Multidimensional.
DEMO
Synchronization
PROCESSING PARTITIONS - 1/3
 Why?
 Processing time
 What?
 Read -> Process ->Write
 BufferRecordLimit (default: 1024 x 1024)
 DISTINCT_COUNT (64K buffer, due to sorting)
 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.
 We recommend a partition size containing between 5 and 20 million records.
 Design fewer aggregations for your partition.
PROCESSING PARTITIONS – 2/3
 ProcessFull; deletes existing partition data, indexes, and aggregations and fully
reprocesses a partition.
 ProcessData; deletes existing partition data, indexes, and aggregations and loads
only data in a partition.
 ProcessIndex; builds indexes and aggregations for a partition.
 ProcessClearIndexes; deletes partition indexes and aggregations.
 ProcessAdd; incrementally updates a partition by adding new data to it.
 ProcessClear; deletes partition data, indexes, and aggregations.
 ProcessFull => ProcessClear, ProcessData, and ProcessIndex.
PROCESSING PARTITIONS – 3/3
 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
 Enter the Bios Power options menu and see if you can disable settings like
‘Processor Power Idle state’.
 In theWindows Control Panel, set the Server Power Plan to max. throughput
 Show me the Money!
DEMO
PARTITIONING
QUESTIONS
RESOURCES
 JensVestergaard – Custom Assemblies:
 http://t-sql.dk/?p=1383
 Henk van derValk – Processing Optimization:
 http://henkvandervalk.com/how-to-process-a-ssas-molap-cube-as-fast-as-possible-
part-1
 JensVestergaard – Cube Synchronization
 http://t-sql.dk/?p=1403
 Microsoft – UnitTesting
 https://blogs.msdn.microsoft.com/visualstudioalm/tag/unit-testing/

More Related Content

PPTX
SQL Server R Services: What Every SQL Professional Should Know
PPTX
Enhancements that will make your sql database roar sp1 edition sql bits 2017
PDF
Supercharging MySQL and MariaDB with Plug-ins (SCaLE 12x)
PDF
What's new in MongoDB 2.6 at India event by company
PPTX
Inside SQL Server In-Memory OLTP
PPTX
Experience sql server on l inux and docker
PPTX
SQL Server It Just Runs Faster
PPTX
SQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server R Services: What Every SQL Professional Should Know
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Supercharging MySQL and MariaDB with Plug-ins (SCaLE 12x)
What's new in MongoDB 2.6 at India event by company
Inside SQL Server In-Memory OLTP
Experience sql server on l inux and docker
SQL Server It Just Runs Faster
SQL Server In-Memory OLTP: What Every SQL Professional Should Know

What's hot (20)

PPTX
Ssis Best Practices Israel Bi U Ser Group Itay Braun
PPTX
Sql server 2016 it just runs faster sql bits 2017 edition
PDF
MySQL infra readiness-for-peak-sale-events - Kabilesh PR (Co-Founder of Mydbops)
PPTX
Scaling asp.net websites to millions of users
PDF
Evolution of MongoDB Replicaset and Its Best Practices
PPTX
Query Optimization in SQL Server
PPTX
SQL Query Optimization: Why Is It So Hard to Get Right?
PDF
Speed Up Your Existing Relational Databases with Hazelcast and Speedment
PPT
Desired state-configuration-ravikanth-august-2013-vtc india
PPT
Module Owb External Execution
PPTX
Brk3288 sql server v.next with support on linux, windows and containers was...
PDF
Lessons Learned While Scaling Elasticsearch at Vinted
PPTX
Inside sql server in memory oltp sql sat nyc 2017
PPTX
PostgreSQL Hangout Replication Features v9.4
PDF
Architecture of exadata database machine – Part II
PPTX
Streaming replication in PostgreSQL
PPTX
Columnstore Customer Stories 2016 by Sunil Agarwal
PPTX
Cassandra Summit 2015: Intro to DSE Search
ODP
Mysql For Developers
PDF
MySQL Rebuild using Logical Backups
Ssis Best Practices Israel Bi U Ser Group Itay Braun
Sql server 2016 it just runs faster sql bits 2017 edition
MySQL infra readiness-for-peak-sale-events - Kabilesh PR (Co-Founder of Mydbops)
Scaling asp.net websites to millions of users
Evolution of MongoDB Replicaset and Its Best Practices
Query Optimization in SQL Server
SQL Query Optimization: Why Is It So Hard to Get Right?
Speed Up Your Existing Relational Databases with Hazelcast and Speedment
Desired state-configuration-ravikanth-august-2013-vtc india
Module Owb External Execution
Brk3288 sql server v.next with support on linux, windows and containers was...
Lessons Learned While Scaling Elasticsearch at Vinted
Inside sql server in memory oltp sql sat nyc 2017
PostgreSQL Hangout Replication Features v9.4
Architecture of exadata database machine – Part II
Streaming replication in PostgreSQL
Columnstore Customer Stories 2016 by Sunil Agarwal
Cassandra Summit 2015: Intro to DSE Search
Mysql For Developers
MySQL Rebuild using Logical Backups
Ad

Similar to Pro Techniques for the SSAS MD Developer (20)

PPTX
Pro Techniques for the SSASMD Developer
PPT
Sql server performance tuning
PDF
Dynamics ax performance tuning
PDF
PPTX
Extreme SSAS - Part II
PPT
Optimizing Data Accessin Sq Lserver2005
PDF
Why & how to optimize sql server for performance from design to query
PPT
Performance Monitoring And Tuning In Sql Server 2008 Tsql
PDF
Performance tuning in sql server
PPT
AnalysisServices
PPTX
Managing SQLserver for the reluctant DBA
PDF
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
PPTX
Perfmon And Profiler 101
PPTX
JSSUG: SQL Sever Performance Tuning
PPT
Ssis optimization –better designs
PPTX
SQL Server Tips & Tricks
PPT
Sql server performance tuning and optimization
PDF
2.4 Optimizing your Visual COBOL Applications
PPT
Performance Tuning And Optimization Microsoft SQL Database
PPT
Managing SQLserver
Pro Techniques for the SSASMD Developer
Sql server performance tuning
Dynamics ax performance tuning
Extreme SSAS - Part II
Optimizing Data Accessin Sq Lserver2005
Why & how to optimize sql server for performance from design to query
Performance Monitoring And Tuning In Sql Server 2008 Tsql
Performance tuning in sql server
AnalysisServices
Managing SQLserver for the reluctant DBA
[DBA]_HiramFleitas_SQL_PASS_Summit_2017_Summary
Perfmon And Profiler 101
JSSUG: SQL Sever Performance Tuning
Ssis optimization –better designs
SQL Server Tips & Tricks
Sql server performance tuning and optimization
2.4 Optimizing your Visual COBOL Applications
Performance Tuning And Optimization Microsoft SQL Database
Managing SQLserver
Ad

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
project resource management chapter-09.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Mushroom cultivation and it's methods.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
A Presentation on Touch Screen Technology
PPTX
1. Introduction to Computer Programming.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Getting Started with Data Integration: FME Form 101
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Programs and apps: productivity, graphics, security and other tools
A novel scalable deep ensemble learning framework for big data classification...
1 - Historical Antecedents, Social Consideration.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Encapsulation_ Review paper, used for researhc scholars
A comparative analysis of optical character recognition models for extracting...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
MIND Revenue Release Quarter 2 2025 Press Release
project resource management chapter-09.pdf
Hindi spoken digit analysis for native and non-native speakers
DP Operators-handbook-extract for the Mautical Institute
Mushroom cultivation and it's methods.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A Presentation on Touch Screen Technology
1. Introduction to Computer Programming.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Getting Started with Data Integration: FME Form 101
cloud_computing_Infrastucture_as_cloud_p
Building Integrated photovoltaic BIPV_UPV.pdf

Pro Techniques for the SSAS MD Developer

  • 1. PRO TECHNIQUES for the SSAS MD Developer
  • 2. AGENDA Show of Hands! Custom Assemblies UnitTesting Synchronization Processing Partitions
  • 3. SHOW OF HANDS  How many uses SSASMD?  Uppers n’ Downers?  Contact: jv@t-sql.dk  Twitter: @vestergaardj  Blog: http://www.t-sql.dk
  • 4. CUSTOM ASSEMBLIES  When?  Text Search in several attributes  Some NonEmpty scenarios (thinkT-SQL INNER JOIN)  How?  C#/VB.NETAssembly integrated with Analysis Services  DebugView (SysInternals)  What?  Show me the Money!  Noteable: Security
  • 6. UNITTESTING  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 inVisual Studio (UnitTest Project)
  • 8. SYNCHRONIZATION  Why?  Restore  Robocopy  Cowboy development  How?  Built-in feature  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, eitherTabular/Tabular or Multidimensional/Multidimensional.
  • 10. PROCESSING PARTITIONS - 1/3  Why?  Processing time  What?  Read -> Process ->Write  BufferRecordLimit (default: 1024 x 1024)  DISTINCT_COUNT (64K buffer, due to sorting)  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.  We recommend a partition size containing between 5 and 20 million records.  Design fewer aggregations for your partition.
  • 11. PROCESSING PARTITIONS – 2/3  ProcessFull; deletes existing partition data, indexes, and aggregations and fully reprocesses a partition.  ProcessData; deletes existing partition data, indexes, and aggregations and loads only data in a partition.  ProcessIndex; builds indexes and aggregations for a partition.  ProcessClearIndexes; deletes partition indexes and aggregations.  ProcessAdd; incrementally updates a partition by adding new data to it.  ProcessClear; deletes partition data, indexes, and aggregations.  ProcessFull => ProcessClear, ProcessData, and ProcessIndex.
  • 12. PROCESSING PARTITIONS – 3/3  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  Enter the Bios Power options menu and see if you can disable settings like ‘Processor Power Idle state’.  In theWindows Control Panel, set the Server Power Plan to max. throughput  Show me the Money!
  • 15. RESOURCES  JensVestergaard – Custom Assemblies:  http://t-sql.dk/?p=1383  Henk van derValk – Processing Optimization:  http://henkvandervalk.com/how-to-process-a-ssas-molap-cube-as-fast-as-possible- part-1  JensVestergaard – Cube Synchronization  http://t-sql.dk/?p=1403  Microsoft – UnitTesting  https://blogs.msdn.microsoft.com/visualstudioalm/tag/unit-testing/