PDA

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


Suicide
28.04.2020, 22:29
Компания Micron Technology, специализирующаяся на производстве DRAM и флеш-памяти, представила (https://investors.micron.com/news-releases/news-release-details/micron-unveils-worlds-first-open-source-storage-engine-designed) новый движок хранения HSE (https://www.micron.com/hse) (Heterogeneous-memory Storage Engine), разработанный с учётом специфики использования на SSD-накопителях, основанных на NAND flash (X100, TLC, QLC 3D NAND) или постоянной памяти (NVDIMM). Движок выполнен в форме библиотеки для встраивания в другие приложения и поддерживает обработку данных в формате ключ-значение. Код HSE написан на языке Си и распространяется (https://github.com/hse-project/hse/) под лицензией Apache 2.0.

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

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

Технологически HSE опирается на дополнительный модуль ядра mpool (https://github.com/hse-project/mpool/), который реализует специализированный интерфейс хранения объектов для твердотельных дисков с учётом их возможностей и особенностей, что позволяет получить принципиально другие характеристики быстродействия и долговечности. Mpool также является разработкой Micron Technology открытой одновременно с HSE, но выделен в самостоятельный инфраструктурный проект. Mpool предполагает использование персистентной памяти (https://en.wikipedia.org/wiki/NVDIMM) и зональных хранилищ (http://zonedstorage.io/), но в настоящее время реализована поддержка только традиционных SSD.

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

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

https://www.opennet.ru/opennews/pics_base/0_1588056454.png (https://github.com/hse-project/hse/raw/master/img/HSE-MongoDB-YCSB-Tput.png)https://www.opennet.ru/opennews/pics_base/0_1588056442.png (https://github.com/hse-project/hse/raw/master/img/HSE-RocksDB-YCSB-Tput.png)

Ключевые особенности HSE:


Поддержка типовых и расширенных операторов для обработки данных в формате ключ/значение;

Полная поддержка транзакций и с возможностью изоляции срезов хранилища через создание снапшотов (снапшоты также могут применяться для поддержания независимых коллекций в одном хранилище);

Возможность использования курсоров для обхода данных в представлениях на основе снапшота;

Модель данных, оптимизированная для смешанных типов нагрузки в одном хранилище;

Гибкие механизмы управления надёжностью хранения;

Настраиваемые схемы оркестровки данных (распределения по разным типам памяти, присутствующим в хранилище);

Библиотека с C API, которая может динамически связываться с любыми приложениями;

Возможность масштабирования до терабайтов данных и сотен миллиардов ключей в хранилище;

Эффективная обработка тысяч параллельных операций;

Значительное увеличение пропускной способности, снижение задержек и усиление записи/чтения для различных видов нагрузки по сравнению с типовыми альтернативными решениями;

Возможность использовать в одном хранилище SSD-накопители разных классов для оптимизации производительности и долговечности.
https://www.opennet.ru/opennews/pics_base/0_1588058336.png (https://www.micron.com/-/media/client/global/images/infographics/hse_desktop.png?la=en&rev=c74db46165824086a7cfe2c5fd6fe808&hash=2FEA5AC2D9DD40DE76AA10C98760DC17)

28.04.2020

https://www.opennet.ru/opennews/art.shtml?num=52827​