Ang HSE, isang bukas na makinang imbakan ng mapagkukunan, na-optimize ang SSE para sa SSD

Inihayag ng Micron Technology (isang kumpanyang dalubhasa sa produksyon ng DRAM at flash memory) ang pagpapakilala ng isang bagong engine na tinatawag na "HSE" (Heterogeneous-memory Storage Engine), na binuo nang isinasaalang-alang ang mga partikular na katangian ng paggamit sa mga SSD unit batay sa NAND flash (X100, TLC, QLC 3D NAND) o read-only memory (NVDIMM).

Ang engine ay dinisenyo bilang isang library para sa pag-embed sa iba pang mga aplikasyon at sumusuporta sa pagproseso ng data ng key-value . Ang HSE code ay nakasulat sa C at ipinamamahagi sa ilalim ng lisensyang Apache 2.0.

Kabilang sa mga aplikasyon ng engine ay ang low-level data storage sa NoSQL DBMS, software-defined storage (SDS) tulad ng Ceph at Scality RING, mga plataporma para sa pagproseso ng malalaking halaga ng data (Big Data), mga high-performance computing (HPC) system, mga Internet of Things (IoT) device, at mga solusyon para sa mga machine learning system.

Ang HSE ay in-optimize hindi lamang para sa pinakamataas na pagganap kundi pati na rin upang matiyak ang tibay ng iba't ibang klase ng SSD. Nakakamit ang mataas na bilis sa pamamagitan ng isang hybrid storage model: ang pinakamahalagang data ay iniimbak sa cache, na binabawasan ang bilang ng mga disk access.

Bilang isang halimbawa ng pagsasama ng bagong makina sa mga proyekto ng third-party, isang bersyon na nakatuon sa dokumento ng MongoDB DBMS ay inihanda, na isinalin upang magamit ang HSE.

Sa teknolohikal na aspeto, ang HSE ay nakabatay sa isang karagdagang core module, ang mpool , na nagpapatupad ng isang espesyal na interface para sa pag-iimbak ng mga bagay para sa mga solid-state drive, isinasaalang-alang ang kanilang mga kakayahan at katangian, kaya nagbibigay-daan sa mga pangunahing magkakaibang tampok ng bilis at tibay. Ang Mpool ay isa ring open-source development ng Micron Technology, na inilabas kasabay ng HSE, ngunit ito ay namumukod-tangi bilang isang hiwalay na proyekto sa imprastraktura. Ipinapalagay ng Mpool ang paggamit ng persistent memory at zone storage, ngunit sa kasalukuyan ay mga tradisyonal na SSD lamang ang sinusuportahan.

Ang mga pagsubok sa pagganap gamit ang YCSB (Yahoo Cloud Serving Benchmark) package ay nagpakita ng isang makabuluhang pagtaas sa pagganap kapag gumagamit ng 2 TB ng storage na may 1 KB data block processing. Isang partikular na makabuluhang pagtaas sa pagganap ang naobserbahan sa pagsubok na may pantay na distribusyon ng mga operasyon sa pagbasa at pagsulat.

Halimbawa, ang MongoDB na may HSE engine ay napatunayang humigit-kumulang 8 beses na mas mabilis kaysa sa bersyon na may karaniwang WiredTiger engine, at ang RocksDB DBMS engine ay mas mahusay kaysa sa HSE nang mahigit 6 na beses. Kitang-kita rin sa mga pagsubok ang mahusay na mga tagapagpahiwatig ng pagganap, na nagtampok ng 95% na mga operasyon sa pagbasa at 5% lamang na mga pagbabago o pagdaragdag.

Ang isa pang pagsubok na isinagawa ay nagsasangkot lamang sa mga pagbasa na operasyon, nagpapakita ito ng kita na halos 40%. Ang pagtaas sa makakaligtas ng mga SSD sa panahon ng pagpapatakbo ng pagsusulat kumpara sa solusyon na batay sa RocksDB ay tinatayang sa 7 beses.

Pangunahing Mga Tampok ng HSE:

  • Suporta para sa pamantayan at advanced na mga operator upang maproseso ang data sa key / halaga format;
  • Buong suporta sa transaksyon at may kakayahang ihiwalay ang mga segment ng imbakan sa pamamagitan ng paglikha ng mga snapshot (maaari ding magamit ang mga snapshot upang mapanatili ang magkakahiwalay na koleksyon sa isang tindahan).
  • Kakayahang gumamit ng mga cursor upang dumaan sa data sa mga representasyon na nakabatay sa snapshot.
  • Ang isang modelo ng data na na-optimize para sa mga halo-halong mga uri ng pag-load sa isang solong imbakan.
  • Mga kakayahang umangkop na mekanismo upang pamahalaan ang pagiging maaasahan ng imbakan.
  • Nako-customize na mga scheme ng orkestra ng data (pamamahagi sa pamamagitan ng iba't ibang mga uri ng memorya na naroroon sa lalagyan).
  • Isang silid-aklatan na may C API na maaaring mai-link nang pabagu-bago sa anumang aplikasyon.
    Ang kakayahang masukat sa terabytes ng data at daan-daang bilyong mga key sa pag-iimbak.
  • Mabisang pagproseso ng libu-libong mga parallel na operasyon.
  • Mahalagang pagtaas sa bandwidth, nabawasan ang latency, at nadagdagan na basahin / isulat para sa iba't ibang mga uri ng workload kumpara sa mga tipikal na mga pag-workaround.
  • Ang kakayahang gumamit ng iba't ibang mga klase ng SSD sa parehong imbakan upang ma-optimize ang pagganap at tibay.

Maaari mong ma-access ang engine code mula sa sumusunod na link.


Idagdag bilang ginustong mapagkukunan sa Google