HSE, механізм зберігання з відкритим кодом, оптимізований SSE для SSD

Компанія Micron Technology (що спеціалізується на виробництві DRAM та флеш-пам'яті) оголосила про впровадження нового двигуна під назвою "HSE" (Heterogeneous-memory Storage Engine), який був розроблений з урахуванням специфічних особливостей використання в SSD-пристроях на базі флеш-пам'яті NAND (X100, TLC, QLC 3D NAND) або пам'яті лише для читання (NVDIMM).

Двигун розроблено як бібліотека для вбудовування в інші програми та підтримує обробку даних типу «ключ-значення» . Код HSE написаний на C та розповсюджується за ліцензією Apache 2.0.

Серед застосувань рушія – низькорівневе зберігання даних у NoSQL СУБД, програмно-визначені сховища (SDS), такі як 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 КБ. Особливо значне збільшення продуктивності спостерігалося в тесті з рівномірним розподілом операцій читання та запису.

Наприклад, MongoDB з движком HSE виявився приблизно у 8 разів швидшим за версію зі стандартним движком WiredTiger, а движок СУБД RocksDB перевершив HSE більш ніж у 6 разів. Відмінні показники продуктивності також видно в тестах, які включали 95% операцій читання та лише 5% змін або доповнень.

Інший проведений тест передбачає лише операції зчитування, він показує прибуток близько 40%. Зростання життєздатності твердотільних накопичувачів під час операцій запису порівняно з рішенням на основі RocksDB оцінюється в 7 разів.

Основні характеристики HSE:

  • Підтримка стандартних та просунутих операторів обробляти дані у форматі ключ / значення;
  • Повна підтримка транзакцій та можливість виділення сегментів сховища шляхом створення знімків (знімки також можна використовувати для ведення окремих колекцій у магазині).
  • Можливість використання курсорів для обходу даних у представленнях на основі знімків.
  • Модель даних, оптимізована для змішаних типів навантаження в одному сховищі.
  • Гнучкі механізми для управління надійністю зберігання.
  • Настроювані схеми оркестрування даних (розподіл через різні типи пам'яті, присутніх у сховищі).
  • Бібліотека з C API які можуть бути динамічно пов’язані з будь-яким додатком.
    Можливість масштабування до терабайт даних та сотні мільярдів ключів у сховищі.
  • Ефективна обробка тисяч паралельних операцій.
  • Значне збільшення пропускної здатності, зменшення затримки та збільшення читання / запису для різних типів робочих навантажень порівняно із типовими обхідними шляхами.
  • Можливість використання різних класів твердотільних накопичувачів в одному сховищі для оптимізації продуктивності та довговічності.

Ви можете отримати доступ до коду двигуна за наступним посиланням.


Додати як пріоритетне джерело в Google