I am trying out running TileDB with Azure and is doing some performance investigations. One thing that I have noted is that TileDB creates a lot of GetBlob requests in Azure to get the meta data.
In my test script I am writing 25 fragments and then try to get one column reaching over all fragments:
import sys
import time
import random
import uuid
import numpy as np
import tiledb
N1 = 12_060
N2 = 2500
TEST_NUM = int(sys.argv[1])
ARRAY_URI_BASE = f"azure://experimentation/array_perf_testing_{TEST_NUM}"
def _get_ctx(config: dict[str, str]):
common_config = {
"sm.compute_concurrency_level": 4,
"sm.io_concurrency_level": 4,
}
return tiledb.Ctx(config=tiledb.Config({**common_config, **config}))
def create_array(ctx: tiledb.Ctx):
_NUMBER_DIM_DTYPE = np.dtype(np.int32)
_NUMBER_DIM_DTYPE = np.dtype(np.int32)
_NUMBER_DTYPE = np.dtype(np.float64)
time_dim = tiledb.Dim(
name="time",
domain=(0, np.iinfo(_NUMBER_DIM_DTYPE).max),
tile=100,
dtype=_NUMBER_DIM_DTYPE,
)
attribute_dim = tiledb.Dim(
name="x",
domain=(0, N1 - 1),
tile=100,
dtype=_NUMBER_DIM_DTYPE,
)
attr = tiledb.Attr(dtype=_NUMBER_DTYPE)
domain = tiledb.Domain(time_dim, attribute_dim)
schema = tiledb.ArraySchema(
domain=domain,
sparse=False,
attrs=[attr],
tile_order="col-major",
cell_order="col-major",
)
array_uri = ARRAY_URI_BASE + "/" + uuid.uuid4().hex[0:7]
tiledb.Array.create(array_uri, schema, ctx=ctx)
return array_uri
def main():
ctx = _get_ctx({})
array_uri = create_array(ctx)
all_data = np.array(
[[random.random() for _ in range(N1)] for _ in range(N2)]
)
position = 0
batch_size = 100
with tiledb.open(array_uri, "w", ctx=ctx) as array:
while True:
next_batch = all_data[position : position + batch_size]
if len(next_batch) == 0:
break
print(f"writing for position {position=}")
array[position : position + batch_size, :] = next_batch
position += batch_size
with tiledb.open(array_uri, "r", ctx=ctx) as array:
data = array[0:N2, 1]
time.sleep(1)
data = array[0:N2, 1000]
if __name__ == "__main__":
main()
When I check the Azure log for all GetBlob requests produced by this there are not 25 for getting each meta blob data but instead 75! Here is the log:
"TimeGenerated [UTC]",OperationName,StatusCode,StatusText,DurationMs,ServerLatencyMs,Uri
"10/14/2025, 1:24:49.935 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__schema/__1760448286558_1760448286558_4125e9b9db15b64ee167d89e7cb26369"
"10/14/2025, 1:24:53.731 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291919_1760448291919_453a0f9df6c5b48038d3fa8edbc71a39_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.733 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292788_1760448292788_1edde05091dc35a525ae822d8663d7a0_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.734 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448289935_1760448289935_05dbeedee0e29a954b6bb44c1479949d_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.735 PM",GetBlob,206,Success,5,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291034_1760448291034_1eeb2d8bf1c76adbb283aa5897b28f15_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.736 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448289935_1760448289935_05dbeedee0e29a954b6bb44c1479949d_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.738 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292788_1760448292788_1edde05091dc35a525ae822d8663d7a0_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.739 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291919_1760448291919_453a0f9df6c5b48038d3fa8edbc71a39_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.740 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291034_1760448291034_1eeb2d8bf1c76adbb283aa5897b28f15_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.745 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290161_1760448290161_0130db09c947fb805b23e8f669adf904_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.746 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292928_1760448292928_66261d10fedfd60467fa41503550843f_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.747 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292062_1760448292062_485ee5e21bb214df3c18c9b4a2916b72_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.749 PM",GetBlob,206,Success,2,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290161_1760448290161_0130db09c947fb805b23e8f669adf904_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.751 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292928_1760448292928_66261d10fedfd60467fa41503550843f_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.752 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291174_1760448291174_78fed9df8c36dff23f72a71a82fa52f9_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.753 PM",GetBlob,206,Success,5,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292062_1760448292062_485ee5e21bb214df3c18c9b4a2916b72_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.756 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291174_1760448291174_78fed9df8c36dff23f72a71a82fa52f9_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.758 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290307_1760448290307_3a7e8ba9e6e59afbb5c9a05b5b230c1d_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.760 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293078_1760448293078_0bf6933a217c2c5707a0831c1c2ceee1_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.762 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292202_1760448292202_07873423d9f24f3d3ffe82fb4566b948_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.763 PM",GetBlob,206,Success,2,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290307_1760448290307_3a7e8ba9e6e59afbb5c9a05b5b230c1d_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.764 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293078_1760448293078_0bf6933a217c2c5707a0831c1c2ceee1_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.765 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291315_1760448291315_36841099d2ee6e89ce78cd6db0b106c6_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.768 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292202_1760448292202_07873423d9f24f3d3ffe82fb4566b948_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.769 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291315_1760448291315_36841099d2ee6e89ce78cd6db0b106c6_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.771 PM",GetBlob,206,Success,3,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290452_1760448290452_14195bdb6b9b869252df508f581d56ce_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.773 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293225_1760448293225_4670f7440809c8912562d3caacbce57a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.775 PM",GetBlob,206,Success,2,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290452_1760448290452_14195bdb6b9b869252df508f581d56ce_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.777 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293225_1760448293225_4670f7440809c8912562d3caacbce57a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.777 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292349_1760448292349_6145f23869d35d15ee0c882a9a22bc6c_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.778 PM",GetBlob,206,Success,5,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291464_1760448291464_779741313ec90a6ab8eab43581349b16_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.784 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291464_1760448291464_779741313ec90a6ab8eab43581349b16_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.785 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290601_1760448290601_00b9c8818e69a5776f2270c5b9d5b36a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.786 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292349_1760448292349_6145f23869d35d15ee0c882a9a22bc6c_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.786 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293374_1760448293374_16e6cf96b3c4bd1dab4807817877d08a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.789 PM",GetBlob,206,Success,2,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290601_1760448290601_00b9c8818e69a5776f2270c5b9d5b36a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.790 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293374_1760448293374_16e6cf96b3c4bd1dab4807817877d08a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.793 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291618_1760448291618_27e16def19ca3cba2c52bc501b29099b_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.795 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292497_1760448292497_3e9a693959d0c88bff62053330f59576_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.798 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290747_1760448290747_672e3c4b5b5b640463574582131d5c27_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.798 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291618_1760448291618_27e16def19ca3cba2c52bc501b29099b_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.798 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293521_1760448293521_593ebd755811c57bf468097555eb2dad_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.799 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292497_1760448292497_3e9a693959d0c88bff62053330f59576_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.802 PM",GetBlob,206,Success,2,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290747_1760448290747_672e3c4b5b5b640463574582131d5c27_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.803 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293521_1760448293521_593ebd755811c57bf468097555eb2dad_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.808 PM",GetBlob,206,Success,5,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291771_1760448291771_4ea9a772aec0e964d7b3d40ef98f02a6_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.811 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292641_1760448292641_792d3802d4528b69821d9a1ea34c1bc0_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.812 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290892_1760448290892_28b0fcefd2673f3ceb198df2f74a2a78_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.813 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291771_1760448291771_4ea9a772aec0e964d7b3d40ef98f02a6_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.815 PM",GetBlob,206,Success,3,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292641_1760448292641_792d3802d4528b69821d9a1ea34c1bc0_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.816 PM",GetBlob,206,Success,3,2,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290892_1760448290892_28b0fcefd2673f3ceb198df2f74a2a78_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.823 PM",GetBlob,206,Success,4,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291034_1760448291034_1eeb2d8bf1c76adbb283aa5897b28f15_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.825 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292788_1760448292788_1edde05091dc35a525ae822d8663d7a0_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.826 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448289935_1760448289935_05dbeedee0e29a954b6bb44c1479949d_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.826 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291919_1760448291919_453a0f9df6c5b48038d3fa8edbc71a39_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.829 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292928_1760448292928_66261d10fedfd60467fa41503550843f_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.830 PM",GetBlob,206,Success,4,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291174_1760448291174_78fed9df8c36dff23f72a71a82fa52f9_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.831 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292062_1760448292062_485ee5e21bb214df3c18c9b4a2916b72_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.832 PM",GetBlob,206,Success,5,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290161_1760448290161_0130db09c947fb805b23e8f669adf904_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.834 PM",GetBlob,206,Success,4,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291315_1760448291315_36841099d2ee6e89ce78cd6db0b106c6_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.835 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292202_1760448292202_07873423d9f24f3d3ffe82fb4566b948_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.835 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293078_1760448293078_0bf6933a217c2c5707a0831c1c2ceee1_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.837 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290307_1760448290307_3a7e8ba9e6e59afbb5c9a05b5b230c1d_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.839 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291464_1760448291464_779741313ec90a6ab8eab43581349b16_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.840 PM",GetBlob,206,Success,4,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293225_1760448293225_4670f7440809c8912562d3caacbce57a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.840 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292349_1760448292349_6145f23869d35d15ee0c882a9a22bc6c_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.842 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290452_1760448290452_14195bdb6b9b869252df508f581d56ce_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.843 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291618_1760448291618_27e16def19ca3cba2c52bc501b29099b_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.844 PM",GetBlob,206,Success,4,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293374_1760448293374_16e6cf96b3c4bd1dab4807817877d08a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.845 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292497_1760448292497_3e9a693959d0c88bff62053330f59576_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.848 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291771_1760448291771_4ea9a772aec0e964d7b3d40ef98f02a6_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.848 PM",GetBlob,206,Success,5,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290601_1760448290601_00b9c8818e69a5776f2270c5b9d5b36a_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.849 PM",GetBlob,206,Success,4,3,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448293521_1760448293521_593ebd755811c57bf468097555eb2dad_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.850 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292641_1760448292641_792d3802d4528b69821d9a1ea34c1bc0_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.853 PM",GetBlob,206,Success,4,4,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290747_1760448290747_672e3c4b5b5b640463574582131d5c27_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.859 PM",GetBlob,206,Success,5,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290892_1760448290892_28b0fcefd2673f3ceb198df2f74a2a78_22/__fragment_metadata.tdb"
"10/14/2025, 1:24:53.866 PM",GetBlob,206,Success,8,5,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448291174_1760448291174_78fed9df8c36dff23f72a71a82fa52f9_22/a0.tdb"
"10/14/2025, 1:24:53.868 PM",GetBlob,206,Success,8,7,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448290452_1760448290452_14195bdb6b9b869252df508f581d56ce_22/a0.tdb"
"10/14/2025, 1:24:53.868 PM",GetBlob,206,Success,8,7,"https://<REDACTED>.blob.core.windows.net:443/experimentation/array_perf_testing_1/b56417f/__fragments/__1760448292202_1760448292202_07873423d9f24f3d3ffe82fb4566b948_22/a0.tdb"
<removed getting the actual data as post was too long>
From the documentation it recommends to consolidate the meta data in these cases. So I added
tiledb.consolidate(
array_uri,
ctx=ctx,
config=tiledb.Config({"sm.consolidation.mode": "fragment_meta"}),
)
before reading from the Array. This helps some, but the total number of GetBlob requests are the same, 2 for each meta blob during consolidation and 1 for each meta blob during reading the array. So consolidation would be better doing many reads, but would still have liked it to only read from the consolidated meta file when reading the array. (can share the Azure logs for this also if it is of interest)
Is this something that can be improved in tiledb? Is it a bug? From my point of view doing so many blob read leads to extra time and cost. Please say if you rather want this as an issue on Github. I would also be open to help solve this if that is reasonable (but have no real insight into the code base).
(using version 0.35.0 of the Python package)