przechowywanie , zoptymalizowane do przechowywania wielowymiarowych tablic i danych używanych w obliczeniach naukowych. Do zastosowań TileDB zaliczają się różne systemy przetwarzania informacji genetycznej, danych przestrzennych oraz finansowych, tj. systemy operujące lub ciągłymi wielowymiarowymi tablicami. TileDB oferuje bibliotekę C++ do przejrzystego abstrakcyjnego dostępu do danych i metadanych w aplikacjach, biorąc na siebie całą pracę związaną z niskopoziomową organizacją efektywnego przechowywania. Kod projektu został napisany w języku C++ i jest objęty licencją MIT. Obsługiwane są systemy Linux, macOS i Windows.
Główne cechy TileDB:
- Efektywne metody przechowywania rzadkich tablic, w których dane nie występują w sposób ciągły, tablica wypełniana jest fragmentami, a większość elementów pozostaje pustych lub przyjmuje tę samą wartość.
- Możliwość dostępu do danych w formacie klucz-wartość lub zestawów kolumn ();
- Wsparcie dla integracji z chmurami AWS S3, Google Cloud Storage i Azure Blob Storage;
- Wsparcie dla mozaikowych (blokowych) tablic;
- Możliwość stosowania różnych algorytmów kompresji i szyfrowania danych;
- Wsparcie dla weryfikacji integralności za pomocą sum kontrolnych;
- Praca w trybie wielowątkowym z równoległym wejściem/wyjściem;
- Wsparcie dla wersjonowania przechowywanych danych, w tym do pobierania stanu w określonym momencie w przeszłości lub atomowych aktualizacji całych dużych zbiorów.
- Możliwość dołączania metadanych;
- Wsparcie dla grupowania danych;
- Moduły integracyjne do wykorzystania jako niskopoziomowy silnik przechowywania w Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF i PrestoDB;
- Biblioteki opakowujące nad API C++ dla języków Python, R, Java i Go.
Wydanie 2.0 wyróżnia się wsparciem dla koncepcji „DataFrame”, co pozwala na przechowywanie danych w formie kolumn z wartościami o dowolnej długości, powiązanych z określonymi atrybutami. Magazyn został również zoptymalizowany do obsługi rzadkich tablic o zróżnicowanej wielkości (w komórkach mogą być przechowywane dane różnych typów, a operacje łączenia kolumn różnych typów, takich jak przechowujące nazwę, czas i cenę, mogą być wykonywane). Dodano wsparcie dla kolumn z danymi tekstowymi. Dodano moduły do integracji z Google Cloud Storage i Azure Blob Storage. Przeprojektowano API dla języka R.
Źródło: opennet.ru
