Sunday, December 18, 2005 - Posts

Business Intelligence, KPIs, Data mining and associative algorithms

Business intelligence is a term that's getting alot of press these days, especially with Sql Server 2005 Analysis Services now released.

We have Key Performance Indicators (KPIs) which can be described as:

In business terminology, a key performance indicator (KPI) is a quantifiable measurement for gauging business success. A KPI is frequently evaluated over time. For example, the sales department of an organization may use monthly gross profit as a key performance indicator, but the human resources department of the same organization may use quarterly employee turnover. Each is an example of a KPI. Business executives frequently consume KPIs that are grouped together in a business scorecard to obtain a quick and accurate historical summary of business success.

These 'business scorecards' can be a collection of KPIs displayed on a portal such as SharePoint, as in this example of how Microsoft Does IT: Measuring IT Heath with the IT Scorecard. Lots more examples in this paper on using Sql Server 2005 Analysis Services for Solving Business Problems.

Data mining and data warehousing and OLAP can be quite new terms to most relational OLTP database developers but shouldn't be. Introduction to Sql Server 2005 Data Mining goes into the whys, hows and some of the models available.

I'm currently reading Data Mining with Sql Server 2005 which walks through the different mining algorithms and has some easy to understand examples like Movie!Click for associative mining.

"People who liked this, might also like this" - these types of results can sometimes be done using relational queries and good meta-data, for example if viewing a document on the Technology sector you might be interested in other documents in the same sector. But associative & clustering data mining can go further statistically basing results on what other users have also read for example.

On the subject of querying and 'information overload' a company called Information Mapping have an interesting product which can produce summaries of text - similar to the AutoSummarize functionality available in Microsoft Word but more advanced. From their example, it can take a conventional version of a memo:

And convert it to:

 

Also IBM's WebFountain shows that lots of research is happening in the search and natural language processing space, but has a way to go before it's mainstream. This example on how parsing statements for meta-data to improve searching:

with 0 Comments

Time of the year for lists

Couple of lists that caught my eye this month, Microsoft's Top 10 Challenges for 2006 and Cool Creative Innovative Companies which has some very interesting 'startup' ideas.

Some of the Microsoft items stand out:

  • Take Vista into the Boardroom

  • Lead on Application security and reliability

  • Deliver Clarify on Managed Solutions

  • Small and Medium Business: Get Beyond Naming - Does anyone understand Great Plains/Navision, etc. marketing statement?

  • Make a Systems Management Downpayment - Why not get developers pushing for MOM to monitor their applications, why price Visual Studio Architect out of the price bracket so not many people will use the 'whitehorse' tools?

  • Reengineer Engineering for Clearer Roadmaps
with 0 Comments

.NET memory and performance profilers

I've talked before about memory consumption in managed applications and recently learn about .NET Memory Profiler from Scitech software.

Described as:

Allowing you to retrieve information about all instance allocations performed on the garbage collected heap (GC heap) and all instances that reside on the GC heap. The retrieved information is presented in real-time, both numerically and graphically.

The real-time information presented gives a good overview of the activity and status of the GC heap, but by collecting snapshots of the heap, very detailed information can be presented. A heap snapshot can optionally include the instance data of each instance on the heap, allowing the presentation of field values of instances. It is also possible to compare two snapshots, which is a very convenient and efficient way of detecting memory leaks in a program. A snapshot provides in formation about: all classes, all instances of classes, the call stacks of the instance allocations, the path to a root from each instance.

The profiler also contains a dispose tracker, which provides additional data about disposable instances (i.e. instances of classes implementing the System.IDisposable interface).

The new .NET Memory Profiler API makes it possible to automatically detect memory leaks and control the profiler from within the profiled program.

Remember when Rational Purify and Quantify ruled in the unmanaged profiling world, now we have Red-Gate ANTS, JetBrains dotTrace, AutomatedQA AQTime and Microsoft CLR Profiler, not forgetting Compuware DevPartnerIBM Rational PurifyPlus or Visual Studio Team Suite if your budget can stretch.

Couple of nice video demos of JetBrains Reshaper and dotTrace if you haven't come across them before.

Also good paper on C# threading from Microsoft Research and the latest patterns and practices book on Designing Web Service Security with some interesting diagrams showing different ways to flow security credentials.

with 0 Comments