Property
The properties are the settings used by the Machbase server and stored as key-value pairs in the $MACHBASE_HOME/conf/machbase.conf file. These values are set when the Machbase server starts and are used continuously during runtime. To change this value for performance tuning, you must understand the meaning of these values and set them carefully.
Index
- Index
- CPU_AFFINITY_BEGIN_ID
- CPU_AFFINITY_COUNT
- CPU_COUNT
- CPU_PARALLEL
- DBS_PATH
- DEFAULT_LSM_MAX_LEVEL
- DISK_BUFFER_COUNT
- DISK_COLUMNAR_INDEX_CHECKPOINT_INTERVAL_SEC
- DISK_COLUMNAR_INDEX_FDCACHE_COUNT
- DISK_COLUMNAR_INDEX_SHUTDOWN_BUILD_FINISH
- DISK_COLUMNAR_PAGE_CACHE_MAX_SIZE
- DISK_COLUMNAR_TABLE_CHECKPOINT_INTERVAL_SEC
- DISK_COLUMNAR_TABLE_COLUMN_FDCACHE_COUNT
- DISK_COLUMNAR_TABLE_COLUMN_MINMAX_CACHE_SIZE
- DISK_COLUMNAR_TABLE_COLUMN_PART_FLUSH_MODE
- DISK_COLUMNAR_TABLE_COLUMN_PART_IO_INTERVAL_MIN_SEC
- DISK_COLUMNAR_TABLE_TIME_INVERSION_MODE
- DISK_COLUMNAR_TABLESPACE_DWFILE_EXT_SIZE
- DISK_COLUMNAR_TABLESPACE_DWFILE_INT_SIZE
- DISK_COLUMNAR_TABLESPACE_MEMORY_EXT_SIZE
- DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE
- DISK_COLUMNAR_TABLESPACE_MEMORY_MIN_SIZE
- DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT
- DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_MSEC
- DISK_IO_THREAD_COUNT
- DISK_TABLESPACE_DIRECT_IO_FSYNC
- DISK_TABLESPACE_DIRECT_IO_READ
- DISK_TABLESPACE_DIRECT_IO_WRITE
- DUMP_APPEND_ERROR
- DUMP_TRACE_INFO
- DURATION_BEGIN
- DURATION_GAP
- FEEDBACK_APPEND_ERROR
- GRANT_REMOTE_ACCESS
- HTTP_THREAD_COUNT
- INDEX_BUILD_MAX_ROW_COUNT_PER_THREAD
- INDEX_BUILD_THREAD_COUNT
- INDEX_FLUSH_MAX_REQUEST_COUNT_PER_INDEX
- INDEX_LEVEL_PARTITION_AGER_THREAD_COUNT
- INDEX_LEVEL_PARTITION_BUILD_MEMORY_HIGH_LIMIT_PCT
- INDEX_LEVEL_PARTITION_BUILD_THREAD_COUNT
- LOOKUP_APPEND_UPDATE_ON_DUPKEY
- MAX_QPX_MEM
- MEMORY_ROW_TEMP_TABLE_PAGESIZE
- PID_PATH
- PORT_NO
- PROCESS_MAX_SIZE
- QUERY_PARALLEL_FACTOR
- ROLLUP_FETCH_COUNT_LIMIT
- RS_CACHE_APPROXIMATE_RESULT_ENABLE
- RS_CACHE_ENABLE
- RS_CACHE_MAX_MEMORY_PER_QUERY
- RS_CACHE_MAX_MEMORY_SIZE
- RS_CACHE_MAX_RECORD_PER_QUERY
- RS_CACHE_TIME_BOUND_MSEC
- SHOW_HIDDEN_COLS
- TABLE_SCAN_DIRECTION
- TAGDATA_AUTO_META_INSERT
- TAG_TABLE_META_MAX_SIZE
- TAG_PARTITION_COUNT
- TAG_DATA_PART_SIZE
- TRACE_LOGFILE_COUNT
- TRACE_LOGFILE_PATH
- TRACE_LOGFILE_SIZE
- UNIX_PATH
- VOLATILE_TABLESPACE_MEMORY_MAX_SIZE
CPU_AFFINITY_BEGIN_ID
This is the start number of the CPU used by the Machbase server. It is used to control the CPU usage of the Machbase server.
Value | |
---|---|
Minimum | 0 |
Maximum | 2 ^ 32 - 1 |
Default | 0 |
CPU_AFFINITY_COUNT
This is the number of CPUs that the Machbase server will use. If set to 0, the Machbase server uses all CPUs.
Value | |
---|---|
Minimum | 0 |
Maximum | 2 ^ 32 - 1 |
Default | 0 |
CPU_COUNT
Specifies the number of CPUs set in the system. Based on this value, the Machbase Thread determines the number. If set to 0, all CPUs in the system are used.
Value | |
---|---|
Minimum | 0(auto detect the physically installed count of CPU on the system) |
Maximum | 2 ^ 32 - 1 |
Default | 0 |
CPU_PARALLEL
Specifies the number of threads to spawn per CPU. If this value is 2 and the number of CPUs is 2, then two parallel threads are created per CPU, so the number of parallel processing threads is four. If this value is too large, memory can be consumed quickly.
Value | |
---|---|
Minimum | 1 |
Maximum | 2 ^ 32 - 1 |
Default | 1 |
DBS_PATH
Specifies the path where the basic data of the Machbase server will be stored. The default is “? Dbs”, which means $MACHBASE_HOME/dbs.
Value | |
---|---|
Default | ?/dbs |
DEFAULT_LSM_MAX_LEVEL
Sets the base level of the LSM index. If you do not enter a MAX_LEVEL value when creating an index, this value applies.
Value | |
---|---|
Minimum | 0 |
Maximum | 3 |
Default | 2 |
DISK_BUFFER_COUNT
Specifies the number of buffers for disk I/O.
Value | |
---|---|
Minimum | 1 |
Maximum | 4G (4 * 1024 * 1024 * 1024) |
Default | 16 |
DISK_COLUMNAR_INDEX_CHECKPOINT_INTERVAL_SEC
Sets the checkpoint interval for the index. If set too long, errors may occur during index creation.
Value | |
---|---|
Minimum | 1 (sec) |
Maximum | 2^32 -1 (sec) |
Default | 120 (sec) |
DISK_COLUMNAR_INDEX_FDCACHE_COUNT
Specifies the number of opened index partition file descriptors.
Value | |
---|---|
Minimum | 0 |
Maximum | 2 ^ 32 - 1 |
Default | 0 |
DISK_COLUMNAR_INDEX_SHUTDOWN_BUILD_FINISH
Sets whether or not to reflect index information on the disk when the Machbase server is shutdown. If this value is set to ‘1’, all index information is reflected on the disk and ends, so waiting times may be long.
Value | |
---|---|
Minimum | 0 (false) |
Maximum | 1 (True) |
Default | 0 (False) |
DISK_COLUMNAR_PAGE_CACHE_MAX_SIZE
Sets the maximum size of the page cache.
Value | |
---|---|
Minimum | 0 |
Maximum | 2^64 - 1 |
Default | 2 * 1024 * 1024 * 1024 |
DISK_COLUMNAR_TABLE_CHECKPOINT_INTERVAL_SEC
Sets checkpoint period of table data. If this value is too large, the recovery time will be longer at restart. If this value is too small, I/O will frequently occur and the overall performance may be degraded.
Value | |
---|---|
Minimum | 1 (sec) |
Maximum | 2 ^ 32 - 1 (sec) |
Default | 120 (sec) |
DISK_COLUMNAR_TABLE_COLUMN_FDCACHE_COUNT
Specifies the maximum number of open file descriptors for column data in the table.
Value | |
---|---|
Minimum | 0 |
Maximum | 2 ^ 32 - 1 |
Default | 0 |
DISK_COLUMNAR_TABLE_COLUMN_MINMAX_CACHE_SIZE
Sets the size of the default MINMAX cache set in the _ARRIVAL_TIME column.
Value | |
---|---|
Minimum | 0 |
Maximum | 2 ^ 64 - 1 |
Default | 100 *1024 * 1024 |
DISK_COLUMNAR_TABLE_COLUMN_PART_FLUSH_MODE
Sets the automatic flush interval for column partition files.
Value | |
---|---|
Minimum | 0 (sec) |
Maximum | 2^32-1 (sec) |
Default | 60 (sec) |
DISK_COLUMNAR_TABLE_COLUMN_PART_IO_INTERVAL_MIN_SEC
Sets the frequency with which the partition file is reflected on the disk. When more data is input than the number of partitions set, it is reflected on the disk regardless of this period.
Value | |
---|---|
Minimum | 0 (sec) |
Maximum | 2^32-1 (sec) |
Default | 3 (sec) |
DISK_COLUMNAR_TABLE_TIME_INVERSION_MODE
If set to 1, the input is allowed even if the value of the _ARRIVAL_TIME column is reduced. If it is 0, a value smaller than the Maximum of the _ARRIVAL_TIME column value is entered as an error.
Value | |
---|---|
Minimum | 0 (False) |
Maximum | 1 (True) |
Default | 1 (True) |
DISK_COLUMNAR_TABLESPACE_DWFILE_EXT_SIZE
Specifies the size at which the double write file used for recovery at startup increases at one time.
Value | |
---|---|
Minimum | 1024 * 1024 |
Maximum | 2^32 - 1 |
Default | 1024 * 1024 |
DISK_COLUMNAR_TABLESPACE_DWFILE_INT_SIZE
Specifies the amount of space secured by the double write file when the file is created.
Value | |
---|---|
Minimum | 1024 * 1024 |
Maximum | 2^32 - 1 |
Default | 2 * 1024 * 1024 |
DISK_COLUMNAR_TABLESPACE_MEMORY_EXT_SIZE
Specifies the block size of the memory to reserve for the column partition.
Value | |
---|---|
Minimum | 1024 * 1024 |
Maximum | 2^64 - 1 |
Default | 2 * 1024 * 1024 |
DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE
Specifies the maximum amount of memory allocated by the log table. If the server allocates more than this amount of memory, the memory allocation will wait until the memory usage drops below this value. It is recommended to set this value to 50 ~ 80% of physical memory.
Value | |
---|---|
Minimum | 256 * 1024 * 1024 |
Maximum | 2^64 - 1 |
Default | 8 * 1024 * 1024 * 1024 |
DISK_COLUMNAR_TABLESPACE_MEMORY_MIN_SIZE
When the Machbase server starts, it pre-allocates memory by this value to prevent performance degradation due to memory allocation. Since this memory is used only as a data input buffer, it is recommended to use it only when memory is sufficient.
Table 24. Range of values
Value | |
---|---|
Minimum | 1024 * 1024 |
Maximum | 2^64 - 1 |
Default | 100 * 1024 * 1024 |
DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT
Limits the performance when the memory usage exceeds the set value when data is input to the log table.
DISK_COLUMNAR_TABLESPACE_MEMORY_MAX_SIZE * (DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_HIGH_LIMIT_PCT / 100)
Value | |
---|---|
Minimum | 0 |
Maximum | 100 |
Default | 80 |
DISK_COLUMNAR_TABLESPACE_MEMORY_SLOWDOWN_MSEC
Sets the next wait time for each record entry if the memory usage for the column data file exceeds the criterion.
Value | |
---|---|
Minimum | 0 (msec) |
Maximum | 2^32 - 1 (msec) |
Default | 1 (msec) |
DISK_IO_THREAD_COUNT
Sets the number of I/O threads that write data to disk.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^32 - 1 |
Default | 3 |
DISK_TABLESPACE_DIRECT_IO_FSYNC
When running Direct I/O, fsync is unnecessary for data files. Disable fsync when using Direct I/O to improve data I/O performance (Set to 0). Although fsync is unncessary, fsync must be set to perform in case of failure situations such as a power outage because in a normal situation there is no data loss,
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 0 |
DISK_TABLESPACE_DIRECT_IO_READ
Sets whether to use DIRECT I/O for data read operation.
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 0 |
DISK_TABLESPACE_DIRECT_IO_WRITE
Sets whether to use DIRECT I/O for data write operation. If DIRECT I/O is not supported on the file system (ex: ZFS), it must be set to 0.
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 1 |
DUMP_APPEND_ERROR
If this value is set to 1, the $MACHBASE_HOME/trc/machbase.trc file will record the error if the Append API fails. In this situation, the append performance is very low, so it is recommended to use for testing purposes only.
If you want to check for errors in the user application, it is helpful to use the SQLAppendSetErrorCallback API.
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 0 |
DUMP_TRACE_INFO
The server periodically records the DBMS system status information in the machbase.trc file at regular intervals, and sets this period. If it is set to 0, it is not recorded.
Value | |
---|---|
Minimum | 0 (sec) |
Maximum | 2^32 - 1 (sec) |
Default | 60 (sec) |
DURATION_BEGIN
Sets the start time of the duration value that sets the default for the SELECT statements that do not specify the DURATION clause. If set to 60, data will be retrieved 60 seconds before the current time.
The default is 0 to retrieve all data.
Value | |
---|---|
Minimum | 0 |
Maximum | 2^32 - 1 |
Default | 0 |
DURATION_GAP
Sets the start time of the duration value that sets the default for the SELECT statements that do not specify the DURATION clause.
- If set to 60, data will be retrieved for 60 seconds from the current time.
- If the DURATION_BEGIN value is 60, the data is retrieved from 60 seconds before to 60 seconds from the current time.
The default is 0 to retrieve all data.
Value | |
---|---|
Minimum | 0 |
Maximum | Non-zero |
Default | 0 |
FEEDBACK_APPEND_ERROR
Sets whether to send error data to the client when an Append API error occurs. If 0, no error data is sent to the client. If it is 1, error information is sent to the client.
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 1 |
GRANT_REMOTE_ACCESS
Determines whether the database can be accessed remotely. If 0, the remote connection is blocked.
Value | |
---|---|
Minimum | 0 (False) |
Maximum | 1 (True) |
Default | 1 (True) |
HTTP_THREAD_COUNT
Set the number of threads to be used by the Machbase web server.
Value | |
---|---|
Minimum | 0 |
Maximum | 1024 |
Default | 32 |
INDEX_BUILD_MAX_ROW_COUNT_PER_THREAD
If the number of records not indexed is greater than this value, the index build thread begins to add indexes.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^32 - 1 |
Default | 100000 |
INDEX_BUILD_THREAD_COUNT
Specifies the number of index creation threads. If set to 0, no index is created.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^32 - 1 |
Default | 3 |
INDEX_FLUSH_MAX_REQUEST_COUNT_PER_INDEX
Specifies the maximum number of flush requests per index.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^32 - 1 |
Default | 3 |
INDEX_LEVEL_PARTITION_AGER_THREAD_COUNT
Specifies the number of threads to delete index files that are not needed when creating LSM indexes.
Value | |
---|---|
Minimum | 0 |
Maximum | 1024 |
Default | 1 |
INDEX_LEVEL_PARTITION_BUILD_MEMORY_HIGH_LIMIT_PCT
Sets the maximum memory usage for LSM index creation as a percent. This percent is set based on the maximum memory usage used by Machbase. If the memory usage exceeds the limit, the LSM partition merge is stopped.
Value | |
---|---|
Minimum | 0 |
Maximum | 100 |
Default | 70 |
INDEX_LEVEL_PARTITION_BUILD_THREAD_COUNT
Determines the number of threads performing the merge operation for the creation of the LSM index.
Value | |
---|---|
Minimum | 0 |
Maximum | 1024 |
Default | 3 |
LOOKUP_APPEND_UPDATE_ON_DUPKEY
When appending to the lookup table, it specifies how to handle duplicate primary keys.
- 0 : Append fail
- 1 : Update Row for the corresponding Primary Key.
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 0 |
MAX_QPX_MEM
Sets the maximum amount of memory used by the query processor to perform the GROUP BY, DISTINCT, and ORDER BY clauses. If one query uses memory with a larger value, the query is canceled. At this time, an error message is sent to the client, and the relevant content is recorded in the machbase.trc file.
Value | |
---|---|
Minimum | 1024 * 1024 |
Maximum | 2^64 - 1 |
Default | 500 * 1024 * 1024 |
MEMORY_ROW_TEMP_TABLE_PAGESIZE
Sets the page size of the temporary tablespace for volatile tables and lookup tables. Because this page stores volatile tables and lookup table records, it should be larger than the maximum record size for volatile tables. If you want to enter N records into the page, you should set this value to the maximum record size * N.
Value | |
---|---|
Minimum | 8 * 1024 |
Maximum | 2^32 - 1 |
Default | 32 * 1024 |
PID_PATH
Specifies the location where the PID file of the Machbase server process is to be written. The default is “?/Conf”, which means $MACHBASE_HOME/conf.
Value | |
---|---|
Default | ?/conf |
PID_PATH Value | PID File Location Path |
---|---|
Not Specified | $MACHBASE_HOME/conf/machbase.pid |
?/test | $MACHBASE_HOME/test/machbase.pid |
/tmp | /tmp/machbase.pid |
PORT_NO
Specifies the TCP/IP port for the Machbase server process to communicate with the client. The Default is 5656.
Value | |
---|---|
Minimum | 1024 |
Maximum | 65535 |
Default | 5656 |
PROCESS_MAX_SIZE
Specifies the maximum memory size used by machbased programs that are Machbase server processes. If you try to use more memory than the set limit, the server operates as follows to reduce the memory usage.
- Stops data insert or treats it as an error
- Decreased index creation speed
In this case, the performance is greatly degraded, so the cause of overuse of the memory must be found and solved.
Value | |
---|---|
Minimum | 1024 * 1024 * 1024 |
Maximum | 2^64 - 1 |
Default | 8 * 1024 * 1024 * 1024 |
QUERY_PARALLEL_FACTOR
Specifies the number of execution threads of the parallel query executor.
Value | |
---|---|
Minimum | 1 |
Maximum | 100 |
Default | 8 |
ROLLUP_FETCH_COUNT_LIMIT
Limits the amount of data the rollup thread can fetch at one time.
If set to 0, there is no limit.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^32 - 1 |
Default | 3000000 |
RS_CACHE_APPROXIMATE_RESULT_ENABLE
Determines whether to use the approximate result mode of the result cache. If this value is 1, the speculative value is obtained (very fast but the data may be inaccurate) when using the result cache, and if it is 0, the correct value is obtained.
Value | |
---|---|
Minimum | 0 (false) |
Maximum | 1 (True) |
Default | 0 (False) |
RS_CACHE_ENABLE
Determines whether to use the result cache.
Value | |
---|---|
Minimum | 0 (false) |
Maximum | 1 (True) |
Default | 1 (True) |
RS_CACHE_MAX_MEMORY_PER_QUERY
Sets the amount of memory the result cache will use. If the memory usage of a particular query result exceeds this value, the result of the query is not stored in the result cache.
Value | |
---|---|
Minimum | 1024 |
Maximum | 2^64 - 1 |
Default | 16 * 1024 * 1024 |
RS_CACHE_MAX_MEMORY_SIZE
Specifies the maximum memory usage of the result cache.
Value | |
---|---|
Minimum | 32 * 1024 |
Maximum | 2^64 - 1 |
Default | 512 * 1024 * 1024 |
RS_CACHE_MAX_RECORD_PER_QUERY
The maximum number of records to be stored in the result cache. If the number of records resulting from the query is greater than this value, the query result is not stored in the cache.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^64 - 1 |
Default | 10000 |
RS_CACHE_TIME_BOUND_MSEC
If a particular query is executed very quickly, it is better not to store it in the result cache because it can reduce memory usage. This value determines how fast the query executed should not be stored in the cache. When set to 0, all query results are stored in the result cache.
Value | |
---|---|
Minimum | 1 (msec) |
Maximum | 2^64 - 1 (msec) |
Default | 1000 (msec) |
SHOW_HIDDEN_COLS
If set to the Default of 0, the _ARRIVAL_TIME column is not displayed by the SELECT * FROM query. If this value is set to 1, the corresponding column is displayed.
Value | |
---|---|
Minimum | 0 |
Maximum | 1 |
Default | 0 |
TABLE_SCAN_DIRECTION
You can set the scan direction of the tag table. The property value is one of -1, 0, and 1, and the default value is 0.
- -1 : Reverse scan
- 0 : Tag Table(Forward scan), Log Table(Reverse scan)
- 1 : Forward scan
Value | |
---|---|
Minimum | -1 |
Maximum | 1 |
Default | 0 |
TAGDATA_AUTO_META_INSERT
When entering data through APPEND / INSERT into the TAGDATA table, specify how to handle it if there is no matching TAG_NAME.
- 0: Input fails.
- 1: Input TAG_NAME value to input. If there are additional metadata columns, the values of all columns are entered as NULL.
- 2: Enter the additional metadata column value along with the TAG_NAME value you want to enter.
- This setting is valid only in APPEND. INSERT works like 1 because you cannot enter additional metadata column values.
- After this setting, the APPEND parameter must include the metadata column value in APPEND.
Value | |
---|---|
Minimum | 0 |
Maximum | 2 |
Default | 1 |
TAG_TABLE_META_MAX_SIZE
When creating the TAGDATA table, set the maximum size of memory to store the metadata area.
Value | |
---|---|
Minimum | 1024*1024 |
Maximum | 2^32-1 |
Default | 100*1024*1024 |
TAG_PARTITION_COUNT
Specify the number of Key Value tables that consist the tag table.
Value | |
---|---|
Minimum | 1 |
Maximum | 4 |
Default | 1024 |
TAG_DATA_PART_SIZE
Determines the partition size in tag data storage.
Value | |
---|---|
Minimum | 1048576 (1MB) |
Maximum | 1073741824 (1GB) |
Default | 16777216 (16MB) |
TRACE_LOGFILE_COUNT
Specifies the maximum number of log trace files generated in TRACE_LOGFILE_PATH. To save disk space, delete the oldest log file if more than the maximum number of log files are created.
If more than the maximum number of log trace files is created and the oldest file is deleted, the name of the deleted file is saved as the newest log file.
Value | |
---|---|
Minimum | 1 |
Maximum | 2^32 - 1 |
Default | 1000 |
TRACE_LOGFILE_PATH
Set the path of the log trace files (machbase.trc, machadmin.trc, machsql.trc). These files continuously record internal information at the start, end, and run of Machbase. The default ?/trc means $MACHBASE_HOME/trc.
Value | |
---|---|
Default | ?/conf |
TRACE_LOGFILE_PATH | trc direction location |
---|---|
Not Specified | $MACHBASE_HOME/trc/ |
?/test | $MACHBASE_HOME/test/ |
/tmp | /tmp/ |
TRACE_LOGFILE_SIZE
Sets the maximum size of the log trace file. If it is necessary to record more data than the size, a new log file is created.
Value | |
---|---|
Minimum | 10 * 1024 * 1024 |
Maximum | 2^32-1 |
Default | 10 * 1024 * 1024 |
UNIX_PATH
Sets the path to the Unix domain socket file. The Default when not set by user is ?/conf/machbase-unix.
Value | |
---|---|
Default | ?/conf/machbase-unix |
VOLATILE_TABLESPACE_MEMORY_MAX_SIZE
Sets the total amount of memory usage for all volatile and lookup tables in the system.
Value | |
---|---|
Minimum | 0 |
Maximum | 2^64-1 |
Default | 2 * 1024 * 1024 * 1024 |