Thursday, December 17, 2009

Designing an ODS / DW with high availability and consistency

Designing an ODS / DW with high availability and consistency

It's widely recognized that database sizes are growing significantly, and that the growth is being forced by many factors, such as companies requiring more data to be available online for longer (e.g. to comply with government regulations) or an increasing amount of data being digitized for storage. This extent of data explosion has given a momentum for business intelligence application as well. The business intelligence application gathers and stores data for analyzing historical, current, and predictive views of business operations. The gathering and storage of data, on which these business analytics are done, is done by either data warehouse, data mart or ODS (Operational Data Store). Because now-a-days the success of the business is heavily influenced by these business intelligence applications for better and informed business decisions which further rely on data warehouse or ODS for its data feed, it becomes very essential to design a highly available data warehouse or ODS which provides consistent data all the time.

In this video/paper I am going to discuss different approaches (or some of the many available approaches) which you can take to design an ODS for its high availability and data consistency, I will start my discussion with a very basic approach and will list down its pros and cons. Gradually I will move on to the better approach than previous one in terms of its availability and consistency. And finally I provide you some strategic ODS design decision choices and best practices to consider while designing and maintaining it.

Though going forward I will be referring to an ODS design only but same approaches can also be applied for data warehouse as well. You can watch the video or download the deck and article as per your convenience, click here for more details.

SQL Server 2008 R2 - SQL Azure Enhancements

SQL Server 2008 R2 - SQL Azure Enhancements
If you were unhappy with the capabilities of SQL Server Management Studio (SSMS) while working with SQL Azure, then there is good news for you. Microsoft has announced the November CTP for Microsoft SQL Server 2008 R2. The SSMS of this version allows you to work with SQL Azure in almost the same way as when you are connected to a local SQL Server. In other words, now you can use your favorite Object Explorer in SSMS to browse through the database objects hosted in SQL Azure as well. In this article, I am going to show how you can use SSMS’s Object Browser to connect/browse to SQL Azure database. For more details click here.

SQL Azure - Starting up...

SQL Azure - Learning from scratch....

There has been lots of buzz about cloud computing lately and looking at the benefits it provides (in terms of cost savings, high availability, scalability (scale up/down) etc.) it is now evident that cloud computing is the future for next generation applications. Many of tomorrow's applications will be designed and hosted in the cloud. Microsoft realizes this potential and provides a cloud computing solution with Windows Azure. Windows Azure platform, which is hosted inside Microsoft data centers, offers several services which you can leverage while developing your application if you target them for the cloud. One of them is Microsoft SQL Azure, it's a cloud based relational database service built on Microsoft SQL Server technologies. In this article, I am going to show how you can start creating databases and database objects on the cloud with SQL Azure. For more details, click here.

Tuesday, November 24, 2009

SQL Server Integration Services ( SSIS ) - Best Practices

SQL Server Integration Services ( SSIS ) - Best Practices
Part 1 briefly talks about SSIS and its capability in terms of enterprise ETL. Then it gives you an idea about what consideration you need to take while transferring high volume of data. Effects of different OLEDB Destination Settings, Rows Per Batch and Maximum Insert Commit Size Settings etc. For more details click here.
Part 2 covers best practices around using SQL Server Destination Adapter, kinds of transformations and impact of asynchronous transformation, DefaultBufferMaxSize and DefaultBufferMaxRows, BufferTempStoragePath and BLOBTempStoragePath as well as the DelayValidation properties. For more details click here.
Part 3 covers best practices around how you can achieve high performance with achieving a higher degree of parallelism, how you can identify the cause of poorly performing packages, how distributed transaction work within SSIS and finally what you can do to restart a package execution from the last point of failure. For more details click here.
Part 4 talks about best practices aspect of SSIS package designing, how you can use lookup transformation and what consideration you need to take while using it, impact of implicit type cast in SSIS, changes in SSIS 2008 internal system tables and stored procedures and finally some general guidelines. For more details click here.

Wednesday, October 28, 2009

Basic Storage Modes (MOLAP, ROLAP and HOLAP) in Analysis Services

Basic Storage Modes (MOLAP, ROLAP and HOLAP) in Analysis Services
There are three standard storage modes (MOLAP, ROLAP and HOLAP) in OLAP applications which affect the performance of OLAP queries and cube processing, storage requirements and also determine storage locations. To learn more about these standard storage modes, pros and cons of each one, click here.

Database Impersonation with EXEC AS in SQL Server

Database Impersonation with EXEC AS in SQL Server
SQL Server 2005/2008 provides the ability to change the execution/security context with the EXEC or EXECUTE AS clause. You can explicitly change the execution context by specifying a login or user name in an EXECUTE AS statement for batch execution or by specifying the EXECUTE AS clause in a module (stored procedure, triggers and user-defined functions) definition. Once the execution context is switched to another login or user name, SQL Server verifies the permission against the specified login or user (specified with EXECUTE AS statement) for subsequent execution instead of the execution context of current user. To learn more about this feature and how it works click here.

Spatial Data Types (GEOMETRY and GEOGRAPHY) in SQL Server 2008

Spatial Data Types (GEOMETRY and GEOGRAPHY) in SQL Server 2008
SQL Server 2008 provides support for geographical data through the inclusion of new spatial data types, which you can use to store and manipulate location-based information. These native data types come in the form of two new data types viz. GEOGRAPHY and GEOMETRY. These two new data types support the two primary areas of spatial model/data viz. Geodetic model and Planar model. Geodetic model/data is sometimes called round earth because it assumes a roughly spherical model of the world using industry standard ellipsoid such as WGS84, the projection used by Global Position System (GPS) applications whereas Planar model assumes a flat projection and is therefore sometimes called flat earth and data is stored as points, lines, and polygons on a flat surface. To learn more about this new feature click here.