28
SQL Server 2005 SQL Server 2005 Business Intelligence Business Intelligence Presenter: Presenter: Steve Schell Steve Schell

Sql Server 2005 Business Inteligence

Embed Size (px)

DESCRIPTION

An overview of Intregation Services, Analysis Services and Reporting Services in supporting Business Intelligence using Microsoft Sql Server 2005.

Citation preview

Page 1: Sql Server 2005 Business Inteligence

SQL Server 2005 SQL Server 2005 Business IntelligenceBusiness Intelligence

Presenter: Presenter: Steve SchellSteve Schell

Page 2: Sql Server 2005 Business Inteligence

OverviewOverview

Microsoft Business Intelligence Microsoft Business Intelligence ConceptsConcepts

General PhilosophyGeneral Philosophy

High Level Data PathHigh Level Data Path

Database and Cube ModelsDatabase and Cube Models

Page 3: Sql Server 2005 Business Inteligence

General PhilosophyGeneral Philosophy

Page 4: Sql Server 2005 Business Inteligence

General PhilosophyGeneral PhilosophyMicrosoft holds firm to the standard Microsoft holds firm to the standard change management model:change management model:

Dev / QA / PROD are mutually Dev / QA / PROD are mutually exclusiveexclusiveBI objects are developed by BI objects are developed by developers and maintained by developers and maintained by analysts.analysts.

Developers “play” in Dev onlyDevelopers “play” in Dev onlyAnalysts “play” in QA onlyAnalysts “play” in QA onlyUsers “play” in PROD onlyUsers “play” in PROD only

Page 5: Sql Server 2005 Business Inteligence

General PhilosophyGeneral PhilosophyMicrosoft also holds to a client-level Microsoft also holds to a client-level development approach.development approach.

Development is done on a local machine, Development is done on a local machine, NOT on the serverNOT on the serverThis allows developers to customize their This allows developers to customize their own version of the Dev environmentown version of the Dev environmentThough Microsoft also recommends Though Microsoft also recommends developing off of local versions of Cubes developing off of local versions of Cubes and Databases, we DO NOT follow this and Databases, we DO NOT follow this recommendation – we develop off the recommendation – we develop off the shared databases and Cubes on the shared databases and Cubes on the server.server.

Page 6: Sql Server 2005 Business Inteligence

General PhilosophyGeneral PhilosophyNeedless to say, Microsoft takes a Needless to say, Microsoft takes a “developer-centric” approach to “developer-centric” approach to Business Intelligence.Business Intelligence.

Ad-Hoc reporting by users is supported Ad-Hoc reporting by users is supported secondarily, though is best done through secondarily, though is best done through 33rdrd party applications party applications

Microsoft also intends development be Microsoft also intends development be done using its own toolset – Visual done using its own toolset – Visual Studio, SQL Server Management Studio Studio, SQL Server Management Studio and Excel.and Excel.

Page 7: Sql Server 2005 Business Inteligence

General PhilosophyGeneral PhilosophyMicrosoft Business Intelligence best Microsoft Business Intelligence best fits solutions that require a high level of fits solutions that require a high level of customization.customization.

The high level of customization justifies The high level of customization justifies the greater need for developer the greater need for developer involvement.involvement.

Microsoft Business Intelligence also Microsoft Business Intelligence also best fits solutions that require a greater best fits solutions that require a greater level of dynamic modularizationlevel of dynamic modularization

Parameters allow for polymorphic reuse of Parameters allow for polymorphic reuse of BI objects throughout the solution.BI objects throughout the solution.

Page 8: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data Path

Page 9: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data Path

Microsoft breaks its Business Microsoft breaks its Business Intelligence toolset into the following Intelligence toolset into the following functions:functions:

Extraction-Transformation-Load (ETL):Extraction-Transformation-Load (ETL):

SQL Server Integration Services (SSIS)SQL Server Integration Services (SSIS)

Data Aggregation and Analysis:Data Aggregation and Analysis:

SQL Server Analysis Services (SSAS)SQL Server Analysis Services (SSAS)

Reporting:Reporting:

SQL Server Reporting Services (SSRS)SQL Server Reporting Services (SSRS)

Page 10: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data PathExtraction-Transformation-Load (ETL):Extraction-Transformation-Load (ETL):

Extraction – the process of obtaining data from Extraction – the process of obtaining data from an existing data source and staging it for an existing data source and staging it for transformation.transformation.Transformation – the process of changing the Transformation – the process of changing the data into a form more useful for the destination data into a form more useful for the destination data sourcedata sourceLoad – the process of loading the data into a Load – the process of loading the data into a destination data source, such as a Data Mart, destination data source, such as a Data Mart, Data Warehouse or OLAP Cube.Data Warehouse or OLAP Cube.

SQL Server Integration Services provides all SQL Server Integration Services provides all levels of ETL.levels of ETL.

Page 11: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data Path

Extraction-Transformation-Load (ETL):Extraction-Transformation-Load (ETL):

Data Source

Stage Data

Transform Data

Data Destination

Customer Database

Customer Table:

Name Column:

“John Doe”

Temp Customer

Table:

Name Column:

“John Doe”

First Name

Column:“John”

Last Name

Column:“Doe”

Customer Names

Database

Customer Names Table:

First Name Column:“John”

Last Name Column:

“Doe”

Page 12: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data PathData Aggregation and Analysis:Data Aggregation and Analysis:

Aggregation – the process of pre-calculating data Aggregation – the process of pre-calculating data using anticipated mathematical formulas and using anticipated mathematical formulas and storing those pre-calculations for immediate storing those pre-calculations for immediate database retrieval.database retrieval.

Analysis – the process of employing data mining Analysis – the process of employing data mining algorithms to reveal hidden relationships algorithms to reveal hidden relationships between business entities and transactions.between business entities and transactions.

SQL Server Analysis Services (SSAS) SQL Server Analysis Services (SSAS) provides substantial Data Aggregation provides substantial Data Aggregation support via OLAP Cubes and a wide array of support via OLAP Cubes and a wide array of data mining algorithms for Data Analysis.data mining algorithms for Data Analysis.

Page 13: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data Path

DatabaseDatabase

Sales Amount

John 300

Jane 200

John 100

Jane 400

AggregationsAggregations

Sales Sum Average Minimum Maximum

Total 1000 250 100 400

John 400 200 100 300

Jane 600 300 200 400

Page 14: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data PathReporting:Reporting:

Presentation – reports must provide Presentation – reports must provide organized and attractive layouts for organized and attractive layouts for viewing data.viewing data.Availability – reports must be available on Availability – reports must be available on demand at a central location for users.demand at a central location for users.Security – controls must restrict access to Security – controls must restrict access to reporting data where appropriate.reporting data where appropriate.

SQL Server Reporting Services (SSRS) SQL Server Reporting Services (SSRS) provides development and administration for provides development and administration for all these needs.all these needs.

Page 15: Sql Server 2005 Business Inteligence

High Level Data PathHigh Level Data Path

ETL Aggregation___________

Analysis

Reporting

End User

SSIS

SSAS

SSRS

End User

Page 16: Sql Server 2005 Business Inteligence

Database and Database and Cube ModelsCube Models

Page 17: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Online Transaction Processing (OLTP) Online Transaction Processing (OLTP) DatabaseDatabase

An OLTP database is your normal “working” An OLTP database is your normal “working” database.database.Uses a relational database model, usually up Uses a relational database model, usually up to 3to 3rdrd normal form. normal form.It is built to support fast and flexible It is built to support fast and flexible transaction processing.transaction processing.Most tables are designed to hold status Most tables are designed to hold status information.information.Historical information is usually purged after Historical information is usually purged after 1 to 3 years.1 to 3 years.

Page 18: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Online Analytical Processing (OLAP) Online Analytical Processing (OLAP) DatabaseDatabase

An OLAP database is a secondary “reporting” An OLAP database is a secondary “reporting” database, built off of your OLTP database.database, built off of your OLTP database.These take the form of Data Marts and/or Data These take the form of Data Marts and/or Data Warehouses.Warehouses.Uses a star or snowflake schema model, Uses a star or snowflake schema model, which is heavily de-normalized.which is heavily de-normalized.It is built to support quick retrieval of It is built to support quick retrieval of historical data for reporting purposes.historical data for reporting purposes.Depending on its reporting uses, data may Depending on its reporting uses, data may never be purged.never be purged.

Page 19: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Star and Snowflake SchemasStar and Snowflake SchemasAt the core of a star and snowflake schema are At the core of a star and snowflake schema are FACT tablesFACT tablesFACT tables are basically “the spine of the FACT tables are basically “the spine of the database animal”.database animal”.FACT tables detail the historical events recorded FACT tables detail the historical events recorded in the database, which are referred to as in the database, which are referred to as measures.measures.An example of a measure would be a sales An example of a measure would be a sales amount, a productivity time span, or a referral amount, a productivity time span, or a referral status.status.FACT tables are linked by foreign keys to FACT tables are linked by foreign keys to description tables known as DIMENSION tables.description tables known as DIMENSION tables.

Page 20: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Star and Snowflake SchemasStar and Snowflake SchemasDIMENSION tables describe the entities related to DIMENSION tables describe the entities related to each event recorded in a FACT table.each event recorded in a FACT table.Because the star and snowflake schema is de-Because the star and snowflake schema is de-normalized, each row in a FACT table will have normalized, each row in a FACT table will have numerous foreign keys to DIMENSION tables.numerous foreign keys to DIMENSION tables.DIMENSION tables also use “surrogate” keys to DIMENSION tables also use “surrogate” keys to record historical changes to database entities.record historical changes to database entities.

For example, if “John Doe” changed his name For example, if “John Doe” changed his name to “Jack Doe” in the OLTP database, OLAP will to “Jack Doe” in the OLTP database, OLAP will have two entries for each name, each with its have two entries for each name, each with its own surrogate key.own surrogate key.

Snowflake schemas are star schemas with Snowflake schemas are star schemas with multiple layers of DIMENSION tablesmultiple layers of DIMENSION tables

Page 21: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Star Schema ExampleStar Schema Example

Page 22: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Snowflake Schema ExampleSnowflake Schema Example

Page 23: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Online Analytical Processing (OLAP) Online Analytical Processing (OLAP) CubeCube

An OLAP Cube is normally a tertiary An OLAP Cube is normally a tertiary “reporting” database.“reporting” database.It is basically an exploded view of your Data It is basically an exploded view of your Data Marts and/or Data Warehouses.Marts and/or Data Warehouses.It is exploded in that its main purpose is the It is exploded in that its main purpose is the storage and quick retrieval of pre-calculated storage and quick retrieval of pre-calculated data aggregates (sums, averages, etc.). data aggregates (sums, averages, etc.). It too follows a star or snowflake schema, but It too follows a star or snowflake schema, but is best used in organizing hierarchical is best used in organizing hierarchical dimensions found in snowflake schemas.dimensions found in snowflake schemas.

Page 24: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Online Analytical Processing (OLAP) Online Analytical Processing (OLAP) CubeCube

SSAS supports three forms of the OLAP Cube: SSAS supports three forms of the OLAP Cube: ROLAP, MOLAP and HOLAP.ROLAP, MOLAP and HOLAP.

ROLAP: A less aggregated version of ROLAP: A less aggregated version of OLAPOLAP

Has a slower data retrieval rate due to the Has a slower data retrieval rate due to the increased number of data calculations.increased number of data calculations.

Requires minimal storage capacity.Requires minimal storage capacity.Best used in models that are highly Best used in models that are highly dependant on relational data for reporting.dependant on relational data for reporting.Processed faster, and in some cases can be Processed faster, and in some cases can be setup with real-time updates.setup with real-time updates.

Page 25: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Online Analytical Processing (OLAP) Online Analytical Processing (OLAP) CubeCube

SSAS supports three forms of the OLAP Cube: SSAS supports three forms of the OLAP Cube: ROLAP, MOLAP and HOLAP.ROLAP, MOLAP and HOLAP.

MOLAP: A highly aggregated version of MOLAP: A highly aggregated version of OLAPOLAP

Has a faster data retrieval rate due to more Has a faster data retrieval rate due to more pre-calculated data.pre-calculated data.Requires substantial storage capacityRequires substantial storage capacityBest used in models that work well within Best used in models that work well within the star/snowflake schema.the star/snowflake schema.Processes slower, which is usually done Processes slower, which is usually done once daily.once daily.

Page 26: Sql Server 2005 Business Inteligence

Database and Cube ModelsDatabase and Cube Models

Online Analytical Processing (OLAP) Online Analytical Processing (OLAP) CubeCube

SSAS supports three forms of the OLAP Cube: SSAS supports three forms of the OLAP Cube: ROLAP, MOLAP and HOLAP.ROLAP, MOLAP and HOLAP.

HOLAP: A mid-level hybrid of ROLAP and HOLAP: A mid-level hybrid of ROLAP and MOLAPMOLAP

Takes the best of both worlds in retrieval Takes the best of both worlds in retrieval speed, storage capacity and processing speed, storage capacity and processing time.time.

Of the three forms, MOLAP is preferred for Of the three forms, MOLAP is preferred for reporting due to faster data retrieval time.reporting due to faster data retrieval time.

Page 27: Sql Server 2005 Business Inteligence

Questions?Questions?

Page 28: Sql Server 2005 Business Inteligence

Thank you!Thank you!