Ir ieviests nozīmīgs immudb 1.0 DBVS izlaidums, kas garantē visu jebkad pievienoto datu nemainīgumu un saglabāšanu, kā arī nodrošina aizsardzību pret atpakaļejošām izmaiņām un nodrošina iespēju kriptogrāfiski pierādīt datu īpašumtiesības. Sākotnēji projekts tika izstrādāts kā specializēta NoSQL krātuve, kas manipulē ar datiem atslēgas/vērtības formātā, taču sākot ar 1.0 izlaidumu immudb tiek pozicionēts kā pilnvērtīga DBVS ar SQL atbalstu. Projekta kods ir rakstīts programmā Go un izplatīts saskaņā ar Apache 2.0 licenci.
Informācija immudb tiek glabāta, izmantojot blokķēdei līdzīgu struktūru, kas garantē visas esošo ierakstu ķēdes integritāti un neļauj mainīt jau saglabātos datus vai aizstāt/ievietot ierakstu darījumu vēsturē. Krātuve atbalsta tikai jaunu datu pievienošanu, bez iespējas dzēst vai mainīt jau pievienoto informāciju. Mēģinājums mainīt ierakstus DBVS tikai noved pie jaunas ieraksta versijas saglabāšanas; vecie dati netiek zaudēti un paliek pieejami izmaiņu vēsturē.
Turklāt atšķirībā no tipiskiem blokķēdes risinājumiem, immudb ļauj sasniegt veiktspēju miljoniem darījumu sekundē, un to var izmantot vieglu pakalpojumu palaišanai vai tā funkcionalitātes iegulšanai lietojumprogrammās bibliotēkas veidā.

Augsta veiktspēja tiek panākta, izmantojot LSM (Log-structured merge-tree) koku ar vērtību žurnālu, kas nodrošina ātru piekļuvi ierakstiem ar augstu datu pievienošanas intensitāti. Lai saglabātu krātuves integritāti, papildus tiek izmantota koka struktūra ar nosaukumu Merkle Tree, kurā katrs zars pārbauda visus pamatā esošos zarus un mezglus, pateicoties kopīgai (koka) jaukšanai. Izmantojot pēdējo jaucējkodu, lietotājs var pārbaudīt visas operāciju vēstures pareizību, kā arī datu bāzes iepriekšējo stāvokļu pareizību (bāzes jaunā stāvokļa saknes verifikācijas hash tiek aprēķināta, ņemot vērā pagātnes stāvokli ).
Klientiem un auditoriem tiek nodrošināts kriptogrāfisks datu īpašumtiesību un integritātes pierādījums. Publiskās atslēgas kriptogrāfijas izmantošana neprasa klienta uzticēšanos. serveris, un katrs jauns klienta savienojums ar DBVS palielina kopējo uzticamības līmeni visai krātuvei. Publiskās atslēgas un atslēgu atsaukšanas saraksti tiek glabāti datubāzē, un Intel SGX enklāvus var izmantot šifrētām darbībām.
DBMS funkcionalitāte ietver SQL atbalstu, atslēgu/vērtību glabāšanas režīmu, indeksus, datubāzes shardingu, datu stāvokļa momentuzņēmumu izveidi, ACID transakcijas ar momentuzņēmumu izolāciju (SSI) atbalstu, augstu lasīšanas un rakstīšanas veiktspēju, optimizācijas efektīvai darbībai SSD diskdziņos un atbalstu darbam formā. serveris un iegultu bibliotēku, REST API atbalstu un tīmekļa saskarni pārvaldībai. Tipiski lietojumi, kuros nepieciešamas tādas DBVS kā immudb, ietver kredītkaršu darījumus, publisko atslēgu, digitālo sertifikātu, kontrolsummu un žurnālu glabāšanu, kā arī dublētas krātuves izveidi svarīgiem laukiem tradicionālajās DBVS. Klientu bibliotēkas darbam ar immudb ir pieejamas Go, Java, .NET, Python un Node.js.
Galvenie uzlabojumi immudb 1.0 laidienā:
- SQL atbalsts ar iespēju aizsargāt rindas no slēptās modifikācijas.
- TimeTravel režīms, kas ļauj pārslēgt datu bāzes stāvokli uz noteiktu pagātnes punktu. Jo īpaši datu griešanas laiku var iestatīt atsevišķu apakšvaicājumu līmenī, kas vienkāršo izmaiņu analīzi un datu salīdzināšanu.
- Atbalsts PostgreSQL klienta protokolam, kas ļauj izmantot esošās lietojumprogrammas un bibliotēkas, kas paredzētas darbam ar PostgreSQL ar immudb. Papildus vietējām klientu bibliotēkām varat izmantot standarta klientu bibliotēkas Ruby, C, JDBC, PHP un Perl.
- Web konsole interaktīvai datu navigācijai un DBVS administrēšanai. Izmantojot tīmekļa saskarni, varat nosūtīt pieprasījumus, izveidot lietotājus un pārvaldīt datus. Papildus ir pieejama rotaļu laukuma mācību vide.


Avots: opennet.ru


