provides a simulated database system upon request for development or local workloads with no performance requirements. This simulator system is a lightweight package that emulates a complete Ocient System with these features:Documentation Index
Fetch the complete documentation index at: https://docs.ocient.com/llms.txt
Use this file to discover all available pages before exploring further.
- SQL port for connection using any of the supported connectors from Ocient.
- No NVMe drive or huge page requirements.
To request access to an Ocient simulator, please contact Ocient Support.
Prerequisites
The Ocient simulator has these hardware and software requirements: Hardware- 64GB system RAM
- 64-bit architecture CPU (x86)
- Allocated disk storage equal to twice the size of the data to load.
If you run the Ocient Simulator on a virtual machine, you must configure your virtual machine CPU to support AVX2 instructions by setting the CPU type to
host.- Engine version 20.10.10 or greater with Docker Compose version 1.9.0 or greater.
Install the Ocient Simulator
Ocient distributes its simulator as the tarballsimulator_archive.tar. Upon receiving the file, you can extract it and load the container images into the Docker daemon with the provided load_all_images.sh file.
Some file names might differ based on the simulator release version.
From a terminal window, create a new empty directory.And then change the directory to the new one.
Shell
Shell
Extract the file.The simulator package contains these files.
Shell
| File Name | Description |
|---|---|
configure.sql | The system configuration script that bootstraps the simulator. |
docker-compose.yml | The Docker Compose file that defines the containers that constitute the simulator system. |
lat_client.tar, lat_simulator.tar, ocient_jdbc_image.tar, rolehostd_simulator.tar | These Docker images comprise various components of the Ocient System. |
jdbc.sh | The JDBC CLI launch script for connection to the SQL interface of the simulator. |
lat_client.sh | The Loading and Transformation (LAT) client launch script. The LAT client is for backward compatibility. |
load_all_images.sh | This script loads all the tarball files into the Docker daemon. |
Load the Ocient System tarball files for the simulator.This output shows a successful load operation. The exact output of your simulator might differ depending on what version you download.
Shell
If you do not have access privileges to the Docker daemon, you might receive the
Permission denied error when you run docker commands. Use sudo or add your user to the Docker group.Shell
Start and Configure the Cluster
Each Ocient simulator consists of a series of nodes running in their own Docker containers. Thedocker compose command enables networking, general administration, and orchestration of these nodes.
The commands you use based on this section might differ with your Docker version.These steps use the
docker compose command for the simulator setup. If you are using an older version of Docker with docker-compose (a dash instead of a space), use that instead.Start the cluster using the The cluster startup displays output that is similar to this output.
docker compose command.Shell
Shell
Ensure that you run every command from the same directory where you extracted the
simulator_archive.tar.gz archive.Using the bundled JDBC CLI, connect to the cluster and run the contents of the The interface switches to the JDBC CLI interactive mode, as indicated by the The configuration displays output similar to this.
configure.sql file that is distributed with the simulator.The JDBC CLI is bundled with the simulator as the jdbc.sh script. Execute this script with no arguments after starting the cluster.Shell
After loading the JDBC CLI, the system prompts you to enter a username and password. The default simulator username and password are
admin@system and admin.You can also pass these credentials later in a CONNECT statement, for example:CONNECT TO jdbc:ocient://sql:4050/system USER admin@system USING admin;Ocient> prompt. Execute the configuration file.Shell
After completing its modifications, the simulator warns that it needs to restart for the changes to take effect. Quit the interactive mode.Restart the cluster.
Shell
Load Data
The simulator cluster includes a Loader Node, which can load data from external sources, such as an S3 bucket. This section demonstrates the creation of a basic table and pipeline, which you can then use to load data from a sample data set into a simulator database. If you are not already in the JDBC CLI interactive mode, start it and connect to thetest database using the steps in Start and Configure the Cluster.
Create a table to load. Enter this
CREATE TABLE SQL statement. This table contains columns with various data types available in the Ocient System.SQL
Create a data pipeline to load the data. Enter this
CREATE PIPELINE SQL statement.This pipeline loads gzip-compressed CSV files from an S3 bucket into the data_type_coverage table. The pipeline reads files matching the **output*.csv.gz pattern from the ocient-docs bucket, parses them as comma-delimited records with quoted fields and a header row, and maps each named header field to a target column.The EXTRACT clause includes array and tuple delimiter settings so the parser can correctly interpret complex-type values embedded in the CSV data. The SELECT clause applies explicit type conversions where needed — for example, ensuring that the col_double and col_float columns properly handle NaN values and stripping formatting characters from the timestamp field.For details on Ocient data pipelines, see Data Pipelines.SQL
Start the pipeline to load the data.The sample data set can take about 30 seconds to fully load.
SQL
Verify the Verify the row count in the table using this SQL statement.If the load operation is complete, the output table shows a count of about 100,000 rows.
data_type_coverage table is present.Shell
SQL
Text
Container Configuration
This section explains the configuration setup and options for the Ocient simulator.Ports
The container exposes additional ports that can be useful depending on the use case for the system.| Exposed Port | Description |
|---|---|
| 4050 | The JDBC port of the cluster. |
| 8080 | Ocient LAT service. When you load new data, the LAT client connects to this port. |
| 9090 and 9091 | The REST interfaces for the SQL and Foundation (LTS) Node processes, respectively. |
Environment Variables
You can set these environment variables to affect certain aspects of the Ocient simulator.| Environment variable | Description |
|---|---|
| LAT_MEMORY and LAT_MEMORY_DIRECT | Configures the memory used by LAT when it is running. For details about these environment variables, see the LAT Service Configuration page. The LAT Node is the only node in the cluster affected by this variable. |
YAML
Resource Limits (CPU, Memory, Disk Usage)
Docker supports a variety of options to limit container access to host resources. Refer to the Docker Runtime options with Memory, CPUs, and GPUs page for the full list of options. This section explains how constraints on specific host resources affect the Ocient simulator.In all of these code examples, replace
IMAGE with the filename of your Docker image.The Ocient System applies Docker resource configuration changes individually on each of the nodes in the
docker-compose.yml file (such as sql, foundation, loader, lat).CPU
CPU can be safely limited without adverse effects. Most workloads benefit from having multiple CPU cores available (four or more). For example, to add CPU limits to thesql node, add this text to the docker-compose.yml file in the simulator package. Replace the '4' with the CPU limit that you want.
YAML
Memory (RAM)
The Ocient simulator requires sufficient RAM to execute all workloads. The system can be unstable in low or out-of-memory conditions. If you need to limit the memory of the running Docker container, it is recommended to benchmark the container memory usage on your workload and provide at least 1GB of RAM above the maximum observed. To add memory limits to thesql node, add this text to the docker-compose.yml file in the simulator package. Replace the 8g with the memory limit that you want.
YAML
Disk Usage
When running the simulator without mounted data, you can specify the size in bytes of the data files created. The data files must be large enough to fit any data sets that you load. The file size defaults to 2GiB. To specify a different file size, you can configure the rolehostd startup command in thedocker-compose.yml file. Add the command option loopbackDeviceSize with a new value to configure a new file size.
In this example, the file size on the foundation0 node is configured to 16GiB.
YAML
- Stop your cluster by running
docker compose down. - Clear the
volumesdirectory by runningrm -rf volumes/. - If you have not yet edited the
docker-compose.ymlfile, edit the file to include newloopbackDeviceSizevalues. - Restart your cluster by running
docker compose up -d.
Simulator Logging
The Ocient simulator sends all logs to stdout and stderr as well as any logging driver configured for the host Docker installation or the container. This logging allows for easy inspection of container logs using thedocker logs command.
For details on logging with Docker, consult the logging section in the Docker documentation.
Setting Logging Levels
You can modify the logging level for each node in the cluster by configuring therolehostd startup command in the docker-compose.yml file. Add the command option logLevel with a new log level.
Supported values include error, info, warn, verbose, or debug. Defaults to info.
For details, see Log Monitoring.
Example
YAML
Other Logging Configurations
You can customize your logging configuration for each node by making changes to thedocker-compose.yml file. In this example, the sql node has special configurations for its max-size and max-file values, meaning the container should have no more than five log files of 10MB in size.
Example
YAML
docker logs to retrieve the logs. In this example, the --tail option limits the output to include only the last 10 lines of logs.
For more options, see the docker compose logs page.
Shell
Related Links
Commands Supported by the Ocient JDBC CLI Program CREATE TABLELinux® is the registered trademark of Linus Torvalds in the U.S. and other countries.

