Forum: Managing VoltDB

Post: Volt DB Memory usage

Volt DB Memory usage
chandru
Jan 20, 2012
Hi,
I could get statistics from VoltDB and I understand all the field returned using the below mentioned statement.

VoltTable[] tables = client.callProcedure("@Statistics", STATISTICS_COMPONENT, 0).getResults();

The page "http://localhost:8080" showing list of statistics. I am unable to map with results returned from the Statistics stored procedure. Here are my question.

1. How are finding system memory?
2. How are computing "Using xx% of system memory of VoltDB"?
3. Shall I use RSS as a field to know that max limit, and on reaching max, shall I call another stored procedure to delete old data from the table.
I have one more question about volt db architecture.
4. How can I allocate RAM to VoltDB server. I aware of how to allocate java heap space (JVM parameters), but wanted to know how to allocate RAM for saving tables, indexes and etc.

Thanks
Chandru
VoltDB memory usage whitepaper
rbetts
Jan 20, 2012
You might be interested in this whitepaper: http://community.voltdb.com/sites/default/files/VoltDBMemoryUsage.pdf
How can I allocate RAM to VoltDB server
VoltDB store user table, index and view data on the native heap. You can not directly control a limit on this allocation (beyond controlling the data your application persists) and this heap is independent from the Java heap settings.

Shall I call another stored procedure to delete old data from the table
You should size your application and cluster size such that your data fits in main memory. If you are using VoltDB as a cache of sorts, deleting least recently used or oldest data, you will get the best performance by deleting small amounts frequently. Deleting large portions of the database in a single transaction requires the system to maintain large amounts of undo data (in case the delete must rollback).

Large deletes can also trigger a data compaction algorithm that prevents memory fragmentation. You can avoid both of these sources of overhead by executing small, frequent deletes.
VoltDB memory usage whitepaper
chandru
Jan 20, 2012
You might be interested in this whitepaper: http://community.voltdb.com/sites/default/files/VoltDBMemoryUsage.pdf
How can I allocate RAM to VoltDB server
VoltDB store user table, index and view data on the native heap. You can not directly control a limit on this allocation (beyond controlling the data your application persists) and this heap is independent from the Java heap settings.





Thank you for the detailed response.