About FlashDB Variables

FlashDB is a next generation caching technology that improves the stability and scalability of the 3DSpace Service. It replaces the c-tree engine ("Turbocache") used in Matrix since Version 7 with a more modern design.

See Also
Memory Variables
FlashDB Variables
Typical Environment Variables

Stability improvements are achieved limiting in-process memory use for caching database information and using an embedded database on disk for working with large data sets that require more memory. Also, FlashDB uses background threads for database reads and writes, taking advantage of multi/hyper threaded machines, thereby improving scalability.

Note:

For the 3DSpace Service, there must be ample disk space available at this directory location for these temporary files. The requirement will vary, but a good starting point is to assume you will need 10% of the diskspace used by the database tablespaces.

By following best practices (especially in the definition of queries and expands), you should be able to avoid the need for the server to handle result sets so large that they need to use disk I/O for most interactive operations. Any interactive operation that has high memory requirements should be reviewed to reduce the size of the data set. However, recognizing that there are use cases (such as report generation) that must process extremely large datasets, FlashDB provides some controls on how much memory should be used to cache database rows to process requests. If these limits are exceeded, FlashDB will use local disk files for temporary storage of such data, so correctly setting these limits can be important to prevent two serious consequences of excessive memory consumption:

  • If memory usage reaches the MX_MEMORY_SYSTEM_LIMIT , 3DSpace will start to produce "insufficient memory" errors and abort transactions.
  • If the memory usage reaches the operating system limit, the process will shutdown.
Note: By default, FlashDB does not use disk space for caching.