Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi all,
Currently we have big fact table stored in a QVD. In order to improve the App performance we have two approaches:
1. Splitting up the App by using Where statement in the App. That way, the app will take just the relevant data (e.g.
Load * Fact.QVD
Where BusinessLine='Chemicals'+
As a result we will have many apps as many business lines we have.
2. Splitting the Fact.QVD in multiples smaller QVDs (e.g by business line)
FACT_Chemicals.QVD
FACT_PreciousMetal,
.
.
.
n
That way, each app has their own QVD.
I would like to know your opinion. What would be the best approach to have better performance.
Thanks
if you can handle the QVD size i think you can leave it as it is.
I generally split them at a size bigger than 40GB per QVD.
General Approach for me is always Keep the optimized load and use where exists.
That way i would go like:
REDUCE_DATA:
LOAD * INLINE [
BusinessLine
Chemicals
];
Load *
FROM yourQVD.qvd(qvd)
WHERE exists(BusinessLine)
;
drop table REDUCE_DATA;
Hi,
the answer to this is dependant on where you are seeing poor performance. Is it that your reloads are taking a long time, or that your application is not responsive when in use?
If the issue is with your reloads, then perhaps instead of splitting by business line, an incremental load based on a date field may be useful.
if the issue is with application performance, then the place to start looking is in your data model and expressions. Do you have a star schema? Are your keys integers?
Marcus