Micron Technology, et selskap som spesialiserer seg på produksjon av DRAM og flash-minne, har publisert utgivelsen av lagringsmotoren HSE 3.0 (Heterogeneous-memory Storage Engine), designet med tanke på spesifikasjonene ved bruk på SSD-stasjoner og skrivebeskyttet minne ( NVDIMM). Motoren er designet som et bibliotek for innbygging i andre applikasjoner og støtter behandling av data i nøkkelverdi-format. HMS-koden er skrevet i C og er lisensiert under Apache 2.0-lisensen.
HSE er ikke bare optimalisert for maksimal ytelse, men også for lang levetid på tvers av en rekke SSD-klasser. Høy driftshastighet oppnås gjennom en hybrid lagringsmodell - de mest relevante dataene bufres i RAM, noe som reduserer antall tilganger til stasjonen. Motoren kan brukes til datalagring på lavt nivå i NoSQL DBMS, programvarelagring (SDS, Software-Defined Storage) som Ceph og Scality RING, plattformer for behandling av store datamengder (Big Data), høyytelses databehandling (HPC) ) systemer, Internet of Things (IoT) enheter ) og løsninger for maskinlæringssystemer. Som eksempel på integrering av motoren i tredjepartsprosjekter er det utarbeidet en versjon av det dokumentorienterte DBMS MongoDB, konvertert til å bruke HMS.
Hovedtrekk ved HMS:
- Støtte for generiske og utvidede operatører for håndtering av data i nøkkel/verdi-format;
- Full støtte for transaksjoner med muligheten til å isolere lagringsstykker gjennom opprettelse av øyeblikksbilder (øyeblikksbilder kan også brukes til å opprettholde uavhengige samlinger i ett lager);
- Muligheten til å bruke markører til å iterere gjennom data i øyeblikksbildebaserte visninger;
- Datamodell optimalisert for blandede arbeidsbelastningstyper;
- Fleksible styringsmekanismer for lagringspålitelighet;
- Tilpassbare dataorkestreringsskjemaer (distribusjon på tvers av forskjellige typer minne som finnes i lagringen);
- Et bibliotek med en C API som dynamisk kan koble til en hvilken som helst applikasjon. Tilgjengelighet av bindinger for Python og Java;
- Støtte for lagring av nøkler og data i komprimert form.
- Evne til å skalere opp til terabyte med data og hundrevis av milliarder av nøkler i lagring;
- Effektiv behandling av tusenvis av parallelle operasjoner;
- Muligheten til å bruke SSD-stasjoner av forskjellige klasser i én lagring for å optimalisere ytelsen og forlenge levetiden til stasjonen.
Den betydelige versjonsnummerendringen i HSE 3.0 skyldes endringer i API, CLI, konfigurasjonsalternativer, REST-grensesnitt og lagringsformat som bryter bakoverkompatibiliteten. Den nye utgivelsen fokuserte på å optimalisere datalagring for å forbedre ytelsen for noen kritiske arbeidsbelastninger. Blant de mest bemerkelsesverdige forbedringene:
- Ytelsen til markøroperasjoner er nå uavhengig av filterlengden, slik at du kan iterere over taster ved å bruke en markør med vilkårlige filtre uten å redusere gjennomstrømmingen.
- Lese- og skriveytelsen er økt i situasjoner der monotont økende taster brukes, for eksempel ved lagring av deler av parameterverdier registrert med visse intervaller i overvåkingssystemer, økonomiske plattformer og systemer for polling av sensortilstander.
- API-en gir muligheten til å kontrollere komprimering på det individuelle verdinivået, slik at du kan lagre både komprimerte og ukomprimerte poster i samme lagring.
- Nye moduser for å åpne KVDB er lagt til, slik at du kan lage spørringer til databasen i skrivebeskyttede lagringer.
Kilde: opennet.ru