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.

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

Index




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_COLUMN_PARTITION_PRECREATE_COUNT

Defines the number of pre-generated column partition objects to be used for the table.


Value

Minimum

1

Maximum

2^32-1

Default

3

DISK_COLUMNAR_TABLE_TIME_INVERSION_MOD

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.


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)

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

0

Maximum

2 ^ 32 - 1

Default

3

INDEX_FLUSH_MAX_REQUEST_COUNT_PER_INDEX

Specifies the maximum number of flush requests per index.


Value

Minimum

0

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

1

Maximum

1024

Default

3

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

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

0 (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

TAGDATA_AUTO_META_INSERT

In 5.5  version, this property name was TAGDATA_AUTO_NAME_INSERT and supports only 0 or 1. 

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
Minimum0
Maximum2
Default1

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.


Value

Minimum

1

Maximum

2^32 - 1

Default

5

TRACE_LOGFILE_PATH

Set the path of the log trace files (machbase.trc, machadmin.trc, machcollector.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

DISK_BUFFER_COUNT

Specifies the number of buffers to perform disk I/O.


Value

Minimum

1

Maximum

2^32 - 1

Default

16






  • No labels