HSE, atvirojo kodo saugojimo variklis, optimizavo SSE SSD

„Micron Technology“ (įmonė, kuri specializuojasi DRAM ir „flash“ atminties gamyboje) paskelbė apie naujo variklio, pavadinto „HSE“ (Heterogeninės atminties saugojimo variklis), pristatymą , kuris buvo sukurtas atsižvelgiant į specifines SSD įrenginių, pagrįstų NAND „flash“ (X100, TLC, QLC 3D NAND) arba tik skaitymui skirtos atminties (NVDIMM), naudojimo ypatybes.

Variklis sukurtas kaip biblioteka , skirta įterpti į kitas programas, ir palaiko rakto ir reikšmės duomenų apdorojimą . HSE kodas parašytas C kalba ir platinamas pagal „Apache 2.0“ licenciją.

Tarp variklio taikymo sričių yra žemo lygio duomenų saugojimas NoSQL DBMS, programinės įrangos apibrėžtos saugyklos (SDS), tokios kaip „Ceph“ ir „Scality RING“, platformos dideliems duomenų kiekiams (Big Data) apdoroti, didelio našumo skaičiavimo (HPC) sistemos, daiktų interneto (IoT) įrenginiai ir mašininio mokymosi sistemų sprendimai.

HSE yra optimizuotas ne tik maksimaliam našumui , bet ir įvairių SSD klasių patvarumui užtikrinti. Didelis greitis pasiekiamas naudojant hibridinį saugojimo modelį: svarbiausi duomenys saugomi podėlėje, taip sumažinant disko pasiekimų skaičių.

Kaip naujo variklio integravimo į trečiųjų šalių projektus pavyzdys, buvo parengta į dokumentus orientuota „MongoDB DBMS“ versija, kuri buvo išversta į HSE.

Technologiškai HSE pagrįstas papildomu pagrindiniu moduliu „mpool“ , kuris įgyvendina specializuotą sąsają objektams saugoti SSD diskams, atsižvelgiant į jų galimybes ir charakteristikas, taip įgalindamas iš esmės skirtingas greičio ir ilgaamžiškumo savybes. „Mpool“ taip pat yra „Micron Technology“ atvirojo kodo kūrinys, išleistas kartu su HSE, tačiau jis išsiskiria kaip atskiras infrastruktūros projektas. „Mpool“ remiasi nuolatinės atminties ir zoninės saugyklos naudojimu, tačiau šiuo metu palaikomi tik tradiciniai SSD diskai.

Našumo testai, atlikti naudojant YCSB („Yahoo Cloud Serving Benchmark“) paketą, parodė reikšmingą našumo padidėjimą, kai buvo naudojama 2 TB saugykla ir apdorojamas 1 KB duomenų blokas. Ypač reikšmingas našumo padidėjimas pastebėtas teste, kai skaitymo ir rašymo operacijos buvo paskirstytos tolygiai.

Pavyzdžiui, „MongoDB“ su HSE varikliu pasirodė esanti maždaug 8 kartus greitesnė nei versija su standartiniu „WiredTiger“ varikliu, o „RocksDB“ DBMS variklis pranoko HSE daugiau nei 6 kartus. Puikūs našumo rodikliai matomi ir testuose, kuriuose buvo atlikta 95 % skaitymo operacijų ir tik 5 % pakeitimų ar papildymų.

Kitas atliktas testas apima tik skaitymo operacijas, jis rodo apie 40% pelną. Manoma, kad SSD išgyvenamumo padidėjimas rašymo operacijų metu, palyginti su „RocksDB“ pagrindu sukurtu sprendimu, yra 7 kartus.

Pagrindinės HSE savybės:

  • Palaikymas standartiniams ir pažengusiems operatoriams apdoroti duomenis rakto / vertės formatu;
  • Visiškas operacijų palaikymas ir galimybė izoliuoti saugyklos segmentus kuriant momentines nuotraukas (momentinės nuotraukos taip pat gali būti naudojamos atskiroms kolekcijoms palaikyti parduotuvėje).
  • Galimybė naudoti žymeklius norint pereiti duomenis vaizdais pagrįstose reprezentacijose.
  • Duomenų modelis, optimizuotas mišrioms apkrovos rūšims vienoje saugykloje.
  • Lankstūs mechanizmai valdyti saugojimo patikimumą.
  • Tinkinamos duomenų tvarkymo schemos (paskirstymas per įvairias atminties rūšis, esančias saugykloje).
  • Biblioteka su C API kurį galima dinamiškai susieti su bet kuria programa.
    Galimybė išplėsti iki terabaitų duomenų ir šimtų milijardų raktų saugykloje.
  • Efektyvus tūkstančių lygiagrečių operacijų apdorojimas.
  • Žymiai padidėjęs pralaidumas, sumažėjęs delsos laikas ir didesnis skaitymo / rašymo įvairių tipų krūviui, palyginti su tipiškais būdais.
  • Galimybė naudoti skirtingų klasių SSD diskus toje pačioje saugykloje, siekiant optimizuoti našumą ir patvarumą.

Variklio kodą galite pasiekti iš šios nuorodos.


Pridėti kaip pageidaujamą šaltinį „Google“ sistemoje