Skip to content

Commit

Permalink
Documentation update
Browse files Browse the repository at this point in the history
  • Loading branch information
YuriyIvon committed Jun 7, 2022
1 parent e71d6ad commit d900d2b
Showing 1 changed file with 17 additions and 9 deletions.
26 changes: 17 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ DatabaseBenchmark create --DatabaseType=MongoDb --ConnectionString="mongodb://lo

**Please note that in most real-life scenarios, the benchmark tool and a database engine must run on separate machines to take network throughput into account and avoid resource contention.**

Supported values for `DatabaseType` attribute are:
Supported values for `DatabaseType` parameter are:
* `ClickHouse`
* `CosmosDb` - SQL API only, connection string must contain a non-standard property specifying a database name to be used - `Database=database_name`.
* `Elasticsearch`
Expand All @@ -58,6 +58,11 @@ Supported values for `DatabaseType` attribute are:
* `PostgresJsonb` - stores all queryable "logical" columns in a single JSONB column indexed with GIN index of jsonb_path_ops type. Supports only `Equals` and `In` primitive operators.
* `SqlServer`

This command has a few database-specific parameters:
* `ClickHouse.Engine` - table engine. Default is `MergeTree()`.
* `ClickHouse.OrderBy` - table sort order. Default is `tuple()`.
* `MySql.Engine` - table engine. Default is `InnoDB`.

### Data import<a name="data_import"></a>

Once tables are created, it is the time to import the dataset you are going to use in your benchmarks:
Expand Down Expand Up @@ -104,6 +109,9 @@ There are some parameters specific to the query command:
* `ReportFilePath` - path to the result report output file. If not specified, the report is written to the console.
* `TraceResults` - Boolean parameter specifying if query results should be printed to the console.

This command also has a database-specific parameter:
* `CosmosDb.BatchSize` - a maximum number of items to be fetched in one round-trip.

**Please note that the tool, in general, is not responsible for index creation and other database configuration tweaks. Any settings that can be modified after the table has been created must be controlled by the person responsible for the benchmark. Thus, ensure that all indexes and other required settings are in place before running a real benchmark.**

To speed up sample queries used in this manual, you can create a compound index in each database on `Country` and `OrderDate` columns. Alternatively, in SQL Server, you can create a columnstore index instead.
Expand Down Expand Up @@ -234,15 +242,15 @@ When `RandomizeValue` is `true` on a query condition or on a raw query parameter
* `ExistingValuesOverride` - provides a specific array of values to pick a random value from. Can be particularly useful in case "distinct" queries are too slow on the database being tested.
* `ExistingValuesSourceTableName` - provides an alternative table to select existing values from.
* `ExistingValuesSourceColumnName` - provides an alternative column name to select existing values from.
* `MinCollectionLength` - minimum random collection length. Is equal to `1` by default.
* `MaxCollectionLength` - maximum random collection length. Is equal to `10` by default.
* `MinNumericValue` - minimum numeric value. Is equal to `0` by default.
* `MaxNumericValue` - maximum numeric value. Is equal to `100` by default.
* `MinDateTimeValue` - minimum date time value. Is equal to the current date and time minus 10 years by default.
* `MaxDateTimeValue` - maximum date time value. Is equal to the current date and time by default.
* `MinCollectionLength` - minimum random collection length. Default value is `1`.
* `MaxCollectionLength` - maximum random collection length. Default value is `10`.
* `MinNumericValue` - minimum numeric value. Default value is `0`.
* `MaxNumericValue` - maximum numeric value. Default value is `100`.
* `MinDateTimeValue` - minimum date-time value. Is equal to the current date and time minus 10 years by default.
* `MaxDateTimeValue` - maximum date-time value. Is equal to the current date and time by default.
* `DateTimeValueStep` - date time value step in `D.HH:MM:SS` format. Is `0.00:00:01` by default, which corresponds to 1 second.
* `MinStringValueLength` - minimum random string length. Is equal to `1` by default.
* `MaxStringValueLength` - maximum random string length. Is equal to `10` by default.
* `MinStringValueLength` - minimum random string length. Default value is `1`.
* `MaxStringValueLength` - maximum random string length. Default value is `10`.
* `AllowedCharacters` - characters to be used when generating a random string. By default contains uppercase Latin letters and digits.

## Limitations<a name="limitations"></a>
Expand Down

0 comments on commit d900d2b

Please sign in to comment.