Configuration Parameters

MyTile has several table and column parameters

Table Parameters

These are set upon table creation as follows:

SQL
SQL
create table test_array (
...
) engine=MyTile <table-parameters>; // e.g., array_type='SPARSE'

Property

Description

Default

Possible Values

Required

uri

Array URI

""

*

Yes

array_type

Array type

SPARSE

SPARSE, DENSE

No

cell_order

Cell order

ROW_MAJOR

ROW_MAJOR, COL_MAJOR

No

tile_order

Tile order

ROW_MAJOR

ROW_MAJOR, COL_MAJOR

No

capacity

Tile capacity

10000L

>0

No

coordinate_filters

Filters to use for coordinates

NOOP

CSV list of filters (see below)

No

offset_filters

Filters to use for offsets

NOOP

CSV list of filters (see below)

No

Column Parameters

The column parameters are set upon table creation as follows:

SQL
SQL
create table test_array (
<column-parameters> // e.g., dim0 integer DIMENSION=1 lower_bound="0" upper_bound="100" tile_extent="1"
) engine=MyTile <table-parameters>;

Property

Description

Datatype

Default

Possible Values

Required

dimension

Column is a dimension

boolean

0

0, 1

No

lower_bound

Domain lower bound

string

"0"

Any value of datatype

No

upper_bound

Domain upper bound

string

Datatype MAX

Any value of datatype

No

tile_extent

Tile extent

string

"10"

Any Value of Datatype

No

filters

Filters for attributes

string

NOOP

CSV list of filters (see below)

No

Filter Options

For filter parameters either table or column the following are the list of supported filters. Any number of filters can be passed in a csv string. If a filter takes a parameters it can be set using key=value. I.Efilters="GZIP=-1,LZ4=4"

Filter Name

Accepted Value

NOOP

N/A

GZIP

Integer

ZSTD

Integer

LZ4

Integer

RLE

N/A

BZIP2

Integer

DOUBLE_DELTA

N/A

BIT_WIDTH_REDUCTION

Integer

BITSHUFFLE

N/A

BYTESHHUFFLE

N/A

POSITIVE_DELTA

Integer

TileDB Parameters

You can set any of the TileDB configuration parameters as follows:

SQL
SQL
set mytile_tiledb_config=<list-of-params>;
// E.g., set mytile_tiledb_config='vfs.num_threads=12,vfs.s3.aws_region=us-east-1';

MariaDB System Parameters

mytile_read_buffer_size

  • Description: Size in bytes of the buffers to use for each attribute/coordinates when performing a read.

  • Command line: --mytile-read-buffer-size

  • Scope: Global

  • Dynamic: Yes

  • Data Type: long

  • Default Value: 100M

mytile_write_buffer_size

  • Description: Size in bytes of the buffers to use for each attribute/coordinates when performing a write.

  • Command line: --mytile-write-buffer-size

  • Scope: Global

  • Dynamic: Yes

  • Data Type: long

  • Default Value: 100M

mytile_delete_arrays

  • Description: Controls if a delete table statement causes the array to be deleted on disk or just deregistered from MariaDB. A true value causes actual deletions of data.

  • Command line: --mytile-delete-arrays

  • Scope: Global

  • Dynamic: Yes

  • Data Type: boolean

  • Default Value: false

tiledb_config

  • Description: Set TileDB configuration parameters, this is in csv form of key1=value1,key2=value2. Example: set mytile_tiledb_config = 'vfs.s3.aws_access_key_id=abc,vfs.s3.aws_secret_access_key=123';

  • Command line: --mytile-tiledb-config

  • Scope: Session

  • Dynamic: Yes

  • Data Type: string

  • Default Value: ""

reopen_for_every_query

  • Description: Closes and reopen the array for every query, this allows tiledb_config parameters to take effect without forcing a table flush, but any TileDB caching is removed.

  • Command line: --mytile-reopen-for-every-query

  • Scope: Session

  • Dynamic: Yes

  • Data Type: boolean

  • Default Value: true

ready_query_layout

  • Description: Set layout for ready queries, valid values are row-major, col-major, unordered or global-order

  • Command line: --mytile-read-query-layout

  • Scope: Session

  • Dynamic: Yes

  • Data Type: enum

  • Default Value: unordered

dimensions_are_primary_keys

  • Description: Should dimensions be treated and registered as primary keys.

  • Command line: --mytile-dimensions-are-primary-keys

  • Scope: Session

  • Dynamic: Yes

  • Data Type: boolean

  • Default Value: true

enable_pushdown

  • Description: Pushdown predicates where possible

  • Command line: --mytile-enable-pushdown

  • Scope: Session

  • Dynamic: Yes

  • Data Type: boolean

  • Default Value: true

compute_table_records

  • Description: Compute size of table (record count) on table opening. This is useful when you are performing a large join or group by and knowing the table size can affect the optimizer. Computing the table records can take several seconds (worst case) so this should not be enabled for small queries.

  • Command line: --mytile-compute-table-records

  • Scope: Session

  • Dynamic: Yes

  • Data Type: boolean

  • Default Value: false