11/21/09

Increase Data Load Performance

If you use multiple import database data MaxL statements to load data values to aggregate storage databases, you can significantly improve performance by loading values to a temporary Data Load Buffer first, with a final write to storage after all data sources have been read.

For ASO database, the data load method is:
1. Create Data Load Buffer
2. Import data to data load buffer, many importing process can happen in the same time.
3. Export data from data load buffer to ASO database.

MaxL Code:
alter database AsoSamp.Sample initialize load_buffer with buffer_id 1;

import database AsoSamp.Sample data from server data_file 'file_1.txt' to load_buffer with buffer_id 1 on error abort;
import database AsoSamp.Sample data from server data_file 'file_2.dat' using server rules_file ‘rule’ to load_buffer with buffer_id 1 on error abort;
import database AsoSamp.Sample data from server excel data_file 'file_3.xls' to load_buffer with buffer_id 1 on error abort;

import database AsoSamp.Sample data from load_buffer with buffer_id 1;
By default, when cells with identical keys are loaded into the same data load buffer, Essbase resolves the cell conflict by adding the values together.

To create a data load buffer that combines duplicate cells by accepting the value of the cell that was loaded last into the load buffer, use the alter database MaxL statement with the aggregate_use_last grammar.
For example:
alter database AsoSamp.Sample initialize load_buffer with buffer_id 1 property aggregate_use_last;

query database appname.dbname list load_buffers;

For example, to create a slice by overriding values (the default), use this statement:
import database AsoSamp.Sample data from load_buffer with buffer_id 1 override values create slice;

alter database AsoSamp.Sample merge all data;