Micron open sourced HSE storage engine na na-optimize para sa SSD

Micron Technology, isang kumpanya ng DRAM at flash memory, ipinakita bagong storage engine HSE (Heterogenous-memory Storage Engine), na idinisenyo na isinasaalang-alang ang mga detalye ng paggamit sa mga SSD drive batay sa NAND flash (X100, TLC, QLC 3D NAND) o permanenteng memory (NVDIMM). Ang makina ay dinisenyo bilang isang library para sa pag-embed sa iba pang mga application at sumusuporta sa pagproseso ng data sa key-value na format. Ang HSE code ay nakasulat sa C at ipinamahagi ni lisensyado sa ilalim ng Apache 2.0.

Kabilang sa mga lugar ng aplikasyon ng engine, binanggit ang mababang antas ng pag-iimbak ng data sa NoSQL DBMS, mga imbakan ng software (SDS, Software-Defined Storage) tulad ng Ceph at Scality RING, mga platform para sa pagproseso ng malalaking halaga ng data (Big Data) , high-performance computing system (HPC), Internet devices of things (IoT) at mga solusyon para sa machine learning system.

Ang HSE ay na-optimize hindi lamang para sa maximum na pagganap, ngunit para din sa mahabang buhay sa iba't ibang klase ng SSD. Ang mataas na bilis ng pagpapatakbo ay nakakamit sa pamamagitan ng isang hybrid na modelo ng imbakan - ang pinaka-kaugnay na data ay naka-cache sa RAM, na binabawasan ang bilang ng mga pag-access sa drive. Bilang isang halimbawa ng pagsasama ng isang bagong makina sa mga proyekto ng third-party nakahanda isang bersyon ng DBMS MongoDB na nakatuon sa dokumento, na isinalin upang gamitin ang HSE.

Sa teknolohiya, umaasa ang HSE sa isang karagdagang kernel module mpool, na nagpapatupad ng isang dalubhasang interface ng imbakan ng bagay para sa mga solid-state drive, na isinasaalang-alang ang kanilang mga kakayahan at tampok, na nagbibigay-daan sa iyo upang makakuha ng iba't ibang mga katangian ng pagganap at tibay. Ang Mpool ay isa ring pagpapaunlad ng Micron Technology, bukas kasabay ng HSE, ngunit nahiwalay sa isang independiyenteng proyektong pang-imprastraktura. Ipinagpapalagay ng Mpool ang paggamit patuloy na memorya ΠΈ mga pasilidad ng imbakan ng zonal, ngunit kasalukuyang sumusuporta lamang sa mga tradisyonal na SSD.

Pagsubok sa pagganap gamit ang package YCSB (Yahoo Cloud Serving Benchmark) ay nagpakita ng makabuluhang pagtaas sa performance kapag gumagamit ng 2 TB na storage na may pagproseso ng 1 KB na mga bloke ng data. Ang isang partikular na makabuluhang pagtaas ng pagganap ay sinusunod sa pagsusulit na may pare-parehong pamamahagi ng mga operasyon sa pagbasa at pagsulat (pagsubok "A" sa graph).

Halimbawa, ang MongoDB na may HSE engine ay naging 8 beses na mas mabilis kaysa sa bersyon na may karaniwang WiredTiger engine, at ang RocksDB DBMS ay mas mabilis kaysa sa HSE engine nang higit sa 6 na beses. Ang mahusay na pagganap ay makikita rin sa mga pagsubok na kinasasangkutan ng 95% na mga operasyon sa pagbasa at 5% sa pagbabago o pagdaragdag ng mga operasyon (mga pagsubok na "B" at "D" sa mga graph). Ang Test C, na nagsasangkot lamang ng mga read operation, ay nagpapakita ng pakinabang na humigit-kumulang 40%. Ang pagtaas sa survivability ng mga SSD drive sa panahon ng write operations kumpara sa isang solusyon na batay sa RocksDB ay tinatayang 7 beses.

Micron open sourced HSE storage engine na na-optimize para sa SSD

Micron open sourced HSE storage engine na na-optimize para sa SSD

Mga pangunahing tampok ng HSE:

  • Suporta para sa karaniwan at pinahabang operator para sa pagproseso ng data sa key/value format;
  • Buong suporta para sa mga transaksyon at may kakayahang ihiwalay ang mga hiwa ng imbakan sa pamamagitan ng paglikha ng mga snapshot (maaari ding gamitin ang mga snapshot upang mapanatili ang mga independiyenteng koleksyon sa isang imbakan);
  • Kakayahang gumamit ng mga cursor sa pagtawid ng data sa mga view na nakabatay sa snapshot;
  • Modelo ng data na na-optimize para sa halo-halong mga uri ng pagkarga sa iisang storage;
  • Mga nababaluktot na mekanismo para sa pamamahala ng pagiging maaasahan ng imbakan;
  • Nako-customize na mga scheme ng orkestrasyon ng data (pamamahagi sa iba't ibang uri ng memorya na nasa storage);
  • Isang library na may C API na maaaring dynamic na mag-link sa anumang application;
  • Kakayahang mag-scale sa terabytes ng data at daan-daang bilyong key sa storage;
  • Mahusay na pagproseso ng libu-libong parallel na operasyon;
  • Malaking pagtaas sa throughput, nabawasan ang latency at tumaas na pagganap ng pagsulat/pagbasa para sa iba't ibang uri ng workload kumpara sa mga karaniwang alternatibong solusyon;
  • Ang kakayahang gumamit ng iba't ibang klase ng SSD drive sa isang storage para ma-optimize ang performance at tibay.

Micron open sourced HSE storage engine na na-optimize para sa SSD

Pinagmulan: opennet.ru

Magdagdag ng komento