È stato pubblicato DBMS immudb 1.0, che fornisce protezione contro la corruzione dei dati

È stata introdotta una versione significativa del DBMS immudb 1.0, che garantisce l'immutabilità e la conservazione di tutti i dati mai aggiunti, oltre a fornire protezione contro modifiche retroattive e fornire la possibilità di provare crittograficamente la proprietà dei dati. Inizialmente, il progetto si è sviluppato come un archivio NoSQL specializzato che manipola i dati in formato chiave/valore, ma a partire dalla versione 1.0 immudb è posizionato come un DBMS a tutti gli effetti con supporto SQL. Il codice del progetto è scritto in Go e distribuito sotto la licenza Apache 2.0.

Le informazioni in immudb vengono archiviate utilizzando una struttura simile a blockchain che garantisce l'integrità dell'intera catena di record esistenti e non consente di modificare i dati già archiviati o di sostituire/inserire una voce nella cronologia delle transazioni. Lo spazio di archiviazione supporta solo l'aggiunta di nuovi dati, senza la possibilità di eliminare o modificare le informazioni già aggiunte. Un tentativo di modificare i record nel DBMS porta solo al salvataggio di una nuova versione del record; i vecchi dati non vengono persi e rimangono disponibili nella cronologia delle modifiche.

Inoltre, a differenza delle tipiche soluzioni basate su blockchain, immudb consente di raggiungere prestazioni a livello di milioni di transazioni al secondo e può essere utilizzato per lanciare servizi leggeri o per incorporare le sue funzionalità in applicazioni sotto forma di libreria.

È stato pubblicato DBMS immudb 1.0, che fornisce protezione contro la corruzione dei dati

Le prestazioni elevate si ottengono attraverso l'uso di un albero LSM (Log-structured merge-tree) con un log di valori, che fornisce un rapido accesso ai record con un'elevata intensità di aggiunta di dati. Per mantenere l'integrità dello storage, viene inoltre utilizzata una struttura ad albero chiamata Merkle Tree, in cui ogni ramo verifica tutti i rami e i nodi sottostanti grazie all'hashing congiunto (albero). Avendo l'hash finale, l'utente può verificare la correttezza dell'intera cronologia delle operazioni, nonché la correttezza degli stati passati del database (l'hash di verifica root del nuovo stato del database viene calcolato tenendo conto dello stato passato ).

Ai clienti e ai revisori viene fornita una prova crittografica della proprietà e dell'integrità dei dati. L'uso della crittografia a chiave pubblica non richiede che il client si fidi del server e la connessione di ogni nuovo client al DBMS aumenta il livello generale di fiducia nell'intero storage. Le chiavi pubbliche e gli elenchi di revoche di chiavi vengono archiviati nel database ed è possibile utilizzare le enclavi Intel SGX durante l'esecuzione di operazioni di crittografia.

Tra le funzionalità del DBMS, supporto SQL, modalità di archiviazione chiave/valore, indici, segmentazione del database (sharding), creazione di snapshot dello stato dei dati, transazioni ACID con supporto per snapshot isolation (SSI), elevate prestazioni in lettura e scrittura, ottimizzazioni per Vengono menzionati il ​​​​funzionamento efficiente delle unità SSD, il supporto per il lavoro sotto forma di server e una libreria incorporata, il supporto per l'API REST e la presenza di un'interfaccia web per la gestione. Le applicazioni tipiche in cui sono richiesti DBMS come immudb includono transazioni con carte di credito, archiviazione di chiavi pubbliche, certificati digitali, checksum e registri e creazione di archiviazione di backup per campi importanti nei DBMS tradizionali. Le librerie client per lavorare con immudb sono preparate per Go, Java, .NET, Python e Node.js.

Miglioramenti chiave nella versione immudb 1.0:

  • Supporto SQL con la possibilità di proteggere le righe da modifiche nascoste.
  • Modalità TimeTravel, che consente di spostare lo stato del database fino a un certo punto nel passato. In particolare, il tempo di taglio dei dati può essere impostato a livello delle singole sottoquery, il che semplifica l'analisi delle modifiche e il confronto dei dati.
  • Supporto per il protocollo client PostgreSQL, che consente di utilizzare applicazioni e librerie esistenti progettate per funzionare con PostgreSQL con immudb. Oltre alle librerie client native, puoi utilizzare le librerie client standard Ruby, C, JDBC, PHP e Perl.
  • Console Web per la navigazione interattiva dei dati e l'amministrazione del DBMS. Attraverso l'interfaccia web è possibile inviare richieste, creare utenti e gestire dati. Inoltre, è disponibile l'ambiente di apprendimento Playground.
    È stato pubblicato DBMS immudb 1.0, che fornisce protezione contro la corruzione dei dati
    È stato pubblicato DBMS immudb 1.0, che fornisce protezione contro la corruzione dei dati


    Fonte: opennet.ru

Aggiungi un commento