repositorio , optimizado para almacenar matrices multidimensionales y datos utilizados en cálculos científicos. Como áreas de aplicación de TileDB se mencionan varios sistemas para procesar información genética, datos espaciales y financieros, es decir, sistemas operativos o matrices multidimensionales continuamente llenas. TileDB ofrece una biblioteca C++ para abstraer de forma transparente el acceso a datos y metadatos en aplicaciones, encargándose de todo el trabajo de bajo nivel para un almacenamiento eficiente. El código del proyecto está escrito en C++ y bajo la licencia MIT. El trabajo cuenta con el apoyo de Linux, macOS и Windows.
Características principales de TileDB:
- Métodos eficientes para almacenar matrices dispersas, cuyos datos no son continuos; la matriz se llena de fragmentos y la mayoría de los elementos permanecen vacíos o toman el mismo valor.
- Capacidad para acceder a datos en formato clave-valor o conjuntos de columnas ();
- Admite la integración con el almacenamiento en la nube AWS S3, Google Cloud Storage y Azure Blob Storage;
- Soporte para matrices en mosaico (bloques);
- Capacidad para utilizar diferentes algoritmos de compresión y cifrado de datos;
- Soporte para verificación de integridad mediante sumas de verificación;
- Trabajar en modo multiproceso con entrada/salida paralela;
- Soporte para versionar datos almacenados, incluso para recuperar el estado en un momento determinado en el pasado o actualizaciones atómicas de conjuntos grandes completos.
- Capacidad para vincular metadatos;
- Soporte para agrupación de datos;
- Módulos de integración para uso como motor de almacenamiento de bajo nivel en Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF y PrestoDB;
- Bibliotecas de enlace para la API de C++ para Python, R, Java y Go.
La versión 2.0 se destaca por su soporte para el concepto "DataFrame", que permite almacenar datos en forma de columnas de valores de longitud arbitraria, vinculados a ciertos atributos. El almacenamiento también está optimizado para procesar matrices dispersas de tamaños heterogéneos (las celdas pueden almacenar datos de diferentes tipos y pueden realizar operaciones de fusión en columnas de diferentes tipos, por ejemplo, aquellas que almacenan nombre, hora y precio). Se agregó soporte para columnas con datos de cadena. Se agregaron módulos para la integración con Google Cloud Storage y Azure Blob Storage. Se ha rediseñado la API para el lenguaje R.
Fuente: opennet.ru
