Выпуск движка хранения TileDB 2.0

Опубликовано хранилище TileDB 2.0, оптимизированное для хранения многомерных массивов и данных, используемых в научных расчётах. В качестве областей применения TileDB упоминаются различные системы обработки генетической информации, пространственных и финансовых данных, т.е. системы оперирующие разреженными или непрерывно заполняемыми многомерными массивами. TileDB предлагает С++ библиотеку для прозрачного абстрагирования доступа к данным и метаданным в приложениях, беря на себя всю работу по низкоуровневой организации эффективного хранения. Код проекта написан на языке С++ и распространяется под лицензией MIT. Поддерживается работа в Linux, macOS и Windows.

Основные особенности TileDB:

  • Эффективные методы хранения разреженных массивов, данные в которых не следуют непрерывно, массив заполняется фрагментами и большая часть элементов остаются пустыми или принимают одно и то же значение.
  • Возможность доступа к данным в формате ключ-значение или наборов столбцов (DataFrame);

    
Выпуск движка хранения TileDB 2.0

  • Поддержка интеграции с облачными хранилищами AWS S3, Google Cloud Storage и Azure Blob Storage;
  • Поддержка мозаичных (блочных) массивов;
  • Возможность использования разных алгоритмов сжатия и шифрования данных;
  • Поддержка проверки целостности по контрольным суммам;
  • Работа в многопоточном режиме c распараллеливанием ввода/вывода;
  • Поддержка версионирования хранимых данных в том числе для выборки состояния в определённый момент в прошлом или атомарных обновлений целиком больших наборов.
  • Возможность привязки метаданных;
  • Поддержка группировки данных;
  • Модули интеграции для использования в качестве низкоуровневого движка хранения в Spark, Dask, MariaDB, GDAL, PDAL, Rasterio, gVCF и PrestoDB;
  • Библиотеки-обвязки над C++ API для языков Python, R, Java и Go.

Выпуск 2.0 примечателен поддержкой концепции «DataFrame», которая позволяет хранить данные в форме столбцов значений произвольной длины, привязанных к определённым атрибутам. Хранилище также оптимизировано для обработки разреженных массивов разнородного размера (в ячейках могут хранится данные разного типа и можно выполнять операции слияния столбцов разного типа, например, в которых хранится название, время и цена). Добавлена поддержка столбцов со строковыми данными. Добавлены модули для интеграции с Google Cloud Storage и Azure Blob Storage. Переработан API для языка R.

Источник: opennet.ru