armazenamento , otimizado para armazenar arrays multidimensionais e dados utilizados em cálculos científicos. Entre as áreas de aplicação do TileDB estão mencionados diversos sistemas de processamento de informações genéticas, dados espaciais e financeiros, ou seja, sistemas que operam com ou arrays multidimensionais preenchidos continuamente. O TileDB oferece uma biblioteca em C++ para abstrair de forma transparente o acesso a dados e metadados em aplicações, cuidando de toda a organização de armazenamento eficiente de baixo nível. O código do projeto é escrito em C++ e está sob a licença MIT. Suporta operação em Linux, macOS e Windows.
Principais características do TileDB:
- Métodos eficientes de armazenamento de arrays esparsos, onde os dados não seguem continuamente, o array é preenchido em fragmentos e a maior parte dos elementos permanece vazia ou assume o mesmo valor.
- Possibilidade de acessar dados no formato chave-valor ou conjuntos de colunas ();
- Suporte à integração com armazenamentos em nuvem como AWS S3, Google Cloud Storage e Azure Blob Storage;
- Suporte a arrays em mosaico (blocos);
- Possibilidade de usar diferentes algoritmos de compressão e criptografia de dados;
- Suporte à verificação de integridade através de somas de verificação;
- Operação em modo multithread com paralelização de entrada/saída;
- Suporte a versionamento de dados armazenados, incluindo a recuperação do estado em um determinado momento no passado ou atualizações atômicas de grandes conjuntos inteiros.
- Possibilidade de vincular metadados;
- Suporte à agrupamento de dados;
- Módulos de integração para uso como motor de armazenamento de baixo nível em Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF e PrestoDB;
- Bibliotecas de ligação sobre a API C++ para as linguagens Python, R, Java e Go.
A versão 2.0 se destaca pelo suporte ao conceito de "DataFrame", que permite armazenar dados na forma de colunas de valores de comprimento variável, vinculadas a atributos específicos. O armazenamento também é otimizado para processar matrizes esparsas de tamanhos heterogêneos (as células podem armazenar dados de diferentes tipos e é possível realizar operações de mesclagem de colunas de tipos diversos, como aquelas que contêm nome, horário e preço). Adicionado suporte a colunas com dados string. Módulos para integração com Google Cloud Storage e Azure Blob Storage foram adicionados. A API para a linguagem R foi reformulada.
Fonte: opennet.ru
