Skip to content

Parameter

Describes the parameters to control the operations in GridDB. In the GridDB parameters, there is a node definition file to configure settings such as the setting information and usable resources etc., and a cluster definition file to configure operational settings of a cluster. Explains the meanings of the item names in the definition file and the settings and parameters in the initial state.

The unit of the setting is set as shown below.

  • The byte size can be specified in the following units: TB, GB, MB, KB, B, T, G, M, K, or lowercase notations of these units. Unit cannot be omitted unless otherwise stated.

  • Time can be specified in the following units: h, min, s, ms. Unit cannot be omitted unless otherwise stated.

Cluster definition file (gs_cluster.json)

The same setting in the cluster definition file needs to be made in all the nodes constituting the cluster. As the partitionNum and storeBlockSize parameters are important parameters to determine the database structure, they cannot be changed after GridDB is started for the first time.

The meanings of the various settings in the cluster definition file are explained below.

The system can be caused to recognize an item not included in the initial state by adding its name as a property. In the change field, indicate whether the value of that parameter can be changed and the change timing.

  • Disallowed: Node cannot be changed once it has been started. The database needs to be initialized if you want to change the setting.
  • Restart: Parameter can be changed by restarting all the nodes constituting the cluster.
  • Online: Parameters that are currently in operation online can be changed. However, the contents in the definition file need to be manual amended as the change details will not be perpetuated.
Configuration of GridDBDefaultMeaning of parameters and limitation valuesChange
/notificationAddress239.0.0.1Standard setting of a multi-cast address. This setting will become valid if a parameter with the same cluster, transaction name is omitted. If a different value is set, the address of the individual setting is valid.Restart
/dataStore/partitionNum128Specify a common multiple that will allow the number of partitions to be divided and placed by the number of constituting clusters. Integer: Specify an integer that is 1 or higher and 10000 or lower.Disallowed
/dataStore/storeBlockSize64KBSpecify the disk I/O size from 64KB,1MB,4MB,8MB,16MB,32MB. Larger block size enables more records to be stored in one block, suitable for full scans of large tables, but also increases the possibility of conflict. Select the size suitable for the system. Cannot be changed after server is started.Disallowed
/cluster/clusterName-Specify the name for identifying a cluster. Mandatory input parameter.Restart
/cluster/replicationNum2Specify the number of replicas. Partition is doubled if the number of replicas is 2.Restart
/cluster/notificationAddress239.0.0.1Specify the multicast address for cluster configurationRestart
/cluster/notificationPort20000Specify the multicast port for cluster configuration. Specify a value within a specifiable range as a multi-cast port no.Restart
/cluster/notificationInterval5sMulticast period for cluster configuration. Specify the value more than 1 second and less than 231 seconds.Restart
/cluster/heartbeatInterval5sSpecify a check period (heart beat period) to check the node survival among clusters. Specify the value more than 1 second and less than 231 seconds.Restart
/cluster/loadbalanceCheckInterval180sTo adjust the load balance among the nodes constituting the cluster, specify a data sampling period, as a criteria whether to implement the balancing process or not. Specify the value more than 1 second and less than 231 seconds.Restart
/cluster/notificationMember-Specify the address list when using the fixed list method as the cluster configuration method.Restart
/cluster/notificationProvider/url-Specify the URL of the address provider when using the provider method as the cluster configuration method.Restart
/cluster/notificationProvider/updateInterval5sSpecify the interval to get the list from the address provider. Specify the value more than 1 second and less than 231 seconds.Restart
/sync/timeoutInterval30sSpecify the timeout time during data synchronization among clusters. If a timeout occurs, the system load may be high, or a failure may have occurred. Specify the value more than 1 second and less than 231 seconds.Restart
/transaction/notificationAddress239.0.0.1Multi-cast address that a client connects to initially. Master node is notified in the client.Restart
/transaction/notificationPort31999Multi-cast port that a client connects to initially. Specify a value within a specifiable range as a multi-cast port no.Restart
/transaction/notificationInterval5sMulti-cast period for a master to notify its clients. Specify the value more than 1 second and less than 231 seconds.Restart
/transaction/replicationMode0Specify the data synchronization (replication) method when updating the data in a transaction. Specify a string or integer, "ASYNC"or 0 (non-synchronous), "SEMISYNC"or 1 (quasi-synchronous).Restart
/transaction/replicationTimeoutInterval10sSpecify the timeout time for communications among nodes when synchronizing data in a quasi-synchronous replication transaction. Specify the value more than 1 second and less than 231 seconds.Restart
/transaction/authenticationTimeoutInterval5sSpecify the authentication timeout time.Restart
/sql/notificationAddress239.0.0.1Multi-cast address when the JDBC/ODBC client is connected initially. Master node is notified in the client.Restart
/sql/notificationPort41999Multi-cast port when the JDBC/ODBC client is connected initially. Specify a value within a specifiable range as a multi-cast port no.Restart
/sql/notificationInterval5sMulti-cast period for a master to notify its JDBC/ODBC clients. Specify the value more than 1 second and less than 231 seconds.Restart
/security/authenticationINTERNALSpecify either INTERNAL (internal authentication) or LDAP (LDAP authentication) as an authentication method to be used.Restart
/security/ldapRoleManagementUSERSpecify either USER (mapping using the LDAP user name) or GROUP (mapping using the LDAP group name) as to which one the GridDB role is mapped to.Restart
/security/ldapUrlSpecify the LDAP server with the format: ldaps://host[:port]Restart
/security/ldapUserDNPrefixTo generate the user's DN (identifier), specify the string to be concatenated in front of the user name.Restart
/security/ldapUserDNSuffixTo generate the user's DN (identifier), specify the string to be concatenated after the user name.Restart
/security/ldapBindDnSpecify the LDAP administrative user's DN.Restart
/security/ldapBindPasswordSpecify the password for the LDAP administrative user.Restart
/security/ldapBaseDnSpecify the root DN from which to start searching.Restart
/security/ldapSearchAttributeuidSpecify the attributes to search for.Restart
/security/ldapMemberOfAttributememberofSpecify the attributes where the group DN to which the user belongs is set (valid if ldapRoleManagement=GROUP).
/system/serverSslModeDISABLEDFor SSL connection settings, specify DISABLED (SSL invalid), PREFERRED (SSL valid, but non-SSL connection is allowed as well), or REQUIRED (SSL valid; non-SSL connection is not allowed ).Restart
/system/sslProtocolMaxVersionTLSv1.2As a TLS protocol version, specify either TLSv1.2 or TLSv1.3.Restart

Node definition file (gs_node.json)

A node definition file defines the default settings of the resources in nodes constituting a cluster. In an online operation, there are also parameters whose values can be changed online from the resource, access frequency, etc., that have been laid out.

The meanings of the various settings in the node definition file are explained below.

The system can be caused to recognize an item not included in the initial state by adding its name as a property. In the change field, indicate whether the value of that parameter can be changed and the change timing.

  • Disallowed: Node cannot be changed once it has been started. The database needs to be initialized if you want to change the setting.
  • Restart: The value of the parameter can be changed by restarting the target nodes.
  • Online: Parameters that are currently in operation online can be changed. However, the contents in the definition file need to be manual amended as the change details will not be perpetuated.

Specify the directory by specifying the full path or a relative path from the GS_HOME environmental variable. For relative path, the initial directory of GS_HOME serves as a reference point. Initial configuration directory of GS_HOME is /var/lib/gridstore.

Configuration of GridDBDefaultMeaning of parameters and limitation valuesChange
/serviceAddress-Set the initial value of each cluster, transaction, sync service address. The initial value of each service address can be set by setting this address only without having to set the addresses of the 3 items.Restart
/dataStore/dbPathdataThe placement directory of data files and checkpoint log files is specified with the full or relative path.Restart
/dataStore/transactionLogPathtxnlogThe placement directory of transaction files is specified with the full or relative path.Restart
/dataStore/dbFileSplitCount0 (no split)Number of data file splitsDisallowed
/dataStore/backupPathbackupSpecify the backup file deployment directory path.Restart
/dataStore/syncTempPathsyncSpecify the path of the Data sync temporary file directory.Restart
/dataStore/storeMemoryLimit1024MBUpper memory limit for data managementOnline
/dataStore/concurrency4Specify the concurrency of processing.Restart
/dataStore/logWriteMode1Specify the log writing mode and cycle. If the log writing mode period is -1 or 0, log writing is performed at the end of the transaction. If it is 1 or more and less than 231, log writing is performed at a period specified in secondsRestart
/dataStore/persistencyMode1(NORMAL)In the persistence mode, specify the retention period of an update log file during a data update. Specify either 1 (NORMAL) or 2 (RETAINING_ALL_LOG). In "NORMAL", a transaction log file which is no longer required is deleted by a checkpoint. In"RETAINING_ALL_LOG", all transaction log files are retained.Restart
/dataStore/affinityGroupSize4Number of affinity groupsRestart
/dataStore/storeCompressionModeNO_COMPRESSIONData block compression modeRestart
/checkpoint/checkpointInterval60sCheckpoint process execution period to perpetuate a data update block in the memoryRestart
/checkpoint/partialCheckpointInterval10The number of split processes that write block management information to checkpoint log files during a checkpoint.Restart
/cluster/serviceAddressComforms to the upper serviceAddressStandby address for cluster configurationRestart
/cluster/servicePort10010Standby port for cluster configurationRestart
/cluster/notificationInterfaceAddress""Specify the address of the interface which sends multicasting packets.Restart
/sync/serviceAddressComforms to the upper serviceAddressReception address for data synchronization among the clustersRestart
/sync/servicePort10020Standby port for data synchronizationRestart
/system/serviceAddressComforms to the upper serviceAddressStandby address for operation commandsRestart
/system/servicePort10040Standby port for operation commandsRestart
/system/eventLogPathlogEvent log file deployment directory pathRestart
/system/securityPathsecuritySpecify the full path or relative path to the directory where the server certificate and the private key are placed.Restart
/system/serviceSslPort10045SSL listen port for operation commandsRestart
/transaction/serviceAddressComforms to the upper serviceAddressStandby address for transaction processing for client communication, used also for cluster internal communication when /transaction/localserviceAddress is not specified.Restart
/transaction/localServiceAddressComforms to the upper serviceAddressStandby address for transaction processing for cluster internal communicationRestart
/transaction/servicePort10001Standby port for transaction processRestart
/transaction/connectionLimit5000Upper limit of the no. of transaction process connectionsRestart
/transaction/totalMemoryLimit1024 MBThe maximum size of the memory area for transaction processing.Restart
/transaction/transactionTimeoutLimit300sTransaction timeout upper limitRestart
/transaction/reauthenticationInterval0s (disabled)Re-authentication interval. (After the specified time has passed, authentication process runs again and updates permissions of the general users who have already been connected.) The default value, 0 sec, indicates that re-authentication is disabled.Online
/transaction/workMemoryLimit128MBMaximum memory size for data reference (get, TQL) in transaction processing (for each concurrent processing)Online
/transaction/notificationInterfaceAddress""Specify the address of the interface which sends multicasting packets.Restart
/sql/serviceAddressComforms to the upper serviceAddressStandby address for NewSQL I/F access processing for client communication, used also for cluster internal communication when / /sql/localServiceAddress is not specified.Restart
/sql/localServiceAddressComforms to the upper serviceAddressStandby address for NewSQL I/F access processing for cluster internal communicationRestart
/sql/servicePort20001Standby port for New SQL access processRestart
/sql/storeSwapFilePathswapSQL intermediate store swap file directoryRestart
/sql/storeSwapSyncSize1024MBSQL intermediate store swap file and cache sizeRestart
/sql/storeMemoryLimit1024MBUpper memory limit for intermediate data held in memory by SQL processing.Restart
/sql/workMemoryLimit32MBUpper memory limit for operators in SQL processingRestart
/sql/workCacheMemory128MBUpper size limit for cache without being released after use of work memory.Restart
/sql/connectionLimit5000Upper limit of the no. of connections processed for New SQL accessRestart
/sql/concurrency4No. of simultaneous execution threadsRestart
/sql/traceLimitExecutionTime300sThe lower limit of execution time of a query to write in an event logOnline
/sql/traceLimitQuerySize1000The upper size limit of character strings in a slow query (byte)Online
/sql/notificationInterfaceAddress""Specify the address of the interface which sends multicasting packets.Restart
/trace/fileCount30Upper file count limit for event log files.Restart
/security/userCacheSize1000Specify the number of entries for general and LDAP users to be cached.Restart
/security/userCacheUpdateInterval60Specify the refresh interval for cache in seconds.Restart

System limiting values

Limitations on numerical value

Block size64KB1MB - 32MB
STRING/GEOMETRY data size31KB128KB
BLOB data size1GB - 1Byte1GB - 1Byte
Array length400065000
No. of columns1024Approx. 7K - 32000 (*1)
No. of indexes (Per container)102416000
No. of users128128
No. of databases128128
Number of affinity groups1000010000
No. of divisions in a timeseries container with a cancellation deadline160160
Size of communication buffer managed by a GridDB nodeApprox. 2GBApprox. 2GB
Block size64KB1MB4MB8MB16MB32MB
Partition sizeApprox. 4TBApprox. 64TBApprox. 256TBApprox. 512TBApprox. 1PBApprox. 2PB
  • STRING
    • Limiting value is equivalent to UTF-8 encode
  • Spatial-type
    • Limiting value is equivalent to the internal storage format
  • (*1) The number of columns
    • There is a restriction on the upper limit of the number of columns. The total size of a fixed length column (BOOL, INTEGER, FLOAT, DOUBLE, TIMESTAMP type) must be less than or equal to 59 KB. The upper limit of the number of columns is 32000 if the type is not a fixed length column.
      • Example) If a container consists of LONG type columns: the upper limit of the number of columns is 7552 ( The total size of a fixed length column 8B * 7552 = 59KB )
      • Example) If a container consists of BYTE type columns: the upper limit of the number of columns is 32000 ( The total size of a fixed length column 1B * 32000 = Approx. 30KB -> Up to 32000 columns can be created because the size restriction on a fixed length column does not apply to it )
      • Example) If a container consists of STRING type columns: the upper limit of the number of columns is 32000 ( Up to 32000 columns can be created because the size restriction on a fixed length column does not apply to it )

Limitations on naming

FieldAllowed charactersMaximum length
Administrator userThe head of name is "gs#" and the following characters are either alphanumeric or '_'64 characters
General userAlphanumeric, '_', '-', '.', '/', and '='64 characters
rolealphanumeric characters, '_', '-', ', '/', '='64 characters
<Password>Composed of an arbitrary number of characters
using the unicode code point
64 bytes (by UTF-8 encoding)
cluster nameAlphanumeric, '_', '-', '.', '/', and '='64 characters
<Database name>Alphanumeric, '_', '-', '.', '/', and '='64 characters
Container name
Table name
View name
Alphanumeric, '_', '-', '.', '/', and '='
(and '@' only for specifying a node affinity)
16384 characters (for 64KB block)
Column nameAlphanumeric, '_', '-', '.', '/', and '='256 characters
Index nameAlphanumeric, '_', '-', '.', '/', and '='16384 characters (for 64KB block)
131072 characters (for 1MB - 32MB block)
<Backup name>Alphanumeric and '_'12 characters
Data AffinityAlphanumeric, '_', '-', '.', '/', and '='8 characters
  • Case sensitivity

    • Cluster names, backup names and passwords are case-sensitive. So the names of the following example are handled as different names.

      Example) mycluster, MYCLUSTER
  • Other names are not case-sensitive. Uppercase and lowercase characters are identified as the same.

  • Uppercase and lowercase characters in names at the creation are hold as data.

  • The names enclosed with '"' in TQL or SQL are case-sensitive. In that case, uppercase and lowercase characters are not identified as the same.

    Example) Search on the container "SensorData" and the column "Column1"
      select "Column1" from "SensorData"   Success
      select "COLUMN1" from "SENSORDATA" Fail (Because "SENSORDATA" container does not exist)
  • Specifying names by TQL and SQL

    • In the case that the name is not enclosed with '"', it can contain only alphanumeric and '_'. To use other characters, the name is required to be enclosed with '"'.
      Example) select "012column", data_15 from "container.2017-09"

Appendix

Directory structureCommercial version

The directory configuration after the GridDB server and client are installed is shown below. X.X.X indicates the GridDB version.

(Machine installed with a server/client)
/usr/griddb-ee-X.X.X/                                    GridDB installation directory
                     Readme.txt
                     bin/
                         gs_xxx                          various commands
                         gsserver                        server module
                         gssvc                           server module
                     conf/
                     etc/
                     lib/
                         gridstore-tools-X.X.X.jar
                         XXX.jar                         Freeware
                     license/
                     misc/
                     prop/
                     sample/

/usr/share/java/gridstore-tools.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-tools-X.X.X.jar

/usr/griddb-ee-webui-X.X.X/                              integrated operation control GUI directory
                           conf/
                           etc/
                           griddb-webui-ee-X.X.X.jar

/usr/griddb-ee-webui/griddb-webui.jar -> /usr/griddb-ee-webui-X.X.X/griddb-webui-ee-X.X.X.jar

/var/lib/gridstore/                                      GridDB home directory (working directory)
                   admin/                                integrated operation control GUI home directory (adminHome)
                   backup/                               backup file directory
                   conf/                                 definition file directory
                        gs_cluster.json                  Cluster definition file
                        gs_node.json                     Node definition file
                        password                         User definition file
                   data/                                 database file directory
                   txnlog/                               transaction log storage directory
                   expimp/                               Export/Import tool directory
                   log/                                  event log directory
                   webapi/                               Web API directory

/usr/bin/
         gs_xxx -> /usr/griddb-ee-X.X.X/bin/gs_xxx                       link to various commands
         gsserver -> /usr/griddb-ee-X.X.X/bin/gsserver                   link to server module
         gssvc -> /usr/griddb-ee-X.X.X/bin/gssvc                         link to server module

/usr/lib/systemd/system
       gridstore.service                            systemd unit file

/usr/griddb-ee-X.X.X/bin
       gridstore                                    rc script

(Machine installed with the library)
/usr/griddb-ee-X.X.X/                                    installation directory
                     lib/
                         gridstore-X.X.X.jar
                         gridstore-advanced-X.X.X.jar
                         gridstore-call-logging-X.X.X.jar
                         gridstore-conf-X.X.X.jar
                         gridstore-jdbc-X.X.X.jar
                         gridstore-jdbc-call-logging-X.X.X.jar
                         gridstore.h
                         libgridstore.so.0.0.0
                         libgridstore_advanced.so.0.0.0
                         python/                         Python library directory
                         nodejs/                         Node.js library directory
                             sample/
                             griddb_client.node
                             griddb_node.js
                         go/                             Go library directory
                             sample/
                             pkg/linux_amd64/griddb/go_client.a
                             src/griddb/go_client/       The source directory of Go library
                         conf/                           
                         javadoc/                           

/usr/griddb-ee-webapi-X.X.X/                             Web API directory
                     conf/
                     etc/
                     griddb-webapi-ee-X.X.X.jar

/usr/girddb-webapi/griddb-webapi.jar -> /usr/griddb-ee-webapi-X.X.X/griddb-webapi-ee-X.X.X.jar

/usr/share/java/gridstore.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-X.X.X.jar
/usr/share/java/gridstore-advanced.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-advanced-X.X.X.jar
/usr/share/java/gridstore-call-logging.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-call-logging-X.X.X.jar
/usr/share/java/gridstore-conf.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-conf-X.X.X.jar
/usr/share/java/gridstore-jdbc.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-jdbc-X.X.X.jar
/usr/share/java/gridstore-jdbc-call-logging.jar -> /usr/griddb-ee-X.X.X/lib/gridstore-jdbc-call-logging-X.X.X.jar


/usr/include/gridstore.h -> /usr/griddb-ee-X.X.X/lib/gridstore.h

/usr/lib64/                                            \* For CentOS, /usr/lib64; for Ubuntu Server, /usr/lib/x86_64-linux-gnu.
           libgridstore.so -> libgridstore.so.0
           libgridstore.so.0 -> libgridstore.so.0.0.0
           libgridstore.so.0.0.0 -> /usr/griddb-ee-X.X.X/lib/libgridstore.so.0.0.0
           libgridstore_advanced.so -> libgridstore_advanced.so.0
           libgridstore_advanced.so.0 -> libgridstore_advanced.so.0.0.0
           libgridstore_advanced.so.0.0.0 -> /usr/griddb-ee-X.X.X/lib/libgridstore_advanced.so.0.0.0