cancel
Showing results for 
Search instead for 
Did you mean: 

Always Keep All BIA Index Data in Main Store (Keep in main memory)

Former Member
0 Kudos

Hi:

Need clarification about the BIA Index Property "Always Keep All BIA Index Data in Main Store (keep in main memory)":

1/ What is the difference between BIA indexes that use that settings (vs those that do not)? My understanding is that all BIA indexes are in BIA server memory already.

2/ What are the risks and limitations of using that setting e.g. BIA overload.

3/ Are there significant query performance gain when using that setting

Thank you,

Catherine

Accepted Solutions (0)

Answers (2)

Answers (2)

Vitaliy-R
Developer Advocate
Developer Advocate
0 Kudos

Hi Catherine,

Yes, main benefit of BIA is in-memory storage and processing, but not all indexes are stored in RAM at the end of indexing.

The time to load necessary parts of indexes from disc to RAM depends very much on the size of the data and what I've seen is no more then 2-3 seconds for the first navigational step of the first query using this data.

Happily(?) I have not see BIA crashes, so cannot answer point 2.

Regards,

-Vitaliy

former_member184494
Active Contributor
0 Kudos

Reg point 2:

2/ What are the risks and limitations of using that setting e.g. BIA overload.

An Overload message by default comes if any of the blades is loaded beyond 50% - it is better to look at BIA blade loads from RSDDBIAMON2.....

Also if the load peaks to 90% plus on any server for prolonged periods - the blade will crash...

Arun

Former Member
0 Kudos

Hi,

The setting 'keep all index data in main store' is generally used if you like to load up all information of a InfoCube into the main memory of BIA at the time the data is indexed/rolled-up. Normally if this functionality is off the data resides only on the filer after index/roll-up. When the first end-user runs a report against this cube it will take the data requested and put it into BIA memory. This process is not at as fast as simply reading from memory. If you were to execute the query again it would be extremely fast since the data is now loaded in BIA memory (think of the OLAP cache on the first execution versuses the second) If you check the 'Always keep all BIA index data in main store' it will store every table of that InfoCube into memory right away. The advantage is that any query against this cube will be accessed via memory, which is always very fast. In my opinion the only disadvantage I see with selecting this function is that you can theoretically use up useless memory for index data which end-user queries may never access.

Regards,

-mb

Vitaliy-R
Developer Advocate
Developer Advocate
0 Kudos

Hi Mike,

I hope this setting is robust enough not to load all IC indexes back if I unload indexes manually

Cheers,

-Vitaliy

jgleichmann
Active Contributor
0 Kudos

Hello Catherine,

1)Yes, that´s right. Normally if the system is correctly sized all the data are in the memory. This is the cause why the BIA is so fast. Is not correctly sized BIA will store data on filesystem if it runs out of space memory. You should use the function for critical data.

according to the technical operations guide on

https://www.sdn.sap.com/irj/sdn/bia

according to sapnetweavermagazine.com

"When sizing, consider how much storage is required to keep all your data in memory. Another thing you have to keep in mind is that you must leave room for the queries to do their work. For the queries to pull all that data together and give you a result set, they require memory as well. So, if you size your appliance to just hold your data, you wonu2019t have enough room left to run your queries. SAP gave us a good rule-of-thumb that says, donu2019t let your data consume more than 50% of the memory on your blade servers. That gives you some room for those large queries to run without causing performance issues."

2) According SAP:

"If a query hits a BI Accelerator index, which is only stored on the file system, it loads the relevant data into main memory before processing it. If you have highly critical data, you may either set the BI Accelerator index property flag 'Always keep the BI Accelerator index in main store' or you may schedule the report RSDDTREX_INDEX_LOAD_UNLOAD in a process chain preceding the first query access."

3)If it´s the cause that the BIA must save data to the filesystem and you have activate this setting for your critical data, you have a performance boost on this data.

You see all depends on how you sized your BIA. In the normal case you don´t need this setting, but for really critical data you can use it.

Please correct me if I´m wrong.

Hope I could help.

Best Regards,

Jens