Компания 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 раз. Ключевые особенности HSE: Поддержка типовых и расширенных операторов для обработки данных в формате ключ/значение; Полная поддержка транзакций и с возможностью изоляции срезов хранилища через создание снапшотов (снапшоты также могут применяться для поддержания независимых коллекций в одном хранилище); Возможность использования курсоров для обхода данных в представлениях на основе снапшота; Модель данных, оптимизированная для смешанных типов нагрузки в одном хранилище; Гибкие механизмы управления надёжностью хранения; Настраиваемые схемы оркестровки данных (распределения по разным типам памяти, присутствующим в хранилище); Библиотека с C API, которая может динамически связываться с любыми приложениями; Возможность масштабирования до терабайтов данных и сотен миллиардов ключей в хранилище; Эффективная обработка тысяч параллельных операций; Значительное увеличение пропускной способности, снижение задержек и усиление записи/чтения для различных видов нагрузки по сравнению с типовыми альтернативными решениями; Возможность использовать в одном хранилище SSD-накопители разных классов для оптимизации производительности и долговечности. 28.04.2020 https://www.opennet.ru/opennews/art.shtml?num=52827