Disclaimer

The words and opinions expressed here are those of each article's respective author, and do not necessarily represent the views of CapTech Ventures.

BI and Data Management

SQL Server Performance tuning with ODBC and JDBC applications

This article assumes that you already have an optimal data model along with the most efficient data tier in your application.  You’ve spent plenty of time optimizing indexes, poring over the SQL explain plans, and tuning the SQL queries that your application uses to retrieve data from your SQL Server database.  The application has been running fairly smoothly, performance isn’t great but has been acceptable to the end users.

At some point, due to application load from the users, data volume, or other external variables, you notice that the queries you optimized utilizing the Management Studio’s estimated explain plan do not perform as expected. 

Let’s take a look at the table we’ll be querying.  We’re using the VARCHAR data type to store all string data in our database.

 

Process Optimization and a "Hidden stakeholder"..?

As Business Intelligence consultants we always aim to help clients overcome the operational inefficiencies, find gaps in their current processes, enable cost curtailment and better decision making. My last business intelligence implementation was for a leading pharmaceutical company in the US. The biggest challenge pharmaceutical companies face today is to reduce the cycle time involved to bring a new drug into the market. Before a drug reaches the consumer it must go through the following phases:

Discovery > Clinical Trials > Approval > Manufacturing > Marketing

Using the SQL RANK function to solve an unusual sorting problem in obtaining data for performance tests

Problem:

Our team needed to create a data set listing retail stores belonging to different territories for performance tests that involved store selection.  The data set was to be used by virtual users signing-in as different territory owners.  The challenge was that the territory and store numbers in the data set should be as random as possible.  For example, if there are 20 territories and each territory has 10 stores, the data set should contain the 20 territories with their first stores, followed by the same 20 territories with their second stores and so on.  

Groupthink and the Agile Architect

Need uber-guru types who are willing to challenge the existing groupthink on design and architecture, especially on TDD and emergent design and pair programming anti-pattern” – job post at Monster.com 2/9/2010

I stumbled upon that quote following links on the role of the architect on an agile project. Maybe one important role of the architect is to help the team avoid groupthink.

Scheduling Cognos Transformer Cubes in a Production Environment

The Cognos Transformer tool is extremely powerful and does a great job of producing cubes via the transformer interface.  The problem I have with Transformer, and the Cognos 8 BI suite, is that it provides no easy way to automatically refresh cube data on a regular schedule.  At every client I visit, they want to refresh cubes regularly for use in Analysis Studio.  It sounds easy enough but when you start to dig deeper you realize that it is not included in the out of the box Cognos functionality. Surprisingly a custom solution is required to achieve this. After each release I continue to wonder why IBM does not include cube refresh functionality within the Cognos Connection scheduling tool.  It seems like it would be the perfect place and relatively simple given how robust the scheduling options are.