Releases: YuriyIvon/DatabaseBenchmark
Releases · YuriyIvon/DatabaseBenchmark
0.9.12
- Introduced
Unique
,Constant
, andPattern
generators. - Introduced
MaxSourceRows
andSkipSourceRows
parameters for theColumnItem
generator. - Fixed bugs with
WeightedList
property handling inListItem
andColumnItem
generators. - Exposed
Locale
parameter for locale-dependent generators. - A few input parameter validation improvements.
- Upgraded client libraries.
0.9.11
Improvements
- Implemented generators, which provide a flexible mechanism for generating arbitrary input datasets and query benchmark parameters.
- Introduced an automatic data conversion capability, which allows implicit conversion between numeric types and between string and other types. Implicit conversion between string and other types can be useful when the data source and the target database don't share the same set of column types: the source database may store timestamps as strings, but the target may have a dedicated type for timestamps, or vice versa.
- Introduced
PostScriptFilePath
parameter to run a custom database script right after table creation or data import. - Introduced
DataSourceMaxRows
parameter to limit the number of rows to be read from the data source. - Introduced
DataSources.Csv.TreatBlankAsNull
parameter to control how blank values in the source CSV file must be treated. - Introduced
Distinct
query option. - Fixed a bug with Boolean columns in DynamoDB that always set their value to false.
- Added an explicit wait until the table is fully created in DynamoDB.
- Fixed a bug in Elasticsearch reader that always skipped the first result item.
- Fixed a crash in Elasticsearch on data import when query traces are switched on.
- Upgraded .NET to 8.0.
- Upgraded client libraries.
Breaking changes
- Value randomization rule no longer contains separate options for different types of query parameters and is fully based on generators instead.
- CSV data source no longer supports
DataSource.Csv.Culture
parameter. Instead, a more high-levelDataSourceCulture
was introduced for theimport
andinsert
commands. It is applicable to any string-to-number or string-to-timestamp conversions between a data source and the target database.
0.9.10
- DynamoDB support
- Inline parameters for raw queries
- Support range conditions in PostgreSQL JSONB GIN queries
- An option to override the culture for the CSV data source (to correctly parse dates and numbers)
- Fixed a crash in Elasticsearch raw query benchmark
- Fixed a crash in CosmosDB raw query benchmark
- Upgraded client libraries
0.9.9
- Insert benchmark (
insert
command) - Snowflake support
- Added an option
QueryDelay
to control the delay between query executions - Added an option
PostgresJsonb.CreateGinIndex
to control whether to create a GIN index for PostgreSQL jsonb - Fixed a few issues with ClickHouse
- Fixed Elasticsearch insert issue
- Fixed a few issues with GUID and Boolean columns/parameters support for Oracle
- Upgraded client libraries
0.9.8
- Introduced Snowflake support
- Fixed a few issues with ClickHouse
- Fixed a few issues with GUID and Boolean columns/parameters support for Oracle
- Upgraded client libraries
0.9.7
- Standard Deviation column
- Configurable columns in the benchmark results
- Randomized inclusion of query condition parts
- Support exists/not exists for Elasticsearch through "equals/not equals null" conditions
- Upgraded client libraries
0.9.6
- Correctly handle nullable columns on import from CSV and databases
- Implemented configurable column mapping on import
- Added a new option PostgresJsonb.UseGinOperators to control whether to use GIN-specific operators such as @>
- Handle date/time values as sortable strings with JSONB fields
0.9.5
- Improved SQL Server data import performance
- Improved PostgreSQL JSONB query builder to support all operators
- Read existing values for a column only once per run and share them between threads to avoid performance degradation when one thread is already running a benchmark and another one is still reading existing values at a warm-up
- Updated client libraries
0.9.4
- Oracle support
- A new
create
command optionDropExisting
to re-create the table if it already exists - A new
import
command optionMongoDb.CollectCosmosDbRequestUnits
to collect request charge when importing data to MongoDB API for Cosmos DB - Added total request units to Cosmos DB import results
- Removed total storage size from MongoDB import results, because it returned wrong numbers
- Upgraded client libraries
- Fixed some bugs
0.9.3
- Partitioning support for Cosmos DB
- Report the average row count for each benchmark run