Опубликовано almacenamento TileDB 2.0, optimizado para almacenar matrices multidimensionais e datos utilizados en cálculos científicos. Varios sistemas para procesar información xenética, datos espaciais e financeiros menciónanse como áreas de aplicación para TileDB, é dicir. sistemas operativos escasa ou matrices multidimensionais cheas continuamente. TileDB ofrece unha biblioteca C++ para abstraer de forma transparente o acceso a datos e metadatos nas aplicacións, coidando de todo o traballo de baixo nivel para un almacenamento eficiente. O código do proxecto está escrito en C++ e distribuído por baixo licenza MIT. Admite o traballo en Linux, macOS e Windows.
Principais características de TileDB:
Métodos eficientes para almacenar matrices dispersas, cuxos datos non son continuos; a matriz está chea de fragmentos e a maioría dos elementos permanecen baleiros ou toman o mesmo valor.
Capacidade de acceder aos datos en formato de clave-valor ou conxuntos de columnas (DataFrame);
Admite a integración co almacenamento na nube AWS S3, Google Cloud Storage e Azure Blob Storage;
Soporte para matrices de mosaicos (bloques);
Capacidade para usar diferentes algoritmos de compresión e cifrado de datos;
Soporte para a comprobación de integridade mediante sumas de verificación;
Traballar en modo multiproceso con entrada/saída paralela;
Compatibilidade para a versión dos datos almacenados, incluso para recuperar o estado nun determinado momento do pasado ou as actualizacións atómicas de conxuntos grandes enteiros.
Capacidade de vincular metadatos;
Soporte para agrupación de datos;
Módulos de integración para o seu uso como motor de almacenamento de baixo nivel en Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF e PrestoDB;
Bibliotecas de enlace para a API de C++ para Python, R, Java e Go.
A versión 2.0 destaca polo seu soporte para o concepto "DataFrame", que permite almacenar datos en forma de columnas de valores de lonxitude arbitraria, ligados a determinados atributos. O almacenamento tamén está optimizado para procesar matrices dispersas de tamaños heteroxéneos (as celas poden almacenar datos de diferentes tipos e poden realizar operacións de combinación en columnas de diferentes tipos, por exemplo, aquelas que almacenan nome, hora e prezo). Engadido soporte para columnas con datos de cadea. Engadíronse módulos para a integración con Google Cloud Storage e Azure Blob Storage. A API para a linguaxe R foi redeseñado.