Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sql Server 2005 Business Inteligence


Published on

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

  • Be the first to comment

Sql Server 2005 Business Inteligence

  1. 1. SQL Server 2005 Business Intelligence Presenter: Steve Schell
  2. 2. Overview <ul><li>Microsoft Business Intelligence Concepts </li></ul><ul><ul><li>General Philosophy </li></ul></ul><ul><ul><li>High Level Data Path </li></ul></ul><ul><ul><li>Database and Cube Models </li></ul></ul>
  3. 3. General Philosophy
  4. 4. General Philosophy <ul><li>Microsoft holds firm to the standard change management model: </li></ul><ul><ul><li>Dev / QA / PROD are mutually exclusive </li></ul></ul><ul><ul><li>BI objects are developed by developers and maintained by analysts. </li></ul></ul><ul><ul><ul><li>Developers “play” in Dev only </li></ul></ul></ul><ul><ul><ul><li>Analysts “play” in QA only </li></ul></ul></ul><ul><ul><ul><li>Users “play” in PROD only </li></ul></ul></ul>
  5. 5. General Philosophy <ul><li>Microsoft also holds to a client-level development approach. </li></ul><ul><ul><li>Development is done on a local machine, NOT on the server </li></ul></ul><ul><ul><li>This allows developers to customize their own version of the Dev environment </li></ul></ul><ul><ul><li>Though Microsoft also recommends developing off of local versions of Cubes and Databases, we DO NOT follow this recommendation – we develop off the shared databases and Cubes on the server. </li></ul></ul>
  6. 6. General Philosophy <ul><li>Needless to say, Microsoft takes a “developer-centric” approach to Business Intelligence. </li></ul><ul><ul><li>Ad-Hoc reporting by users is supported secondarily, though is best done through 3 rd party applications </li></ul></ul><ul><li>Microsoft also intends development be done using its own toolset – Visual Studio, SQL Server Management Studio and Excel. </li></ul>
  7. 7. General Philosophy <ul><li>Microsoft Business Intelligence best fits solutions that require a high level of customization. </li></ul><ul><ul><li>The high level of customization justifies the greater need for developer involvement. </li></ul></ul><ul><li>Microsoft Business Intelligence also best fits solutions that require a greater level of dynamic modularization </li></ul><ul><ul><li>Parameters allow for polymorphic reuse of BI objects throughout the solution. </li></ul></ul>
  8. 8. High Level Data Path
  9. 9. High Level Data Path <ul><li>Microsoft breaks its Business Intelligence toolset into the following functions: </li></ul><ul><ul><li>Extraction-Transformation-Load (ETL): </li></ul></ul><ul><ul><ul><li>SQL Server Integration Services (SSIS) </li></ul></ul></ul><ul><ul><li>Data Aggregation and Analysis: </li></ul></ul><ul><ul><ul><li>SQL Server Analysis Services (SSAS) </li></ul></ul></ul><ul><ul><li>Reporting: </li></ul></ul><ul><ul><ul><li>SQL Server Reporting Services (SSRS) </li></ul></ul></ul>
  10. 10. High Level Data Path <ul><li>Extraction-Transformation-Load (ETL): </li></ul><ul><ul><li>Extraction – the process of obtaining data from an existing data source and staging it for transformation. </li></ul></ul><ul><ul><li>Transformation – the process of changing the data into a form more useful for the destination data source </li></ul></ul><ul><ul><li>Load – the process of loading the data into a destination data source, such as a Data Mart, Data Warehouse or OLAP Cube. </li></ul></ul><ul><li>SQL Server Integration Services provides all levels of ETL. </li></ul>
  11. 11. High Level Data Path <ul><li>Extraction-Transformation-Load (ETL): </li></ul>
  12. 12. High Level Data Path <ul><li>Data Aggregation and Analysis: </li></ul><ul><ul><li>Aggregation – the process of pre-calculating data using anticipated mathematical formulas and storing those pre-calculations for immediate database retrieval. </li></ul></ul><ul><ul><li>Analysis – the process of employing data mining algorithms to reveal hidden relationships between business entities and transactions. </li></ul></ul><ul><li>SQL Server Analysis Services (SSAS) provides substantial Data Aggregation support via OLAP Cubes and a wide array of data mining algorithms for Data Analysis. </li></ul>
  13. 13. High Level Data Path <ul><li>Database </li></ul>Aggregations 400 Jane 100 John 200 Jane 300 John Amount Sales 400 200 300 600 Jane 300 100 200 400 John 400 100 250 1000 Total Maximum Minimum Average Sum Sales
  14. 14. High Level Data Path <ul><li>Reporting: </li></ul><ul><ul><li>Presentation – reports must provide organized and attractive layouts for viewing data. </li></ul></ul><ul><ul><li>Availability – reports must be available on demand at a central location for users. </li></ul></ul><ul><ul><li>Security – controls must restrict access to reporting data where appropriate. </li></ul></ul><ul><li>SQL Server Reporting Services (SSRS) provides development and administration for all these needs. </li></ul>
  15. 15. High Level Data Path
  16. 16. Database and Cube Models
  17. 17. Database and Cube Models <ul><li>Online Transaction Processing (OLTP) Database </li></ul><ul><ul><li>An OLTP database is your normal “working” database. </li></ul></ul><ul><ul><li>Uses a relational database model, usually up to 3 rd normal form. </li></ul></ul><ul><ul><li>It is built to support fast and flexible transaction processing. </li></ul></ul><ul><ul><li>Most tables are designed to hold status information. </li></ul></ul><ul><ul><li>Historical information is usually purged after 1 to 3 years. </li></ul></ul>
  18. 18. Database and Cube Models <ul><li>Online Analytical Processing (OLAP) Database </li></ul><ul><ul><li>An OLAP database is a secondary “reporting” database, built off of your OLTP database. </li></ul></ul><ul><ul><li>These take the form of Data Marts and/or Data Warehouses. </li></ul></ul><ul><ul><li>Uses a star or snowflake schema model, which is heavily de-normalized. </li></ul></ul><ul><ul><li>It is built to support quick retrieval of historical data for reporting purposes. </li></ul></ul><ul><ul><li>Depending on its reporting uses, data may never be purged. </li></ul></ul>
  19. 19. Database and Cube Models <ul><li>Star and Snowflake Schemas </li></ul><ul><ul><li>At the core of a star and snowflake schema are FACT tables </li></ul></ul><ul><ul><li>FACT tables are basically “the spine of the database animal”. </li></ul></ul><ul><ul><li>FACT tables detail the historical events recorded in the database, which are referred to as measures. </li></ul></ul><ul><ul><li>An example of a measure would be a sales amount, a productivity time span, or a referral status. </li></ul></ul><ul><ul><li>FACT tables are linked by foreign keys to description tables known as DIMENSION tables. </li></ul></ul>
  20. 20. Database and Cube Models <ul><li>Star and Snowflake Schemas </li></ul><ul><ul><li>DIMENSION tables describe the entities related to each event recorded in a FACT table. </li></ul></ul><ul><ul><li>Because the star and snowflake schema is de-normalized, each row in a FACT table will have numerous foreign keys to DIMENSION tables. </li></ul></ul><ul><ul><li>DIMENSION tables also use “surrogate” keys to record historical changes to database entities. </li></ul></ul><ul><ul><ul><li>For example, if “John Doe” changed his name to “Jack Doe” in the OLTP database, OLAP will have two entries for each name, each with its own surrogate key. </li></ul></ul></ul><ul><ul><li>Snowflake schemas are star schemas with multiple layers of DIMENSION tables </li></ul></ul>
  21. 21. Database and Cube Models <ul><li>Star Schema Example </li></ul>
  22. 22. Database and Cube Models <ul><li>Snowflake Schema Example </li></ul>
  23. 23. Database and Cube Models <ul><li>Online Analytical Processing (OLAP) Cube </li></ul><ul><ul><li>An OLAP Cube is normally a tertiary “reporting” database. </li></ul></ul><ul><ul><li>It is basically an exploded view of your Data Marts and/or Data Warehouses. </li></ul></ul><ul><ul><li>It is exploded in that its main purpose is the storage and quick retrieval of pre-calculated data aggregates (sums, averages, etc.). </li></ul></ul><ul><ul><li>It too follows a star or snowflake schema, but is best used in organizing hierarchical dimensions found in snowflake schemas. </li></ul></ul>
  24. 24. Database and Cube Models <ul><li>Online Analytical Processing (OLAP) Cube </li></ul><ul><ul><li>SSAS supports three forms of the OLAP Cube: ROLAP, MOLAP and HOLAP. </li></ul></ul><ul><ul><ul><li>ROLAP: A less aggregated version of OLAP </li></ul></ul></ul><ul><ul><ul><ul><li>Has a slower data retrieval rate due to the increased number of data calculations. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requires minimal storage capacity. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Best used in models that are highly dependant on relational data for reporting. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Processed faster, and in some cases can be setup with real-time updates. </li></ul></ul></ul></ul>
  25. 25. Database and Cube Models <ul><li>Online Analytical Processing (OLAP) Cube </li></ul><ul><ul><li>SSAS supports three forms of the OLAP Cube: ROLAP, MOLAP and HOLAP. </li></ul></ul><ul><ul><ul><li>MOLAP: A highly aggregated version of OLAP </li></ul></ul></ul><ul><ul><ul><ul><li>Has a faster data retrieval rate due to more pre-calculated data. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Requires substantial storage capacity </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Best used in models that work well within the star/snowflake schema. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Processes slower, which is usually done once daily. </li></ul></ul></ul></ul>
  26. 26. Database and Cube Models <ul><li>Online Analytical Processing (OLAP) Cube </li></ul><ul><ul><li>SSAS supports three forms of the OLAP Cube: ROLAP, MOLAP and HOLAP. </li></ul></ul><ul><ul><ul><li>HOLAP: A mid-level hybrid of ROLAP and MOLAP </li></ul></ul></ul><ul><ul><ul><ul><li>Takes the best of both worlds in retrieval speed, storage capacity and processing time. </li></ul></ul></ul></ul><ul><ul><ul><li>Of the three forms, MOLAP is preferred for reporting due to faster data retrieval time. </li></ul></ul></ul>
  27. 27. Questions?
  28. 28. Thank you!