SSIS – Non-blocking, Semi-blocking and Fully-blocking components
|
|
OLTP
|
OLAP
|
1.transactional processing
|
1.query processing
|
2.time sensitive
|
2.history oriented
|
3. Operator & clerks view
|
3.Managers, CEOs, PM’s views
|
4. Organized by transaction
(Order, input, inventory) |
4.organized by subjects
(product, customer) |
5.relatively smaller DB
|
5.large DB size
|
6.volatile data
|
6.non-volatile
|
7.stores all data
|
7.stores relevant data
|
8. Not flexible
|
8.flexible
|
STAR Schema
|
Snowflake Schema
|
1 centrally located fact table surrounded by de normalize dimension table
|
1 Centraly located fact table surrounded by the normalized dimension table
|
2 All dimensions will be linked directly with fact table
|
2 All dim link wIth each other (or)
1-N relationship with other table |
3 It is easy to understand the design
|
3 It is difficult to understand
|
4 We can easily retrieve data parsing the query against the Fact and Dim table
|
4 It is difficult to retrieve the data while
|
5 Increase the query performance because it involve less joins
|
5 more joins
|
Members, Tuples, and Sets
Before proceeding on the creation of a Multidimensional Expressions (MDX) query, you should understand the definitions of members, tuples and sets, as well as the MDX syntax used to construct and refer to these elements.
MembersA member is an item in a dimension representing one or more occurrences of data. Think of a member in a dimension as one or more records in the underlying database whose value in this column falls under this category. A member is the lowest level of reference when describing cell data in a cube.For example, the following diagram is shaded to represent the Time.[2nd half].[3rd quarter] member.The bracket characters, [ and ], are used if the name of a member has a space or a number in it. Although the Time dimension is one word, bracket characters can also be used around it as well; the member shown in the previous diagram could also be represented as:
The right bracket (]) can be used as an escape character in MDX if the member name or member key contains a right bracket, as shown in the following example:
Member Names and Member KeysA member can be referenced by either its member name or by its member key. The previous example referenced the member by its member name, 4th quarter, in the Time dimension. However, the member name can be duplicated in the case of dimensions with nonunique member names, or it can be changed in the case of changing dimensions.An alternate method to reference members is by referencing the member key. The member key is used by the dimension to specifically identify a given member. The ampersand (&) character is used in MDX to differentiate a member key from a member name, as shown in the following example:
In this case, the member key of the 4th quarter member, Q4, is used. Referencing the member key ensures proper member identification in changing dimensions and in dimensions with nonunique member names.The ampersand character can be used to indicate a member key reference in any MDX expression. Calculated MembersMembers can also be created, as part of an MDX query, to return data based on evaluated expressions instead of stored data in a cube to be queried. These members are called calculated members, and they provide a great deal of the power and flexibility of MDX. The WITH keyword is used in an MDX query to define a calculated member. For example, if you want to provide a forecast estimate all of the packages by adding 10% of the existing value of the Packages measure, you can simply create a calculated member that provides the information and use it just like any other member in the cube, as demonstrated in the following example.
For more information, see Calculated Members.Member FunctionsMDX supplies a number of functions for retrieving members from other MDX entities, such as dimensions and levels, so that explicit references to a member are not always necessary. For example, the FirstChild function allows the retrieval of all the members from a given dimension or level; to get the first child member of the Time dimension, you can explicitly state it, as demonstrated in the following example:
You can also use the FirstChild function to return the same member, demonstrated in the next example.
For more information about MDX member functions, see MDX Function List.TuplesA tuple is used to define a slice of data from a cube; it is composed of an ordered collection of one member from one or more dimensions. A tuple is used to identify specific sections of multidimensional data from a cube; a tuple composed of one member from each dimension in a cube completely describes a cell value. Put another way, a tuple is a vector of members; think of a tuple as one or more records in the underlying database whose value in these columns falls under these categories. A series of diagrams presents different types of tuples.The shaded area of the cube represents the (Time.[2nd half]) tuple. Note that this tuple encompasses half of the cube, because it does not rule out any information in the Source or Route dimensions.The following diagram is shaded to represent the (Time.[2nd half], Route.nonground.air) tuple.This tuple represents the cells at the intersection of these members. In MDX, tuples are syntactically constructed depending upon their complexity. If a tuple is composed of only one member from a single dimension, often referred to as a simple tuple, the following syntax is acceptable.
If a tuple is composed of members from more than one dimension, the members represented by the tuple must be enclosed in parentheses, as demonstrated in the following example.
A tuple composed of a single member can also be enclosed in parentheses, but this is not required. Tuples are often grouped together in sets for use in MDX queries.Tuple FunctionsThere are a few MDX functions that return tuples, and they can be used anywhere that a tuple is accepted.For more information about tuple functions, see MDX Function List. Tuples and DimensionalityA tuple can encompass members in multiple dimensions, as well as multiple members from the same dimension. The term dimensionality is used to indicate the dimensions described by the members in a tuple. Order plays a factor in the dimensionality of a tuple, and can affect the use of a tuple within a set.SetsA set is an ordered collection of zero, one or more tuples. A set is most commonly used to define axis and slicer dimensions in an MDX query, and as such may have only a single tuple or may be, in certain cases, empty. The following example shows a set of two tuples:
A set can contain more than one occurrence of the same tuple. The following set is acceptable:
A set refers to either a set of member combinations, represented as tuples, or to the values in the cells that the tuples in the set represent, depending on the context of usage for the set.In MDX syntax, tuples are enclosed in braces to construct a set.
Important Sets composed of a single tuple are not tuples; they are interpreted as sets by MDX. Certain MDX functions accept tuples as parameters, and will raise an error if a single tuple set is passed. Tuples and single-tuple sets are not interchangeable.
Set FunctionsExplicitly typing tuples and enclosing them in braces is not the only way to retrieve a set. MDX supports a wide variety of functions that return sets.The colon operator allows you to use the natural order of members to create a set. For example, the following set:
retrieves the same set of members as the following set:
The colon operator is an inclusive function; the members on both sides of the colon operator are included in the resulting set.Other MDX functions that return sets can be used either by themselves or as part of a comma-delimited list of members. For example, all of the following MDX expressions are valid:
For more information about set functions, see MDX Function List.Sets and DimensionalityLike tuples, sets also have dimensionality. As a set is composed of tuples, so the dimensionality of a set is expressed by the dimensionality of each tuple within it. Because of this, tuples within a set must have the same dimensionality. In other words, this example would not work as a set:
The order of tuples in a set is important; it affects, for example, the nesting order in an axis dimension. The first tuple represents the first, or outermost, dimension, the second tuple represents the next outermost dimension, and so on.Named SetsA named set is a set for which an alias has been created. A named set is most commonly used in complex MDX queries to make these queries easier to read and to increase the ease of maintenance.For more information about named sets, see Building Named Sets in MDX. |