Monday, February 20, 2012

Near Zero latency partition updates + query performance

Hi,

Here is the scenario:

I have about 5 dimensions, 2 measure groups, 10 measures.

The data is in Sybase database.

The data arrival is Max 10,000 rows in 1 minute.

per day Max is 5 million rows.

The users want to see the latest data.

I cant use ROLAP or HOLAP because query performance is a issue.

1. I believe that I can't use Proactive caching because we dont use sql server. is this true?

2. I have tried process add, but am not sure if this will work. especially if I have to invoke it every 1 minute!

3. I have to try SSIS, but again am not sure how to do this.

4. Is this really possible, can I update the partitions so that new data arriving every 1 minute is avaliable to the users?

Please do give me differnet strategies that are possible, I would try them all out.

Regards

"1. I believe that I can't use Proactive caching because we dont use sql server. is this true?"

There are 3 notification mechanisms provided for Proactive Caching, only 1 of which requires a SQL Server data source:

http://www.microsoft.com/technet/prodtechnol/sql/2005/rtbissas.mspx#E2AAC

>>

SQL Server 2005

Real-time Business Intelligence Using Analysis Services

Published: April 1, 2005

This paper covers features in SQL Server 2005 Analysis Services that overcome many of the barriers to gathering and analyzing real-time business intelligence data faced by companies today.

...

Notification Schemes

There are three notification schemes by which Analysis Services can be notified of updates to the underlying source:

?

Trace Events. This only applies where the underlying data source is SQL Server. Analysis Services will register to receive trace events on the necessary tables. This scheme requires that the service account of Analysis Services has Administrator privileges on the SQL Server database. Event delivery is not guaranteed if the database is unavailable (e.g., due to network issues) at the time of update.

?

Client Initiated. A client can simply send a notification message to Analysis Services, indicating that a specified table has been updated. This is relevant in cases where the application that is actually performing the update is aware of the impact on the Analysis Services cubes

?

Polling. The most generally applicable approach is to use polling. Polling queries are defined for each table, returning a single value (i.e., a single row, with one column), a change to which indicates an update to the table. For example, a query returning the maximum value of the LastUpdated timestamp column would be a suitable polling query. Along with the query, the designer also specifies the frequency with which Analysis Services should send the polling query.

>>

No comments:

Post a Comment