System Settings Reference

This topic provides reference information for each of the AnzoGraph DB system configuration settings. The configuration file, <install_path>/config/settings.conf, categorizes the settings as either Basic or Advanced. The advanced-level settings should only be configured by system administrators or users with an advanced level of knowledge about AnzoGraph DB or databases in general. For instructions on changing settings, see Changing System Settings.

Basic Settings

The table below describes the settings in the Basic section of settings.conf.

Setting Default Value (type) Description
enable_persistence true (boolean) Controls AnzoGraph DB's save data to disk option. By default, persistence is enabled and the data in memory is saved to disk (in the persistence_directory) after every transaction. Each time the database is restarted, the persisted data is automatically loaded back into memory. When persistence is disabled, data must be reloaded back into memory when the database is restarted.
enable_sparql_protocol true (boolean) This setting controls whether to enable the standard SPARQL-compliant HTTP endpoint. The sparql_protocol_port setting controls the port to use to access the endpoint. The SPARQL HTTP endpoint is not secured.
enable_ssl_protocol true (boolean) This setting controls whether to enable the secure HTTPS SPARQL endpoint. The ssl_protocol_port setting controls the port to use. The SPARQL HTTPS endpoint is encrypted but not authenticated.
internal_directory Not set (char) The directory where AnzoGraph DB should save internal database-related files such as generated code, logs, and query plans. When not set, the default is <install_path>/internal. For more information, see Relocating AnzoGraph DB Directories.
max_memory System-based (int) Specifies the amount of memory (in MB) that is available for AnzoGraph DB. The default is system-based; at startup, AnzoGraph DB determines the amount of RAM that is available and sets max_memory. In test environments where AnzoGraph DB may be co-located with other programs, you can set the max_memory value to put a limit on the amount of memory AnzoGraph DB can use. However, Cambridge Semantics recommends that you do not set max_memory unless instructed by Support.
output_format xml (char) Specifies the default output format for AnzoGraph DB responses. Valid values are xml, json, or csv.
persistence_directory Not set (char) The directory where AnzoGraph DB should save data when enable_persistence is true and data is persisted to disk. When not set, the default is <install_path>/persistence. For more information, see Relocating AnzoGraph DB Directories.
sparql_protocol_port 7070 (int) This setting specifies the port to use to access the SPARQL HTTP endpoint when enable_sparql_protocol is true.
sparql_spec_default_graph false (boolean) Controls the default scope of SPARQL queries when FROM clauses are excluded from a query. When false, queries without FROM clauses target the default graph (DEFAULTSET) only. Triples in named graphs will not be included in the scope of the query. When true, AnzoGraph DB conforms to the SPARQL specification and includes the default graph and all named graphs in the scope of a query that omits the FROM clause. For more information, see Changing the Default FROM Clause Behavior.
spill_directory Not set (char) The directory where AnzoGraph DB should save temporary query files that spill to disk. When not set, the default is <install_path>/spill. For more information, see Relocating AnzoGraph DB Directories.

AnzoGraph DB uses O_DIRECT to read the spill files into the database. If you relocate the spill directory, make sure to place it on an ext4 file system that supports O_DIRECT.

ssl_protocol_port 8256 (int) This setting specifies the port to use to access the SPARQL HTTPS endpoint when enable_ssl_protocol is true.
startup_info 1 (int) Controls how verbose the database startup message is: - 0-quiet, 1-ready, 2-ports, 3-more.
stop_timeout 30 (int) When the database stop command is issued, this setting specifies the number of seconds to wait for queries to finish before stopping the database.
truncate_clob false (boolean) Controls whether to automatically truncate large strings to the maximum string size (2 MB).
use_custom_ssl_files false (boolean) Indicates whether you are replacing AnzoGraph DB's self-signed certificates with your own custom certificates. To configure AnzoGraph DB to use your certificates, place the certificate files in the <install_path>/config directory and set use_custom_ssl_files to true. Restart the system management daemon (azgmgrd) as well as the database to apply the configuration change.
user_queues 40 (int) Sets the limit on the number of queries that can run concurrently.

Advanced Settings

The table below describes the settings in the Advanced section of settings.conf.

Setting Default Value (type) Description
anzo_protocol_port 5700 (int) The Anzo protocol (gRPC) port for secure communication between AnzoGraph DB and other Cambridge Semantics' applications.
auto_restart_directory Not set (char) Specifies the base location of the auto_restart directory, which contains the denied_list, warned_list, and unanalyzed_list directories. When not set, the default is <install_path>/internal. For more information about the auto-restart feature, see Managing Automatic Database Restart Options.
auto_restart_max_attempts 5 (int) Specifies the number of times the system manager should attempt to start the database after a crash. The default value is 5, which means the system manager will attempt to restart the database a maximum of 5 times. Changing auto_restart_max_attempts to 0 disables the auto-restart feature. For more information about the auto-restart feature, see Managing Automatic Database Restart Options.
auto_restart_time 600 (int) Specifies the number of seconds to spend attempting to restart the database. If all attempts fail and this time limit is reached, the system manager stops trying to restart the database. The default value is 600, which means that the system manager will attempt to restart the database for a maximum of 600 seconds (10 minutes). For more information about the auto-restart feature, see Managing Automatic Database Restart Options.
aws_log_level 2 (int) AnzoGraph DB uses an AWS C++ SDK for loading data from S3. This setting controls the logging level for the AWS SDK. The default value is 2, which is Error level logging. Valid values are:
  • 0 (Off)
  • 1 (Fatal)
  • 2 (Error)
  • 3 (Warn)
  • 4 (info)
  • 5 (Debug)
  • 6 (Trace)
aws_search_regions Not set (char) Lists the regions to search for AWS S3 buckets that are listed as file locations for queries.
azgmgrd_client_auth false (boolean) Controls whether the system management daemon (azgmgrd) and system manager (azgctl) use authentication in addition to encryption when connecting to other system managers over the system management gRPC port (5600). When false, the system management connections are encrypted but not authenticated.
azgmgrd_password N/A This is the password that the system management daemon (azgmgrd) uses for gRPC access to the database. Typically this value is not changed as it is only used internally for authentication between the system manager and the database. If you do want to change the password, you cannot change it directly in the settings.conf file. See Securing an AnzoGraph DB Environment for instructions.
bits_per_pred_index 16 (int) This setting specifies the maximum number of unique graph and predicate URIs that can be stored in AnzoGraph DB. The maximum number is two to the power of this value. The default value (16) for bits_per_pred_index is set to the maximum value and should not be changed. 2^16 = 64k unique predicate and graph URIs.
bits_per_uri_index 32 (int) This setting specifies the maximum number of unique subject URIs that can be stored in AnzoGraph DB. The maximum number is two to the power of this value. The default value (32) for bits_per_uri_index is set to the maximum value and should not be changed. 2^32=4+ trillion unique subject URIs.
blank_node_name genid (char) This setting specifies the default name basis for blank nodes. By default, AnzoGraph DB generates a number ID for the node. For example, inserting _:a results in a URI such as bnode:a__63.
call_home_for_updates false (boolean) This setting controls whether AnzoGraph DB checks for updates over the internet.
comm_port_base 9100 (int) This setting specifies the port to use for internal cluster communication.
compile_concurrent 8 (int) This setting specifies the maximum number of generated code compilations to perform concurrently.
compile_max_memory 500 (int) Sets the limit on the amount of memory (in MB) that AnzoGraph DB can allocate for compiling generated code before switching from optimized compile to non-optimized compile.
compile_max_seconds 30 (int) Sets the limit on the number of seconds to spend compiling generated code before switching from optimized compile to non-optimized compile.
compile_optimized background (char) Specifies the type of optimized compile to perform.
copy_file_size 5 (int) This setting controls the size (in MB) of the Turtle files that are generated when graphs are exported to files. For more information, see Copying Graphs to Files.
enable_owlstats true (boolean) In order to generate query execution plans, AnzoGraph DB needs to gather statistics about the data, such as the number of triples per graph and number of distinct subjects and predicates. This setting controls whether advanced statistics gathering, called OWL stats, is enabled. OWL stats use the metadata from data models to generate statistics. Cambridge Semantics recommends that you leave enable_owlstats enabled unless otherwise instructed.
enable_refresh_stats_on_update true (boolean) AnzoGraph DB's internal statistics gathering queries are triggered automatically when data is loaded. And the resulting statistics are used for all subsequent queries against the data. This setting controls whether AnzoGraph DB re-runs the statistics gathering queries whenever the data is updated, not just on the initial load.
enable_root_user false (boolean) This setting controls whether to allow a user running with root privileges to start AnzoGraph DB.
enable_unbound_variables false (boolean) Controls whether AnzoGraph DB returns an empty result or an error if a query references a missing graph or includes unbound variables. This value is set to false by default, which means AnzoGraph DB returns an error. For more information, see Configuring AnzoGraph DB to Ignore Missing Graphs.
float_decimals 6 (int) This setting does not apply to results that are returned from AnzoGraph DB to other Cambridge Semantics gRPC protocol applications. This setting would only affect results that are returned directly from AnzoGraph DB to another application over HTTP/S protocol.

AnzoGraph DB formats floating point types using the printf format string %.precision format, where precision is the value of the float_decimals, and format is the value of float_format.

The interpretation of float_decimals differs depending on the value in float_format. For fixed point formats (f and F), float_decimals specifies the number of digits to include after the decimal point, padded with zeros if necessary. For floating point formats (e, E, g, and G), float_decimals specifies the number of significant digits to round the result to.

float_format g (char) This setting does not apply to results that are returned from AnzoGraph DB to other Cambridge Semantics gRPC protocol applications. This setting would only affect results that are returned directly from AnzoGraph DB to another application over HTTP/S protocol.

AnzoGraph DB formats floating point types using the printf format string %.precision format, where format is the value of the float_format, and precision is the value of float_decimals. Valid values for float_format are e, E, f, F, g, or G. In the default configuration, a value of 10000000000.123 is returned as 1e+10.

ignore_deniedlist_queries true (boolean) Controls whether denied list queries are blocked from running or are allowed to be run when the database is returned to normal operation. The default value is true, which means denied list queries are ignored. Incoming queries are not compared with the denied list and are permitted to run. If ignore_deniedlist_queries is false, denied list queries are not ignored and are therefore blocked from running until they are removed from the denied list. For more information about the auto-restart feature, see Managing Automatic Database Restart Options.
jvm_max_memory Not set (char) Specifies the maximum size of the heap that can be used by the embedded Java virtual machine (JVM). Use k, m, or g (case insensitive) for KiB, MiB, or GiB. You can also specify % to indicate a percentage of the total memory that is available to AnzoGraph DB. By default, this value is not set, which means jvm_max_memory defaults to either 5% of the total memory or 4g, whichever value is smaller. When not set, the default is 5% or 4g, depending on which value is smaller.
jvm_options Not set (char) Lists any optional parameters to use for configuring the embedded JVM. Use a semicolon-delimited (;) list to specify multiple parameters. For information about JVM options, see Options in the Java Documentation.
log_directory Not set (char) Specifies where to write system management daemon (azgmgrd) log files. These types of logs (azgmgrd.log, azgctl-<user>.log, azgpidmgr.log, and azgpids.log) are created before the system is initialized and may be written before the <install_path>/internal/log directory exists. Therefore, they are located outside of the AnzoGraph DB file system, /tmp by default. If you change the log_directory value, Cambridge Semantics recommends that you choose another location that is outside the internal AnzoGraph DB directories. When not set, the default location is /tmp.
paged_data false (boolean) Enables or disables AnzoGraph DB's paged data feature, which controls whether data is stored in memory or on disk. When this option is false (the default value), data is stored in memory. Setting this option to true changes data storage from in-memory to on-disk (in the persistence_directory).

Enabling this option changes underlying database operations. Before enabling paged data, make sure that the performance and storage impacts are well-understood and that your environment meets the requirements. See Sizing Guidelines for Disk-Based Storage for details.

paged_cache_memory_percent 20 (int) When paged_data is enabled, this setting controls the amount of memory (as a percentage of total memory) to use for caching the most recently requested data. The default value is 20, which means AnzoGraph DB is configured to use 20% of the total available memory for caching data for analytics. For example, if you have 1 TB of data on disk and 300 GB of available RAM, AnzoGraph DB caches in memory 60 GB of the most recently accessed data. If a query requests data that is not currently cached, AnzoGraph DB releases the least accessed data from memory and loads the relevant data into memory. Note that a portion of the paged cache memory percent is used for the overhead of tracking the pages that are accessed. Cambridge Semantics recommends that you do not set this value higher than 30. For more information, see Enabling Paged Data Mode (Preview).
policy_file_enabled false (boolean) Enables or disables file system access control policies. When policy_file_enabled is false (the default value), AnzoGraph DB does not perform file path access checks when a query reads or writes files or directories on the file system. When policy_file_enabled is true and a query attempts to access a file or directory on the file system, AnzoGraph DB performs the file path access checks that are configured in the file_policy_* settings and returns an access denied error message if the path is not accessible. For instructions on configuring file access policies and the file_policy_read, write, delete, and deny settings, see Managing File Access Policies.

Related Topics