SQL Server 2008 R2 Basics: SSAS, SSRS, and SQL Service Broker

 

 

SQL Server Analysis Services (SSAS)

SSAS delivers online analytical processing (OLAP) and data mining functionality for business intelligence (BI) solutions. SSAS offers a rich set of data mining algorithms to enable business users to mine data, looking for specific patterns and trends. These data mining algorithms can be used to analyze data throughout a Unified Dimensional Model (UDM) or directly from a physical data store. SSAS uses both server and client modules to supply OLAP and data mining functionality for BI apps. SSAS consists of the analysis server, processing services, integration services, and a number of data providers. It has both server-based and client-/local-based analysis services capabilities. This essentially offers a complete platform for SSAS. The basic modules within SSAS are all focused on building and managing data cubes. SSAS allows you to build dimensions and cubes from heterogeneous data sources. It can access relational OLTP DBs, multidimensional data DBs, text data, and any other source that has an OLE DB provider available. You don't have to move all your data into a SQL Server DB first; you just connect to its source. In addition, SSAS allows a designer to implement OLAP cubes, using a variety of physical storage techniques directly tied to data aggregation requirements and other performance considerations. You can simply access any OLAP cube built with SSAS via the Pivot Table Service, you can write custom client apps by using Multidimensional Expressions (MDX) with OLE DB for OLAP or ActiveX Data Objects Multidimensional (ADO MD), and you can use a number of third-party OLAP-compliant tools. MDX enables you to formulate complex multidimensional queries.

SSAS is commonly used to execute the subsequent tasks:

Included for Analysis Services in SQL Server 2008 R2 is PowerPivot for Excel and PowerPivot for SharePoint. PowerPivot for Excel and SharePoint are client and server modules that integrate Analysis Services with Excel and SharePoint. PowerPivot for Excel is an add-in that allows you to create PowerPivot workbooks that can assemble and relate large amounts of data from different sources. PowerPivot workbooks typically contain large, multidimensional datasets that you create in a separate client app and use with PivotTables and PivotCharts in a worksheet. The PowerPivot add-in removes the one million row limit for worksheets and offers rapid calculations for the large data that you assemble.

PowerPivot for SharePoint extends SharePoint 2010 and Excel Services to add server-side processing, collaboration, and document management support for the PowerPivot work-books that you publish to SharePoint. Together, the PowerPivot client add-in and server modules provide an end-to-end solution that furthers business intelligence data analysis for Excel users on the workstation and on SharePoint sites.



SQL Server Reporting Services (SSRS)

SQL Server Reporting Services is a server-based reporting platform that delivers enterprise, web-enabled reporting functionality so you can create reports that draw content from a variety of data sources, publish reports in various formats, and centrally manage security and subscriptions. Reporting Services includes the subsequent core modules:

There are two design tools for building reports: Report Designer, a powerful development tool integrated with Visual Studio, and Report Builder 3.0, which is a simpler point-and-LeftClick tool that you use to design ad hoc reports. Both report design tools provide a WYSIWYG experience.

Reports are described using the Report Definition Language (RDL). RDL contains the description of the report layout, formatting info, and instructions on how to fetch the data. After a report is defined, it can be deployed on the report server, where it can be managed, secured, and delivered to a variety of formats, including HTML, Excel, PDF, TIFF, and XML. Various delivery, caching, and execution options are also available, as are scheduling and historical archiving.

One major set of enhancements in SQL Server 2008 R2 includes the new and improved features in Reporting Services, which includes:

 

Report Manager has also been updated in the SQL Server 2008 R2 release to provide an improved user experience and look and feel. This includes an updated color scheme and layout in an effort to provide easier navigation to manage report properties and Report Server items. You can now use a new drop-down menu on each report or Report Server item in a folder to access the various config options for the report or item you choose. Subsequent are some of the key enhancements to Report Manager in SQL Server 2008 R2:

 

 

SQL Server Service Broker

SQL Server Service Broker offers a native SQL Server infrastructure that supports asynchronous, distributed messaging between DB-driven services. Service Broker handles all the hard work of managing coordination among the constructs necessary for distributed messaging, including transactional delivery and storage, message typing and validation, multithreaded activation and control, event notification, routing, and security. Service Broker is designed around the basic functions of sending and receiving messages.

An app sends messages to a service, which is a name for a set of related tasks. An app receives messages from a queue, which is a view of an internal table. Service Broker guarantees that an app receives each message exactly once, in the order in which the messages were sent. Service Broker can be useful for any app that needs to execute processing asynchronously or that needs to distribute processing across a number of systems. An example would be a bicycle manufacturer and seller who need to provide new and updated parts data to a company that implements a catalog management system. The manufacturer need to keep the catalog info up-to-date with its product model data, or it could lose market share or end up receiving orders from distributors based on out-of-date catalog info. When the parts data is updated in the manufacturer's DB, a trigger could be invoked to send a message to Service Broker with info about the updated data. Service Broker would then asynchronously deliver the message to the catalog service. The catalog service program would then execute the work in a separate transaction. When this work is performed in a separate transaction, the original transaction in the manufacturer's DB can commit immediately. The app avoids system slowdowns that result from keeping the original transaction open while performing the update to the catalog DB.