A Micron Technology, a DRAM és flash memória gyártására szakosodott cég közzétette a HSE 3.0 (Heterogeneous-memory Storage Engine) tárolómotor kiadását, amelyet az SSD-meghajtókon és az írásvédett memórián való felhasználás sajátosságait figyelembe véve terveztek ( NVDIMM). A motort más alkalmazásokba való beágyazáshoz könyvtárnak tervezték, és támogatja az adatok kulcsérték formátumú feldolgozását. A HSE-kód C nyelven íródott, és az Apache 2.0 licence alá tartozik.
A HSE-t nemcsak a maximális teljesítményre, hanem a hosszú élettartamra is optimalizálták a különböző SSD-osztályokon. A nagy működési sebességet egy hibrid tárolómodell éri el – a legfontosabb adatok a RAM-ban vannak gyorsítótárazva, ami csökkenti a meghajtóhoz való hozzáférések számát. A motor használható alacsony szintű adattárolásra NoSQL DBMS-ben, szoftvertárolókban (SDS, Software-Defined Storage), például Ceph és Scality RING, nagy mennyiségű adat feldolgozására szolgáló platformokon (Big Data), nagy teljesítményű számítástechnikában (HPC) ) rendszerek, Internet of Things (IoT) eszközök ) és megoldások gépi tanulási rendszerekhez. A motor harmadik féltől származó projektekbe való integrálásának példájaként elkészült a dokumentum-orientált DBMS MongoDB verziója, amelyet HSE-re konvertáltak.
A HSE főbb jellemzői:
- Szabványos és kiterjesztett operátorok támogatása kulcs/érték formátumú adatok feldolgozásához;
- A tranzakciók teljes körű támogatása a tárolószeletek elkülönítésének lehetőségével pillanatképek létrehozásával (a pillanatképek független gyűjtemények egyetlen tárolóban való fenntartására is használhatók);
- A kurzorok segítségével pillanatfelvétel-alapú nézetekben az adatok között iterálhatók;
- Vegyes terheléstípusokra optimalizált adatmodell;
- Rugalmas mechanizmusok a tárolási megbízhatóság kezelésére;
- Testreszabható adatrendezési sémák (elosztás a tárolóban lévő különböző típusú memóriák között);
- C API-val rendelkező könyvtár, amely dinamikusan kapcsolódhat bármely alkalmazáshoz. Összerendelések elérhetősége Python és Java számára;
- Támogatja a kulcsok és adatok tömörített formában történő tárolását.
- Terabájt adatmennyiségre és több százmilliárd kulcsra skálázhatóság a tárhelyen;
- Több ezer párhuzamos művelet hatékony feldolgozása;
- Különböző osztályú SSD-meghajtók egy tárolóban való használatának lehetősége a teljesítmény optimalizálása és a meghajtó élettartamának meghosszabbítása érdekében.
A HSE 3.0 verziószámának jelentős változása az API-ban, a CLI-ben, a konfigurációs beállításokban, a REST-felületben és a tárolási formátumban bekövetkezett változásoknak köszönhető, amelyek megszakítják a visszafelé kompatibilitást. Az új kiadás az adattárolás optimalizálására összpontosított, hogy javítsa a teljesítményt bizonyos kritikus munkaterhelések esetén. A legfigyelemreméltóbb fejlesztések közül:
- A kurzorműveletek teljesítménye immár független a szűrő hosszától, lehetővé téve a billentyűk közötti iterációt tetszőleges szűrőkkel rendelkező kurzor használatával az átviteli sebesség csökkentése nélkül.
- Az olvasási és írási teljesítmény megnőtt azokban a helyzetekben, amikor monoton növekvő kulcsokat használnak, például bizonyos időközönként rögzített paraméterértékek szeleteinek tárolása során megfigyelőrendszerekben, pénzügyi platformokon és lekérdezési szenzorállapotok rendszereiben.
- Az API lehetővé teszi a tömörítés egyedi érték szintjén történő szabályozását, lehetővé téve a tömörített és a tömörítetlen rekordok ugyanazon a tárolón történő tárolását.
- A KVDB megnyitásához új módok kerültek hozzáadásra, amelyek lehetővé teszik, hogy lekérdezéseket készítsen az adatbázishoz csak olvasható tárolókban.
Forrás: opennet.ru