Saadaval on integreeritud andmebaasmootor TidesDB 1.0, mis toetab ACID-transaktsioone.

Avaldanud on projekti TidesDB esimene stabiilne vÀljaanne, mis arendab vÔtme/vÀÀrtuse formaadis andmete salvestamise raamatukogu. Projekti saab kasutada iseseisva mootori vÔi rakendustesse inteerituna. Peamiste vÔimalustena mÀrgitakse ACID-tehingute tugi ja optimeerimine efektiivseks andmete salvestamiseks Flash-mÀlus ja mÀlus. Kood on kirjutatud C keeles ja levitatakse MPL 2.0 litsentsi alusel. Raamistikke on ette valmistatud keeltele C++, Go, Java, Python, Rust, Lua ja JavaScript.

Andmete salvestamiseks on kasutusel LSM-puu (log-struktureeritud puu koos ĂŒhinemisega), mis tagab kĂ”rgemat jĂ”udlust mitte ainult lugemise, vaid ka kirje ja andmete muutmise operatsioonide kĂ€igus. Lugemise operatsioonid ei takista andmete kirjutamist ja lugemist, samas kui kirjutamise operatsioonid blokeerivad ainult seda veergude peret, milles kirjutamine toimub. Lisakiirusel lugemisele toetatakse indekseerimist ja bloom-filter'ite baasil vahemĂ€lu (mis vĂ”imaldavad kontrollida kuulumist kogusse, lubades vale mÀÀratlemise puuduvat elementi, kuid vĂ€listades olemasoleva elemendi vahelejĂ€tmise).

ACID-tehingute tĂ€ieĂ”iguslik tugi, mis vĂ”imaldab atomaarsete muudatuste tegemist, mis hĂ”lmavad veergude peresid, ja vajadusel atomaarset operatsioonide tagasivĂ”tmist. Andmeid saab salvestada kokkutĂ”mbunud kujul, valides tihendamisalgoritmi veergude pere seotuses. VĂ”imalik on seadistada lukustusi ĂŒksikute veergude perede ja ladustamispakettide tasemel paralleelses reĆŸiimis, ilma andmebaasi operatsioonide toimimist takistamata.

PÔhifunktsioonid:

  • Veergruppide (Column Families) tugi — isoleeritud andmehulkade kogum, mis on esitatud vĂ”tme/vÀÀrtuse formaadis. Iga veergu pere jaoks kasutatakse oma memtable'i, SSTable'i ja WAL-logi.
  • ACID-tehingud, mis hĂ”lmavad mitmeid operatsioone veergude peredega.
  • Optimeerimine paralleelsele juurdepÀÀsule andmetele.
  • Toetatakse kahesuunalisi iteratoreid, mis vĂ”imaldavad paaride vĂ”tme/vÀÀrtuse edasi vĂ”i tagasi iteratsiooni valitud positsiooni suhtes salvestuses, kasutades algselt mÀÀratud sortimisvĂ”tet.
  • Tugi oma vĂ”tmefunktsioonide lisamiseks. Sisseehitatud vĂ”tmefunktsioonide vĂ”rdlemiseks memcmp, string ja numeric olemasolu.
  • Operatsioonide logimise (WAL, Write-Ahead Log) ja memtable (mĂ€lus hoidmise) automaatne taastamine antud logist kĂ€ivitamisel.
  • Bloom-filterite kasutamine salvestusse tehtavate pĂ€ringute minimeerimiseks, kontrollides vĂ”tme olemasolu enne lugemist SSTable'ist (pĂŒsiv salvestus).
  • Snappy, LZ4 ja ZSTD algoritmide tugi andmete tihendamiseks SSTable'is ja WAL-logis.
  • VĂ”imalus mÀÀrata kirje eluiga (TTL) ja automaatne aegunud kirjete eemaldamine.
  • Kolm reĆŸiimi andmete sĂŒnkroonimiseks OZS-iga: NONE (kĂ”ige kiirem), BACKGROUND (tasakaalustatud), FULL (kĂ”ige usaldusvÀÀrsem).
  • VĂ”imalus seadistada memtable'i suurust, tihendamismeetodeid, bloom-filter'ite reĆŸiimi ja pakendamise parameetreid iga veergude pere jaoks.
  • Lihtne C API, mis tagastab 0 operatsiooni eduka tĂ€itmise korral ja -1 vea korral.
  • SBHA (Sorted Binary Hash Array) kasutamine kiireks andmete otsimiseks SSTable'is, mis vĂ”imaldab mÀÀrata vĂ”tmeplokkide nihked ilma tĂ€ieliku skaneerimiseta.
  • Kompaktne ja kergesti edastatav binaarne andmebaasi esitusformaat, mis toetab versioonide haldust.
  • Sisseehitatud mehhanismid terviklikkuse kontrollimiseks, andmete kahjustuse mÀÀramiseks ja taastamiseks.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster