Wydanie silnika pamięci masowej TileDB 2.0

Опубликовано 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);

    Wydanie silnika pamięci masowej TileDB 2.0

  • 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.

Źródło: opennet.ru

Dodaj komentarz