Veröffentlichung der TileDB 2.0-Speicher-Engine

Verfasst von Repository TileDB 2.0, optimiert für die Speicherung mehrdimensionaler Arrays und Daten, die in wissenschaftlichen Berechnungen verwendet werden. Als Einsatzgebiete für TileDB werden verschiedene Systeme zur Verarbeitung genetischer Informationen, räumlicher und finanzieller Daten genannt, d. h. Betriebssysteme spärlich oder kontinuierlich gefüllte mehrdimensionale Arrays. TileDB bietet eine C++-Bibliothek zur transparenten Abstraktion des Zugriffs auf Daten und Metadaten in Anwendungen und übernimmt die gesamte Arbeit auf niedriger Ebene für eine effiziente Speicherung. Der Projektcode ist in C++ geschrieben und vertrieben von unter MIT-Lizenz. Unterstützt die Arbeit unter Linux, macOS und Windows.

Hauptmerkmale von TileDB:

  • Effiziente Methoden zum Speichern von spärlichen Arrays, deren Daten nicht kontinuierlich sind; das Array ist mit Fragmenten gefüllt und die meisten Elemente bleiben leer oder nehmen den gleichen Wert an.
  • Möglichkeit zum Zugriff auf Daten im Schlüsselwertformat oder in Spaltensätzen (Datenrahmen);

    Veröffentlichung der TileDB 2.0-Speicher-Engine

  • Unterstützt die Integration mit Cloud-Speicher AWS S3, Google Cloud Storage und Azure Blob Storage;
  • Unterstützung für gekachelte (Block-)Arrays;
  • Möglichkeit, verschiedene Datenkomprimierungs- und Verschlüsselungsalgorithmen zu verwenden;
  • Unterstützung der Integritätsprüfung mittels Prüfsummen;
  • Arbeiten Sie im Multithread-Modus mit paralleler Ein-/Ausgabe;
  • Unterstützung für die Versionierung gespeicherter Daten, einschließlich des Abrufens des Status zu einem bestimmten Zeitpunkt in der Vergangenheit oder atomarer Aktualisierungen ganzer großer Datenmengen.
  • Möglichkeit zur Verknüpfung von Metadaten;
  • Unterstützung für Datengruppierung;
  • Integrationsmodule zur Verwendung als Low-Level-Speicher-Engine in Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF und PrestoDB;
  • Bindungsbibliotheken für die C++-API für Python, R, Java und Go.

Release 2.0 zeichnet sich durch die Unterstützung des „DataFrame“-Konzepts aus, das die Speicherung von Daten in Form von Wertespalten beliebiger Länge ermöglicht, die an bestimmte Attribute gebunden sind. Der Speicher ist auch für die Verarbeitung dünnbesetzter Arrays unterschiedlicher Größe optimiert (Zellen können Daten unterschiedlicher Typen speichern und Zusammenführungsvorgänge für Spalten unterschiedlicher Typen durchführen, z. B. solche, die Name, Zeit und Preis speichern). Unterstützung für Spalten mit Zeichenfolgendaten hinzugefügt. Module für die Integration mit Google Cloud Storage und Azure Blob Storage hinzugefügt. Die API für die R-Sprache wurde neu gestaltet.

Source: opennet.ru

Kommentar hinzufügen