SSAS - Best Practices and Performance Optimization - Part 1 of 4. Problem There are several aspects that can take a toll on performance for your Analysis Services cubes.
Some problems could be related to the source systems, some could be because of poor design of your cube and MDX queries and some could be related to network issues. In this tip series, I am going to talk about some of the best practices which you should consider during the design and development of your Analysis Services cube and some tips which you can follow to tune your existing environment if it is suffering from performance issues. Solution Before we start digging into the details of performance optimization, let's see how a typical Microsoft Business Intelligence (BI) application architecture would look.
ORM is an anti-pattern. I tweeted about ORM last week, and since then several people have asked me to clarify what I meant.
I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend to stop reading at the first sentence that makes them angry (and then leave a comment about it, whether or not their point is addressed later on).
What's an anti-pattern? I was pleased to discover that Wikipedia has a comprehensive list of anti-patterns, both from within the world of programming and outside of it. Open Data Protocol (OData) Exploits Database by Offensive Security. Immerse Yourself In SQL Server. Data transfer object. Data transfer object (DTO) is an object that carries data between processes.
The motivation for its use has to do with the fact that communication between processes is usually done resorting to remote interfaces (e.g. web services), where each call is an expensive operation. Because the majority of the cost of each call is related to the round-trip time between the client and the server, one way of reducing the number of calls is to use an object (the DTO) that aggregates the data that would have been transferred by the several calls, but that is served by one call only. See also AutoMapper.