Micron Technology (firma specjalizująca się w produkcji pamięci DRAM i flash) ogłosiła wprowadzenie nowego silnika o nazwie „HSE” (Heterogeneous-memory Storage Engine), który został opracowany z uwzględnieniem specyfiki zastosowań w dyskach SSD opartych na pamięci flash NAND (X100, TLC, QLC 3D NAND) lub pamięci tylko do odczytu (NVDIMM).
Silnik został zaprojektowany jako biblioteka do osadzenia w innych aplikacjach i obsługuje przetwarzanie danych typu klucz-wartość . Kod HSE jest napisany w języku C i rozpowszechniany na licencji Apache 2.0.
Silnik ten jest wykorzystywany m.in. do przechowywania danych niskiego poziomu w systemach NoSQL DBMS, do przechowywania danych zdefiniowanych programowo (SDS), takich jak Ceph i Scality RING, do platform przetwarzania dużych ilości danych (Big Data), do systemów obliczeniowych o wysokiej wydajności (HPC), do urządzeń Internetu rzeczy (IoT) oraz do rozwiązań dla systemów uczenia maszynowego.
Technologia HSE jest zoptymalizowana nie tylko pod kątem maksymalnej wydajności , ale także zapewnienia trwałości różnych klas dysków SSD. Wysoka prędkość jest osiągana dzięki hybrydowemu modelowi pamięci masowej: najważniejsze dane są przechowywane w pamięci podręcznej, co zmniejsza liczbę dostępów do dysku.
Jako przykład integracji nowego silnika z zewnętrznymi projektami przygotowano dokumentacyjną wersję bazy danych MongoDB DBMS, która została przetłumaczona na HSE.

Pod względem technologicznym HSE opiera się na dodatkowym module rdzeniowym, mpool , który implementuje wyspecjalizowany interfejs do przechowywania obiektów na dyskach SSD, uwzględniając ich możliwości i charakterystykę, umożliwiając tym samym fundamentalnie różne parametry szybkości i trwałości. Mpool to również projekt open source firmy Micron Technology, wydany równolegle z HSE, ale wyróżnia się jako odrębny projekt infrastrukturalny. Mpool zakłada wykorzystanie pamięci trwałej i pamięci strefowej, ale obecnie obsługiwane są tylko tradycyjne dyski SSD.
Testy wydajności z wykorzystaniem pakietu YCSB (Yahoo Cloud Serving Benchmark) wykazały znaczny wzrost wydajności przy użyciu 2 TB pamięci masowej i przetwarzaniu bloków danych o rozmiarze 1 KB. Szczególnie znaczący wzrost wydajności zaobserwowano w teście przy równomiernym rozłożeniu operacji odczytu i zapisu.
Na przykład MongoDB z silnikiem HSE okazał się około 8 razy szybszy niż wersja ze standardowym silnikiem WiredTiger, a silnik RocksDB DBMS przewyższył HSE ponad 6-krotnie. Doskonałe wskaźniki wydajności są również widoczne w testach, które obejmowały 95% operacji odczytu i tylko 5% zmian lub dodatków.
Inny wykonany test obejmuje tylko operacje odczytu, wykazuje zysk około 40%. Szacuje się, że wzrost przeżywalności dysków SSD podczas operacji zapisu w porównaniu z rozwiązaniem opartym na RocksDB wynosi 7 razy.
Kluczowe cechy HSE:
- Wsparcie dla standardowych i zaawansowanych operatorów przetwarzanie danych w formacie klucz / wartość;
- Pełna obsługa transakcji i możliwość wyodrębnienia segmentów magazynu poprzez tworzenie migawek (migawki mogą być również używane do utrzymywania oddzielnych kolekcji w sklepie).
- Możliwość używania kursorów do przechodzenia po danych w reprezentacjach opartych na migawkach.
- Model danych zoptymalizowany pod kątem mieszanych typów obciążenia w jednym repozytorium.
- Elastyczne mechanizmy zarządzanie niezawodnością pamięci masowej.
- Konfigurowalne schematy orkiestracji danych (dystrybucja przez różne typy pamięci obecnej w repozytorium).
- Biblioteka z C API które można dynamicznie łączyć z dowolną aplikacją.
Możliwość skalowania do terabajtów danych i setek miliardów kluczy w pamięci masowej. - Efektywne przetwarzanie tysięcy równoległych operacji.
- Znaczny wzrost przepustowości, mniejsze opóźnienia i zwiększone odczyt / zapis dla różnych typów obciążenia w porównaniu z typowymi obejściami.
- Możliwość korzystania z różnych klas dysków SSD w tej samej pamięci masowej w celu optymalizacji wydajności i trwałości.
Dostęp do kodu silnika można uzyskać, klikając poniższy link.