DRAM 및 플래시 메모리 생산 전문 기업인 마이크론 테크놀로지 는 NAND 플래시(X100, TLC, QLC 3D NAND) 또는 읽기 전용 메모리(NVDIMM) 기반 SSD 장치 의 특성을 고려하여 개발된 "HSE" (Heterogeneous-memory Storage Engine) 라는 새로운 엔진을 출시했다고 발표했습니다.
이 엔진은 다른 애플리케이션에 내장할 수 있는 라이브러리로 설계되었으며 키-값 데이터 처리를 지원합니다 . HSE 코드는 C 언어로 작성되었으며 Apache 2.0 라이선스에 따라 배포됩니다.
이 엔진의 응용 분야로 는 NoSQL DBMS의 저수준 데이터 저장 , Ceph 및 Scality RING과 같은 소프트웨어 정의 스토리지(SDS), 대용량 데이터(빅 데이터) 처리 플랫폼, 고성능 컴퓨팅(HPC) 시스템, 사물 인터넷(IoT) 장치 및 머신 러닝 시스템 솔루션 등이 있습니다.
HSE는 최대 성능뿐만 아니라 다양한 SSD 등급의 내구성까지 보장하도록 최적화되어 있습니다. 고속 처리는 하이브리드 스토리지 모델을 통해 구현됩니다. 가장 중요한 데이터는 캐시에 저장되어 디스크 접근 횟수를 줄여줍니다.
새로운 엔진을 써드 파티 프로젝트에 통합하는 예로 MongoDB DBMS의 문서 지향 버전이 준비되어 HSE를 사용하도록 번역되었습니다.

기술적으로 HSE는 추가 코어 모듈인 mpool을 기반으로 합니다. mpool 은 솔리드 스테이트 드라이브(SSD)의 기능과 특성을 고려하여 객체 저장을 위한 특수 인터페이스를 구현함으로써 근본적으로 다른 속도와 내구성 기능을 제공합니다. mpool 또한 마이크론 테크놀로지에서 개발한 오픈 소스 프로젝트로, HSE와 동시에 출시되었지만 별도의 인프라 프로젝트로 구분됩니다. mpool은 영구 메모리와 영역 스토리지를 사용하도록 설계되었지만 현재는 기존 SSD만 지원합니다.
YCSB (Yahoo Cloud Serving Benchmark) 패키지를 사용한 성능 테스트 결과, 2TB 스토리지와 1KB 데이터 블록 처리 환경에서 성능이 크게 향상되는 것으로 나타났습니다. 특히 읽기 및 쓰기 작업이 균등하게 분산된 테스트에서 성능 향상이 두드러지게 나타났습니다.
예를 들어, HSE 엔진을 탑재한 MongoDB는 표준 WiredTiger 엔진을 탑재한 버전보다 약 8배 빠른 것으로 나타났 으며, RocksDB DBMS 엔진은 HSE보다 6배 이상 뛰어난 성능을 보였습니다. 이러한 우수한 성능은 테스트 결과에서도 확인할 수 있는데, 전체 작업의 95%가 읽기 작업이었고 변경 또는 추가 작업은 5%에 불과했습니다.
수행 된 또 다른 테스트는 읽기 작업 만 포함하며 약 40 %의 이익을 보여줍니다. RocksDB 기반 솔루션에 비해 쓰기 작업 중 SSD의 생존 가능성 증가는 7 배로 추정됩니다.
HSE의 주요 특징 :
- 표준 및 고급 운영자 지원 키 / 값 형식으로 데이터 처리
- 전체 트랜잭션 지원 및 스냅 샷을 생성하여 스토리지 세그먼트를 분리하는 기능 (스냅 샷을 사용하여 저장소에서 별도의 컬렉션을 유지 관리 할 수도 있음).
- 커서를 사용하여 스냅 샷 기반 표현에서 데이터를 순회하는 기능.
- 단일 저장소에서 혼합 된로드 유형에 최적화 된 데이터 모델입니다.
- 유연한 메커니즘 스토리지 안정성을 관리합니다.
- 사용자 정의 가능한 데이터 오케스트레이션 체계 (저장소에있는 다양한 유형의 메모리를 통한 배포)
- C API가있는 라이브러리 모든 애플리케이션에 동적으로 연결될 수 있습니다.
테라 바이트의 데이터와 수 천억 개의 스토리지 키로 확장 할 수있는 기능입니다. - 수천 개의 병렬 작업을 효과적으로 처리합니다.
- 일반적인 해결 방법에 비해 대역폭이 크게 증가하고 지연 시간이 감소하며 다양한 유형의 워크로드에 대한 읽기 / 쓰기가 증가합니다.
- 성능과 내구성을 최적화하기 위해 동일한 스토리지에서 다른 등급의 SSD를 사용할 수있는 기능.
다음 링크에서 엔진 코드를 확인할 수 있습니다 .