Lançamento do mecanismo de armazenamento TileDB 2.0
Опубликовано хранилище TileDB 2.0, otimizado para armazenar matrizes multidimensionais e dados usados em cálculos científicos. Vários sistemas de processamento de informação genética, dados espaciais e financeiros são mencionados como áreas de aplicação do TileDB, ou seja, sistemas operacionais escasso ou matrizes multidimensionais preenchidas continuamente. TileDB oferece uma biblioteca C++ para abstrair de forma transparente o acesso a dados e metadados em aplicativos, cuidando de todo o trabalho de baixo nível para um armazenamento eficiente. O código do projeto é escrito em C++ e distribuído por sob licença do MIT. Suporta trabalho em Linux, macOS e Windows.
Principais recursos do TileDB:
Métodos eficientes para armazenar matrizes esparsas, cujos dados não são contínuos; a matriz é preenchida com fragmentos e a maioria dos elementos permanece vazia ou assume o mesmo valor.
Capacidade de acessar dados em formato de valor-chave ou conjuntos de colunas (Quadro de dados);
Suporta integração com armazenamento em nuvem AWS S3, Google Cloud Storage e Azure Blob Storage;
Suporte para matrizes lado a lado (bloco);
Capacidade de usar diferentes algoritmos de compactação e criptografia de dados;
Suporte para verificação de integridade usando checksums;
Trabalhe em modo multithread com entrada/saída paralela;
Suporte para controle de versão de dados armazenados, inclusive para recuperação de estado em um determinado ponto no passado ou atualizações atômicas de grandes conjuntos inteiros.
Capacidade de vincular metadados;
Suporte para 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 para a API C++ para Python, R, Java e Go.
A versão 2.0 se destaca pelo suporte ao conceito “DataFrame”, que permite armazenar dados na forma de colunas de valores de comprimento arbitrário, vinculados a determinados atributos. O armazenamento também é otimizado para processar arrays esparsos de tamanhos heterogêneos (as células podem armazenar dados de diferentes tipos e podem realizar operações de mesclagem em colunas de diferentes tipos, por exemplo, aquelas que armazenam nome, hora e preço). Adicionado suporte para colunas com dados de string. Adicionados módulos para integração com Google Cloud Storage e Azure Blob Storage. A API para a linguagem R foi redesenhada.