Hello,
we use TileDB to store GPR-Data (Ground Penetrating Radar) which is in our case voxel data.
A typical Dataset has dimension of around 10000x10000x100, which we store as a sparse TileDB array.
Writing to TileDB is not really an issue since we have to do is just once for each dataset.
Our Renderer works with 323 fixed size blocks, we use TileDB to directly retrieve blocks of this size from the array.
Since we retrieve each block separately, there are many queries submitted.
In order to speed up we set the TileDB arrays ordering to match our renderer and set the space tile extends to 32 for each dimension.
I am wondering if there are further possibilities to speed up reading from the dataset.
We retrieved TileDB Statistic but do not know what to do with them.
Any help to speed up reading is greatly appreciated.
Thank you very much
Johannes
Statistics Output:
[
{
"timers": {
"Context.StorageManager.Query.Subarray.read_load_relevant_rtrees.sum": 0.895914,
"Context.StorageManager.Query.Subarray.read_load_relevant_rtrees.avg": 1.79179e-05,
"Context.StorageManager.Query.Subarray.read_compute_tile_overlap.sum": 14.8978,
"Context.StorageManager.Query.Subarray.read_compute_tile_overlap.avg": 0.000148975,
"Context.StorageManager.Query.Subarray.read_compute_relevant_tile_overlap.sum": 3.84849,
"Context.StorageManager.Query.Subarray.read_compute_relevant_tile_overlap.avg": 7.69683e-05,
"Context.StorageManager.Query.Subarray.read_compute_relevant_frags.sum": 8.96206,
"Context.StorageManager.Query.Subarray.read_compute_relevant_frags.avg": 0.000179238,
"Context.StorageManager.Query.Subarray.read_compute_est_result_size.sum": 18.7467,
"Context.StorageManager.Query.Subarray.read_compute_est_result_size.avg": 0.000374926,
"Context.StorageManager.Query.Reader.unfilter_coord_tiles.sum": 212.037,
"Context.StorageManager.Query.Reader.unfilter_coord_tiles.avg": 0.00106016,
"Context.StorageManager.Query.Reader.unfilter_attr_tiles.sum": 59.204,
"Context.StorageManager.Query.Reader.unfilter_attr_tiles.avg": 0.00118406,
"Context.StorageManager.Query.Reader.read.sum": 581.246,
"Context.StorageManager.Query.Reader.read.avg": 0.0116247,
"Context.StorageManager.Query.Reader.load_tile_offsets.sum": 2.01493,
"Context.StorageManager.Query.Reader.load_tile_offsets.avg": 1.34326e-05,
"Context.StorageManager.Query.Reader.init_state.sum": 3.19643,
"Context.StorageManager.Query.Reader.init_state.avg": 6.39273e-05,
"Context.StorageManager.Query.Reader.copy_fixed_coords.sum": 4.58645,
"Context.StorageManager.Query.Reader.copy_fixed_coords.avg": 3.05757e-05,
"Context.StorageManager.Query.Reader.copy_fixed_attr_values.sum": 1.68753,
"Context.StorageManager.Query.Reader.copy_fixed_attr_values.avg": 3.37499e-05,
"Context.StorageManager.Query.Reader.copy_coordinates.sum": 25.8148,
"Context.StorageManager.Query.Reader.copy_coordinates.avg": 0.000516287,
"Context.StorageManager.Query.Reader.copy_attr_values.sum": 116.873,
"Context.StorageManager.Query.Reader.copy_attr_values.avg": 0.0023374,
"Context.StorageManager.Query.Reader.coord_tiles.sum": 23.4975,
"Context.StorageManager.Query.Reader.coord_tiles.avg": 0.00023497,
"Context.StorageManager.Query.Reader.compute_subarray_coords.sum": 53.5172,
"Context.StorageManager.Query.Reader.compute_subarray_coords.avg": 0.00107032,
"Context.StorageManager.Query.Reader.compute_sparse_result_tiles.sum": 1.90832,
"Context.StorageManager.Query.Reader.compute_sparse_result_tiles.avg": 3.81657e-05,
"Context.StorageManager.Query.Reader.compute_sparse_result_cell_slabs_sparse.sum": 1.6388,
"Context.StorageManager.Query.Reader.compute_sparse_result_cell_slabs_sparse.avg": 3.27753e-05,
"Context.StorageManager.Query.Reader.compute_result_coords.sum": 427.655,
"Context.StorageManager.Query.Reader.compute_result_coords.avg": 0.00855292,
"Context.StorageManager.Query.Reader.compute_range_result_coords.sum": 130.049,
"Context.StorageManager.Query.Reader.compute_range_result_coords.avg": 0.00260092,
"Context.StorageManager.Query.Reader.attr_tiles.sum": 48.3776,
"Context.StorageManager.Query.Reader.attr_tiles.avg": 0.000967533,
"Context.StorageManager.Query.Reader.SubarrayPartitioner.read_next_partition.sum": 4.18022,
"Context.StorageManager.Query.Reader.SubarrayPartitioner.read_next_partition.avg": 8.36027e-05
},
"counters": {
"Context.StorageManager.read_unfiltered_byte_num": 7221064,
"Context.StorageManager.read_tile_offsets_size": 3938272,
"Context.StorageManager.read_rtree_size": 3282792,
"Context.StorageManager.VFS.read_ops_num": 194319,
"Context.StorageManager.VFS.read_byte_num": 18992982601,
"Context.StorageManager.Query.Subarray.precompute_tile_overlap.tile_overlap_cache_hit": 50001,
"Context.StorageManager.Query.Subarray.precompute_tile_overlap.tile_overlap_byte_size": 43001456,
"Context.StorageManager.Query.Subarray.precompute_tile_overlap.relevant_fragment_num": 50001,
"Context.StorageManager.Query.Subarray.precompute_tile_overlap.ranges_requested": 50001,
"Context.StorageManager.Query.Subarray.precompute_tile_overlap.ranges_computed": 50001,
"Context.StorageManager.Query.Subarray.precompute_tile_overlap.fragment_num": 800016,
"Context.StorageManager.Query.Reader.result_num": 1006485930,
"Context.StorageManager.Query.Reader.read_unfiltered_byte_num": 46004596800,
"Context.StorageManager.Query.Reader.overlap_tile_num": 287543,
"Context.StorageManager.Query.Reader.loop_num": 50001,
"Context.StorageManager.Query.Reader.dim_num": 150003,
"Context.StorageManager.Query.Reader.dim_fixed_num": 150003,
"Context.StorageManager.Query.Reader.cell_num": 2875287300,
"Context.StorageManager.Query.Reader.attr_num": 50001,
"Context.StorageManager.Query.Reader.attr_fixed_num": 50001,
"Context.StorageManager.Query.Reader.SubarrayPartitioner.compute_current_start_end.ranges": 50001,
"Context.StorageManager.Query.Reader.SubarrayPartitioner.compute_current_start_end.found": 50001,
"Context.StorageManager.Query.Reader.SubarrayPartitioner.compute_current_start_end.adjusted_ranges": 50001
}
}
]