Опубликовано repozytorium TileDB 2.0, zoptymalizowany do przechowywania wielowymiarowych tablic i danych wykorzystywanych w obliczeniach naukowych. Jako obszary zastosowań TileDB wymienia się różne systemy przetwarzania informacji genetycznej, danych przestrzennych i finansowych, tj. system operacyjny rzadki lub stale wypełnione tablice wielowymiarowe. TileDB oferuje bibliotekę C++ do przejrzystego wyodrębniania dostępu do danych i metadanych w aplikacjach, dbając o całą pracę na niskim poziomie w celu wydajnego przechowywania. Kod projektu jest napisany w C++ i dystrybuowane przez na licencji MIT. Obsługuje pracę w systemach Linux, macOS i Windows.
Główne cechy TileDB:
Efektywne metody przechowywania rzadkich tablic, w których dane nie są ciągłe, tablica jest wypełniona fragmentami, a większość elementów pozostaje pusta lub przyjmuje tę samą wartość.
Możliwość dostępu do danych w formacie klucz-wartość lub w zestawach kolumn (Ramka danych);
Obsługuje integrację z magazynem w chmurze AWS S3, Google Cloud Storage i Azure Blob Storage;
Obsługa tablic kafelkowych (blokowych);
Możliwość stosowania różnych algorytmów kompresji i szyfrowania danych;
Wsparcie sprawdzania integralności za pomocą sum kontrolnych;
Praca w trybie wielowątkowym z równoległym wejściem/wyjściem;
Obsługa wersjonowania przechowywanych danych, w tym pobierania stanu w określonym momencie w przeszłości lub atomowych aktualizacji całych dużych zestawów.
Możliwość łączenia metadanych;
Wsparcie grupowania danych;
Moduły integracyjne do wykorzystania jako silnik pamięci masowej niskiego poziomu w Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF i PrestoDB;
Biblioteki wiązania dla API C++ dla Pythona, R, Java i Go.
Wersja 2.0 wyróżnia się obsługą koncepcji „DataFrame”, która umożliwia przechowywanie danych w postaci kolumn wartości o dowolnej długości, powiązanych z określonymi atrybutami. Pamięć jest również zoptymalizowana pod kątem przetwarzania rzadkich tablic o heterogenicznych rozmiarach (komórki mogą przechowywać dane różnych typów i wykonywać operacje scalania na kolumnach różnych typów, na przykład przechowujących nazwę, czas i cenę). Dodano obsługę kolumn z danymi łańcuchowymi. Dodano moduły do integracji z Google Cloud Storage i Azure Blob Storage. Przeprojektowano interfejs API dla języka R.