LucidDbSystemParameters

From Eigenpedia

Jump to: navigation, search

Overview

This page lists the global parameters which can be set via the ALTER SYSTEM command. To retrieve current settings, use a system view query:

select * from sys_root.dba_system_parameters;

(Note that this may display settings for other parameters as well; these are irrelevant to LucidDB and can be ignored. For example, checkpointInterval and groupCommitInterval should always be set to 0.)

Parameter List

Category Name Domain Default Value Update Policy Description
Memory
codeCacheMaxBytes 64-bit integer (number of bytes, 0 for disabled, -1 for unlimited) 2000000 Immediate Sets the size of the LucidDB code cache, which is used for optimizer/executor plan caching and SQL/MED data wrapper pooling. Setting to MAX causes the cache to grow without bound except for the JVM heap size. Setting to MIN disables the code cache, discarding any currently cached entries. Setting to a finite value causes LRU victimization according to rough estimates on per-object memory usage.
cachePagesMax 32-bit integer (number of pages; page size is 32K for all parameters in this table) 5000 Takes effect on startup. Determines upper bound for number of pages cache can allocate. On startup, actual upper bound is set to the larger of this parameter and cachePagesInit. Subsequently, changes to cachePagesInit are limited by upper bound calculated at startup.
cachePagesInit 32-bit integer (number of pages) 5000 (corresponds to 160MB for the default 32K page size) Immediate. Sets number of memory buffers to allocate from the OS for LucidDB's data cache (also used as a pool for volatile scratch memory allocated by ExecStreams). Increasing it after startup causes new free buffers to be allocated; decreasing it causes buffers to be released (flushing them first if they contain dirty data). Note that this memory is NOT part of the JVM heap, although it shares the same virtual memory address space. See LucidDbMemoryManagement and LucidDbBufferPoolSizing for more information.
cacheReservePercentage 32-bit integer (percentage expressed as an integer between 1 and 99, inclusive) 5 Immediate. The percentage of the LucidDB data cache that should be set aside for global resource usage. The remainder will be available to allocate to individual statements.
expectedConcurrentStatements 32-bit integer (number of statements) 4 Immediate. Indicates to the resource governor what is expected to be the maximum number of concurrent statements executing at any given time. It is used by the resource governor to determine the maximum resource allocation for each statement.
Network
connectionTimeoutMillis long (number of ms until jdbc conn expires) 86400000 (24hrs) Takes effect on startup Sets the timeout value for JDBC connections. -1 means never time out.
serverRmiRegistryPort 32-bit integer, -1 for personality-based defaults -1 (implies 5434 for LucidDB) Takes effect on startup Sets the port number on which to listen for RMI connections (this is the port number specified in client JDBC URL's).
serverSingleListenerPort 32-bit integer, -1 to disable -1 Takes effect on startup Sets a "single listener" port number for RMI. Normally, RMI opens additional ports for each remoted object, which can cause problems in firewalled configurations. Setting a port number here forces RMI to multiplex all non-connection requests through this port. If set, this must be a different value from serverRmiRegistryPort, and both ports must be accessible to clients (although the client never specifies this port number in the URL).
Execution
calcVirtualMachine String, one of CALCVM_FENNEL, CALCVM_JAVA, or CALCVM_AUTO. CALCVM_JAVA Immediate Controls which calculator virtual machine is used for evaluating SQL row expressions. CALCVM_FENNEL uses a SQL expression evaluator implemented in native code. CALCVM_JAVA generates and compiles Java code on the fly. CALCVM_AUTO allows the optimizer to choose a blend of the two calculators based on cost or other factors. Changing this parameter causes all entries to be discarded from the code cache. Note that only CALCVM_JAVA is fully tested with LucidDB.
prefetchPagesMax 32-bit integer (number of pages, setting it to 0 disables prefetches) 12 Takes effect on startup. Controls the number of pages to prefetch in advance for each column store cluster and bitmap index scanned, as well as each temporary partition created when hash joins, hash aggregations, sorts, and internal buffers cannot be fully processed in memory.
prefetchThrottleRate 32-bit integer (number of pages, >= 1) 10 Takes effect on startup. If a LucidDB prefetch request fails (e.g., because there are free slots in the cache, or the rate at which I/O's are being issued exceeds the operating system's capacity), LucidDB automatically throttles down the prefetchPagesMax setting. The rate will be throttled back up when there are prefetchThrottleRate number of successful prefetches.
Storage
databaseIncrementSize 32-bit integer (number of pages, 0 to disable auto-increment) 1000 Takes effect on startup. Determines number of pages by which to automatically extend the db.dat file when all existing pages have been allocated.
databaseMaxSize 32-bit integer (number of pages, 0 for unlimited) 0 Takes effect on startup. Determines maximum size to which db.dat file can grow. Further allocations will fail even if space remains in the file system.
databaseShadowLogInitSize 32-bit integer (number of pages) 2000 Takes effect on startup. Determines the number of pages desired when calculating the initial size of the shadowlog.dat file. This file is recreated every time LucidDB is loaded, and is used as part of physical recovery.
databaseShadowLogIncrementSize 32-bit integer (number of pages, 0 to disable auto-increment) 1000 Takes effect on startup. Determines number of pages by which to automatically extend the shadowlog.dat file when all existing pages have been allocated.
tempInitSize 32-bit integer (number of pages) 1000 Takes effect on startup. Determines the number of pages desired when calculating the initial size of the temp.dat file. This file is recreated every time LucidDB is loaded.
tempIncrementSize 32-bit integer (number of pages, 0 to disable auto-increment) 1000 Takes effect on startup. Determines number of pages by which to automatically extend the temp.dat file when all existing pages have been allocated.
deviceSchedulerType String (name of scheduler implementation) null (let system decide) Takes effect on startup Controls the scheduler used for disk I/O. threadPool means to fake asynchronous I/O via a thread pool, and use buffered file access. On Linux, aioLinux means to use libaio for asynchronous I/O, with O_DIRECT for unbuffered file access. The default is to to use libaio if available, otherwise to fallback to threadPool. On Windows, ioCompletionPort (the default) means to use asynchronous I/O via completion ports and unbuffered file access. In all cases, if an unrecognized or unsupported value is set, the system silently reverts to default behavior to avoid causing startup failures.
Personal tools