Micron открыл код движка хранения HSE, оптимизированного для SSD

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 28 Apr 2020.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,373
    Likes Received:
    6,619
    Reputations:
    693
    Компания Micron Technology, специализирующаяся на производстве DRAM и флеш-памяти, представила новый движок хранения HSE (Heterogeneous-memory Storage Engine), разработанный с учётом специфики использования на SSD-накопителях, основанных на NAND flash (X100, TLC, QLC 3D NAND) или постоянной памяти (NVDIMM). Движок выполнен в форме библиотеки для встраивания в другие приложения и поддерживает обработку данных в формате ключ-значение. Код HSE написан на языке Си и распространяется под лицензией Apache 2.0.

    Из областей применения движка упоминается применение для низкоуровневого хранения данных в NoSQL СУБД, программных хранилищах (SDS, Software-Defined Storage) типа Ceph и Scality RING, платформах для обработки больших объёмов данных (Big Data), системах высокопроизводительных вычислений (HPC), устройствах интернета вещей (IoT) и решениях для систем машинного обучения.

    HSE оптимизирован не только для достижения максимальной производительности, но и для обеспечения долговечности работы различных классов SSD-накопителей. Высокая скорость работы достигается за счёт гибридной модели хранения - наиболее актуальные данные кэшируются в ОЗУ, что снижает число обращений к накопителю. В качестве примера интеграции нового движка в сторонние проекты подготовлен вариант документо-ориентированной СУБД MongoDB, переведённый на использование HSE.

    Технологически HSE опирается на дополнительный модуль ядра mpool, который реализует специализированный интерфейс хранения объектов для твердотельных дисков с учётом их возможностей и особенностей, что позволяет получить принципиально другие характеристики быстродействия и долговечности. Mpool также является разработкой Micron Technology открытой одновременно с HSE, но выделен в самостоятельный инфраструктурный проект. Mpool предполагает использование персистентной памяти и зональных хранилищ, но в настоящее время реализована поддержка только традиционных SSD.

    Тестирование производительности при помощи пакета YCSB (Yahoo Cloud Serving Benchmark) показало существенный прирост производительности при использовании хранилища размером 2 ТБ с обработкой блоков данных размером 1КБ. Особенно значительный прирост производительности наблюдается в тесте с равномерным распределением операций чтении и записи (тест "A" на графике).

    Например, MongoDB с движком HSE оказался быстрее варианта со штатным движком WiredTiger примерно в 8 раз, а СУБД RocksDB движок HSE обогнал более чем в 6 раз. Отличные показатели также видны в тестах, в которых фигурируют 95% операций чтения и 5% изменения или добавления (тесты "B" и "D" на графиках). В тесте "С", подразумевающем только операции чтения, демонстрируется выигрыш примерно на 40%. Увеличение живучести накопителей SSD при операциях записи по сравнению с решением на базе RocksDB оценивается в 7 раз.

    [​IMG][​IMG]
    Ключевые особенности HSE:

    • Поддержка типовых и расширенных операторов для обработки данных в формате ключ/значение;
    • Полная поддержка транзакций и с возможностью изоляции срезов хранилища через создание снапшотов (снапшоты также могут применяться для поддержания независимых коллекций в одном хранилище);
    • Возможность использования курсоров для обхода данных в представлениях на основе снапшота;
    • Модель данных, оптимизированная для смешанных типов нагрузки в одном хранилище;
    • Гибкие механизмы управления надёжностью хранения;
    • Настраиваемые схемы оркестровки данных (распределения по разным типам памяти, присутствующим в хранилище);
    • Библиотека с C API, которая может динамически связываться с любыми приложениями;
    • Возможность масштабирования до терабайтов данных и сотен миллиардов ключей в хранилище;
    • Эффективная обработка тысяч параллельных операций;
    • Значительное увеличение пропускной способности, снижение задержек и усиление записи/чтения для различных видов нагрузки по сравнению с типовыми альтернативными решениями;
    • Возможность использовать в одном хранилище SSD-накопители разных классов для оптимизации производительности и долговечности.
    [​IMG]

     
    CKAP, seostock and Baskin-Robbins like this.