Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions big5/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
## Big5 Rally Track

The "Big5" track focuses on five essential areas in Elasticsearch performance and querying:

1. Text Querying:

Free text search is vital for databases due to its flexibility, ease of use, and ability to quickly filter data. It allows users to input natural language queries, eliminating the need for complex query languages and making data retrieval more intuitive. With free text search, users can find information using familiar terms, such as names, email addresses, or user IDs, without requiring knowledge about the underlying schema. It is particularly useful for handling unstructured data, supporting partial matches, and facilitating data exploration.

2. Sorting:

Sorting is a process of arranging data in a particular order, such as alphabetical, numerical, or chronological. The sort query in Elasticsearch is useful for organizing search results based on specific criteria, ensuring that the most relevant results are presented to users. It is a vital feature that enhances the user experience and improves the overall effectiveness of the search process.

In the context of observability and security, in which signals from multiple systems are correlated, sorting is a crucial operation. By sorting results based on timestamp, metrics, or any other relevant field, analysts can more efficiently identify issues, security threats, or correlations within the data. With this information, it becomes easier to identify patterns, trends, and insights that can inform business decisions to protect your data and ensure uptime.

3. Date Histogram:

The date histogram aggregation in Elasticsearch is useful for aggregating and analyzing time-based data by dividing it into intervals, or buckets. This capability allows users to visualize and better understand trends, patterns, and anomalies over time.

4. Range Queries:

The range query in Elasticsearch is useful for filtering search results based on a specific range of values in a given field. This capability allows users to narrow down their search results and find more relevant information quickly.

5. Terms Aggregation:

Terms allow users to dynamically build into buckets to source based on aggregation values. These can be 100s or 1000s of unique terms that get returned individually or in composite aggregations. Larger size values use more memory and compute to push the aggregations through.


### Data Document Structure

Depending on the parameters provided, the data set can become very large(The full dataset is around 1TB). Ensure that you have enough free disk space to store the data in this directory.

Below is the expected structure of the documents:

```json
{
"message": "2023-04-30T21:48:56.160Z Apr 30 21:48:56 ip-66-221-134-40 journal: donkey glazer fly shark whip servant thornfalcon",
"process": {
"name": "journal"
},
"aws.cloudwatch": {
"ingestion_time": "2023-04-30T21:48:56.160Z",
"log_group": "/var/log/messages",
"log_stream": "luckcrafter"
},
"tags": [
"preserve_original_event"
],
"meta": {
"file": "2023-01-02/1682891301-gotext.ndjson.gz"
},
"cloud": {
"region": "eu-central-1"
},
"@timestamp": "2023-01-02T22:02:34.000Z",
"input": {
"type": "aws-cloudwatch"
},
"metrics": {
"tmin": 849,
"size": 1981
},
"log.file.path": "/var/log/messages/luckcrafter",
"event": {
"id": "sunsetmark",
"dataset": "generic",
"ingested": "2023-07-20T03:36:30.223806Z"
},
"agent": {
"id": "c315dc22-3ea6-44dc-8d56-fd02f675367b",
"name": "fancydancer",
"ephemeral_id": "c315dc22-3ea6-44dc-8d56-fd02f675367b",
"type": "filebeat",
"version": "8.8.0"
}
}
```

### Track Parameters

The following parameters are available:

* `number_of_shards` (default: 1) - The number of index primary shards.
* `number_of_replicas` (default: 0) - The number of replica shards per primary.
* `bulk_size` (default: 500) - The bulk size in number of documents.
* `bulk_indexing_clients` (default: 1) - The number of clients issuing indexing requests.
* `ingest_percentage` (default: 100) - A number between 0 and 100 that defines how much of the document corpus should be ingested.
* `target_opensearch` (default: false) - Whether the target is an OpenSearch cluster
* `warmup_iterations` (default: 100) - Number of iterations that each client should execute to warmup the benchmark candidate.
* `iterations` (default: 1000) - Number of measurement iterations that each client executes.
* `target_throughput` (default: 1) - Number of requests per second over all clients.
242 changes: 242 additions & 0 deletions big5/challenges/default.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
{
"name": "big5",
"default": true,
"schedule": [
{
"operation": "create-ilm-policy"
},
{
"operation": "create-index-template"
},
{
"operation": "create-data-stream"
},
{
"operation": "bulk-index",
"clients": {{ bulk_indexing_clients | default(1) }}
},
{
"operation": "default",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "desc_sort_timestamp",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "asc_sort_timestamp",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "desc_sort_with_after_timestamp",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "asc_sort_with_after_timestamp",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "desc_sort_timestamp_can_match_shortcut",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "desc_sort_timestamp_no_can_match_shortcut",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "asc_sort_timestamp_can_match_shortcut",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "asc_sort_timestamp_no_can_match_shortcut",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"name": "term",
"operation": "term",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "multi_terms-keyword",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "keyword-terms",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "keyword-terms-low-cardinality",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "composite-terms",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "composite_terms-keyword",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "composite-date_histogram-daily",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range-numeric",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "keyword-in-range",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "date_histogram_hourly_agg",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "date_histogram_minute_agg",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "scroll",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "query-string-on-message",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "query-string-on-message-filtered",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "query-string-on-message-filtered-sorted-num",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "sort_keyword_can_match_shortcut",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "sort_keyword_no_can_match_shortcut",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "sort_numeric_desc",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "sort_numeric_asc",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "sort_numeric_desc_with_match",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "sort_numeric_asc_with_match",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range_field_conjunction_big_range_big_term_query",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range_field_disjunction_big_range_small_term_query",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range_field_conjunction_small_range_small_term_query",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range_field_conjunction_small_range_big_term_query",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range-auto-date-histo",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
},
{
"operation": "range-auto-date-histo-with-metrics",
"warmup-iterations": {{ warmup_iterations | default(100) }},
"iterations": {{ iterations | default(1000) }},
"target-throughput": {{ target_throughput | default(1) }}
}
]
}
Loading
Loading