| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| # HTTP connection settings |
| http { |
| # Base URL of the Polaris service |
| # Default: "http://localhost:8181" |
| base-url = "http://localhost:8181" |
| } |
| |
| # Authentication settings |
| auth { |
| # OAuth2 client ID for authentication |
| # Required: Must be provided in configuration |
| client-id = null |
| |
| # OAuth2 client secret for authentication |
| # Required: Must be provided in configuration |
| client-secret = null |
| } |
| |
| # Dataset tree structure configuration |
| dataset.tree { |
| # JSON to supply as a StorageConfigInfo when creating a catalog |
| # Default: {"storageType": "FILE"} |
| storage-config-info = """{"storageType": "FILE"}""" |
| |
| # Number of catalogs to create. Only the first catalog (C_0) will contain the test dataset. |
| # Default: 1 |
| num-catalogs = 1 |
| |
| # Width of the namespace tree (N). Each namespace will have exactly N children |
| # For N > 1: Total namespaces = (N^D - 1)/(N - 1) |
| # For N = 1: Total namespaces = D |
| # Default: 2 |
| namespace-width = 2 |
| |
| # Depth of the namespace tree (D), including root namespace |
| # Total number of leaf namespaces = N^(D-1) |
| # Default: 4 |
| namespace-depth = 4 |
| |
| # Number of tables to create per leaf namespace (T) |
| # Total tables = N^(D-1) * T |
| # Default: 5 |
| tables-per-namespace = 5 |
| |
| # Maximum number of tables to create. This parameter can be user to cap the |
| # number of tables otherwise created by the formula above. Must be less than |
| # N^(D-1) * T (computed total from tables-per-namespace). Use -1 to create |
| # all computed tables. |
| # |
| # Examples: |
| # * namespace-width=2, namespace-depth=20, tables-per-namespace=4 and max-tables=-1 |
| # will create 1,048,575 namespaces (of which 524,288 are leaf namespaces) and 2,097,152 tables. |
| # * namespace-width=2, namespace-depth=20, tables-per-namespace=4 and max-tables=1000000 |
| # will create 1,048,575 namespaces (of which 524,288 are leaf namespaces) and 1,000,000 tables. |
| # |
| # Default: -1 |
| max-tables = -1 |
| |
| # Number of views to create per leaf namespace (V) |
| # Total views = N^(D-1) * V |
| # Default: 3 |
| views-per-namespace = 3 |
| |
| # Maximum number of views to create. This parameter can be user to cap the |
| # number of views otherwise created by the formula above. Must be less than |
| # N^(D-1) * V (computed total from views-per-namespace). Use -1 to create |
| # all computed views. |
| # |
| # Examples: |
| # * namespace-width=2, namespace-depth=20, views-per-namespace=4 and max-views=-1 |
| # will create 1,048,575 namespaces (of which 524,288 are leaf namespaces) and 2,097,152 views. |
| # * namespace-width=2, namespace-depth=20, views-per-namespace=4 and max-views=1000000 |
| # will create 1,048,575 namespaces (of which 524,288 are leaf namespaces) and 1,000,000 views. |
| # |
| # Default: -1 |
| max-views = -1 |
| |
| # Number of columns per table |
| # Default: 10 |
| columns-per-table = 10 |
| |
| # Number of columns per view |
| # Default: 10 |
| columns-per-view = 10 |
| |
| # Base location for datasets |
| # Default: "file:///tmp/polaris" |
| default-base-location = "file:///tmp/polaris" |
| |
| # Number of properties to add to each namespace |
| # Default: 10 |
| namespace-properties = 10 |
| |
| # Number of properties to add to each table |
| # Default: 10 |
| table-properties = 10 |
| |
| # Number of properties to add to each view |
| # Default: 10 |
| view-properties = 10 |
| } |
| |
| # Workload configuration |
| workload { |
| # Configuration for the CreateCommits simulation |
| create-commits { |
| # Number of table commits to create per second |
| # Default: 10 |
| table-commits-throughput = 10 |
| |
| # Number of view commits to create per second |
| # Default: 5 |
| view-commits-throughput = 5 |
| |
| # Duration of the simulation in minutes |
| # Default: 1 |
| duration-in-minutes = 1 |
| } |
| |
| # Configuration for the ReadTreeDataset simulation |
| read-tree-dataset { |
| # Number of table operations to perform simultaneously |
| # This controls the concurrency level for table operations |
| # Default: 20 |
| table-concurrency = 20 |
| |
| # Number of view operations to perform simultaneously |
| # This controls the concurrency level for view operations |
| # Default: 10 |
| view-concurrency = 10 |
| } |
| |
| # Configuration for the CreateTreeDataset simulation |
| create-tree-dataset { |
| # Number of table operations to perform simultaneously |
| # This controls the concurrency level for table operations |
| # Default: 20 |
| table-concurrency = 20 |
| |
| # Number of view operations to perform simultaneously |
| # This controls the concurrency level for view operations |
| # Default: 10 |
| view-concurrency = 10 |
| } |
| |
| # Configuration for the ReadUpdateTreeDataset simulation |
| read-update-tree-dataset { |
| # Ratio of read operations to write operations |
| # Range: 0.0 to 1.0 where: |
| # - 0.0 means 100% writes |
| # - 1.0 means 100% reads |
| # Example: 0.8 means 80% reads and 20% writes |
| # Default: 0.5 |
| read-write-ratio = 0.5 |
| |
| # Number of operations to perform per second |
| # Default: 100 |
| throughput = 100 |
| |
| # Duration of the simulation in minutes |
| # Default: 5 |
| duration-in-minutes = 5 |
| } |
| |
| # Configuration for the WeightedWorkloadOnTreeDataset simulation |
| weighted-workload-on-tree-dataset { |
| # Seed used for RNG during the test |
| seed = 42 |
| |
| # Distributions for readers |
| # Each distribution will have `count` threads assigned to it |
| # mean / variance describe the properties of the normal distribution |
| # Readers will read a random table in the table space based on sampling |
| # Default: [{ count = 8, mean = 0.3, variance = 0.0278 }] |
| readers = [ |
| { count = 8, mean = 0.3, variance = 0.0278 } |
| ] |
| |
| # Distributions for writers |
| # Each distribution will have `count` threads assigned to it |
| # mean / variance describe the properties of the normal distribution |
| # Writers will write to a random table in the table space based on sampling |
| # Default: [{ count = 2, mean = 0.7, variance = 0.0278 }] |
| writers = [ |
| { count = 2, mean = 0.7, variance = 0.0278 } |
| ] |
| |
| # Duration of the simulation in minutes |
| # Default: 5 |
| duration-in-minutes = 5 |
| } |
| } |