Sep 21, 2015
When the SQL execution engine (C++ code) is executing a query it may copy records to "temp tables" in memory in order to perform certain operations on that data. There is a limit of 100MB per partition for these temp tables. If the limit is exceeded, the query results in a SQL error. If it is part of a transaction that involved writes, the transaction will roll back. This limit is configurable, but should be set only with careful consideration of available memory.
Sep 22, 2015
Thank you ! Do you think SSD is a good way to solve the limited memory problem?
Sep 22, 2015
VoltDB is architected to use 100% main memory for data, as it's intended for fast transaction processing.
Many fast data problems will fit in main memory, and in many cases that seem to require a larger capacity, it is often where the previous implementation used a single disk-based database, but with VoltDB the data retention period can be reduced to fit in memory, with older records exported to a disk-based analytic data store such as Hadoop or a column store database.
VoltDB can use SSD for durability, and we recommend SSD or a disk controller with battery-backed write cache for the most demanding synchronous command logging configurations.