Кампанія Micron Technology, якая спецыялізуецца на вытворчасці DRAM і флэш-памяці, апублікавала выпуск рухавічка захоўвання HSE 3.0 (Heterogeneous-memory Storage Engine), распрацаваны з улікам спецыфікі выкарыстання на SSD-назапашвальніках і пастаяннай памяці (NVDIMM). Рухавічок выкананы ў форме бібліятэкі для ўбудавання ў іншыя прыкладанні і падтрымлівае апрацоўку дадзеных у фармаце ключ-значэнне. Код HSE напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй Apache 2.0.
HSE аптымізаваны не толькі для дасягнення максімальнай прадукцыйнасці, але і для забеспячэння даўгавечнасці працы розных класаў SSD-назапашвальнікаў. Высокая хуткасць працы дасягаецца за кошт гібрыднай мадэлі захоўвання - найбольш актуальныя дадзеныя кэшуюцца ў АЗП, што зніжае колькасць зваротаў да назапашвальніку. Рухавічок можа ўжывацца для нізкаўзроўневага захоўвання дадзеных у NoSQL СКБД, праграмных сховішчах (SDS, Software-Defined Storage) тыпу Ceph і Scality RING, платформах для апрацоўкі вялікіх аб'ёмаў дадзеных (Big Data), сістэмах высокапрадукцыйных вылічэнняў (HPC), прыладах інтэрнэту рэчаў (IoT ) і рашэннях для сістэм машыннага навучання. У якасці прыкладу інтэграцыі рухавічка ў іншыя праекты падрыхтаваны варыянт дакументна-арыентаванай СКБД MongoDB, перакладзены на выкарыстанне HSE.
Асноўныя магчымасці HSE:
- Падтрымка тыпавых і пашыраных аператараў для апрацоўкі даных у фармаце ключ/значэнне;
- Поўная падтрымка транзакцый з магчымасцю ізаляцыі зрэзаў сховішча праз стварэнне снапшотаў (снапшоты таксама могуць прымяняцца для падтрымання незалежных калекцый у адным сховішчы);
- Магчымасць выкарыстання курсораў для перабору дадзеных у паданнях на аснове снапшота;
- Мадэль дадзеных, аптымізаваная для змешаных тыпаў нагрузкі;
- Гнуткія механізмы кіравання надзейнасцю захоўвання;
- Наладжвальныя схемы аркестроўкі дадзеных (размеркаванні па розных тыпах памяці, якія прысутнічаюць у сховішчы);
- Бібліятэка з C API, якая можа дынамічна звязвацца з любымі праграмамі. Наяўнасць прывязак для Python і Java;
- Падтрымка захоўвання ключоў і даных у сціснутым выглядзе.
- Магчымасць маштабавання да тэрабайтаў дадзеных і сотняў мільярдаў ключоў у сховішчы;
- Эфектыўная апрацоўка тысяч паралельных аперацый;
- Магчымасць выкарыстання ў адным сховішчы SSD-назапашвальнікаў розных класаў для аптымізацыі прадукцыйнасці і падаўжэнні тэрміна службы назапашвальніка.
Значная змена нумара версіі ў HSE 3.0 выклікана наяўнасцю змен у API, CLI, параметрах канфігурацыі, REST-інтэрфейсе і фармаце захоўвання, парушаючых зваротную сумяшчальнасць. Пры падрыхтоўцы новага выпуску асноўная ўвага была ўдзелена аптымізацыі захоўвання даных для павышэння прадукцыйнасці пры некаторых важных відах нагрузкі. Сярод найбольш прыкметных паляпшэнняў:
- Прадукцыйнасць аперацый з курсорам зараз не залежыць ад даўжыні фільтра, што дазваляе без зніжэння прапускной здольнасці перабіраць ключы, выкарыстаючы курсор з адвольнымі фільтрамі.
- Павялічана прадукцыйнасць чытання і запісы ў сітуацыях выкарыстання манатонна якія павялічваюцца ключоў, напрыклад, пры захоўванні зрэзаў значэнняў параметраў, якія запісваюцца праз вызначаныя прамежкі часу, у сістэмах маніторынгу, фінансавых платформах і сістэмах апытання станаў датчыкаў.
- У API прадстаўлена магчымасць кіравання сціскам на ўзроўні асобных значэнняў, што дазваляе трымаць у адным сховішчы як сціснутыя, так і несціснутыя запісы.
- Дададзены новыя рэжымы адкрыцця KVDB, якія дазваляюць фармаваць запыты да БД у сховішчах, даступных толькі на чытанне.
Крыніца: opennet.ru