Opublikowana baza danych immudb 1.0, zapewniająca ochronę przed zniekształceniem danych

Została zaprezentowana znaczna wersja bazy danych immudb 1.0, gwarantująca niezmienność i zachowanie wszystkich wcześniej dodanych danych, a także oferująca ochronę przed zmianami wstecznymi i zapewniająca możliwość kryptograficznego dowodu własności danych. Początkowo projekt rozwijał się jako specjalistyczne magazyn NoSQL, manipulujące danymi w formacie klucz/wartość, jednak od wersji 1.0 immudb jest pozycjonowana jako w pełni funkcjonalna baza danych z obsługą SQL. Kod projektu napisano w języku Go i jest rozpowszechniany na licencji Apache 2.0.

Informacje w immudb są przechowywane z użyciem struktury podobnej do blockchaina, która zapewnia integralność całego łańcucha istniejących zapisów i uniemożliwia zmianę już zapisanych danych lub podmianę/wstawienie zapisów do historii transakcji. Magazyn wspiera jedynie dodawanie nowych danych, bez możliwości usunięcia lub zmiany już dodanej informacji. Próba zmiany zapisów w bazie danych tylko prowadzi do zapisania nowej wersji zapisu, stare dane nie są tracone i pozostają dostępne w historii zmian.

W przeciwieństwie do typowych rozwiązań opartych na blockchainie, immudb pozwala osiągnąć wydajność na poziomie milionów transakcji na sekundę i może być stosowana do uruchamiania lekkich usług lub do wbudowywania swojej funkcjonalności w aplikacje w formie biblioteki.

Opublikowana baza danych immudb 1.0, zapewniająca ochronę przed zniekształceniem danych

Wysoka wydajność osiągana jest dzięki zastosowaniu drzewa LSM (Log-structured merge-tree) z dziennikiem wartości, zapewniającym szybki dostęp do zapisów przy wysokiej intensywności dodawania danych. W celu utrzymania integralności magazynu dodatkowo wykorzystana jest struktura drzewiasta 'drzewo Merkle' (Merkle Tree), w której każda gałąź weryfikuje wszystkie niższe gałęzie i węzły dzięki wspólnemu (drzewiastemu) haszowaniu. Mając końcowy hasz, użytkownik może upewnić się co do poprawności całej historii operacji, a także poprawności dawnych stanów bazy danych (koronny hasz kontrolny nowego stanu bazy obliczany jest z uwzględnieniem poprzedniego stanu).

Klientom i audytorom oferowane jest kryptograficzne dowód własności oraz integralności danych. Wykorzystanie kryptografii z kluczem publicznym nie wymaga zaufania ze strony klienta, serwera, a podłączenie każdego nowego klienta do DB zwiększa ogólny poziom zaufania do całego magazynu. Klucze publiczne i listy unieważnienia kluczy są przechowywane w bazie danych, a podczas operacji szyfrowania mogą być używane enklawy Intel SGX.

Wśród funkcji bazy danych wymienia się wsparcie dla SQL, tryb przechowywania klucz/wartość, indeksy, segmentację bazy danych (sharding), tworzenie migawkowych stanów danych, transakcje ACID z wsparciem izolacji migawek (SSI), wysoką wydajność odczytu i zapisu, optymalizację dla efektywnego działania na dyskach SSD, wsparcie dla pracy w formie serwera oraz biblioteki wbudowanej, wsparcie dla REST API i dostępność interfejsu webowego do zarządzania. Typowe obszary zastosowań, w których poszukiwane są bazy danych takie jak immudb, obejmują prowadzenie transakcji z kartami kredytowymi, przechowywanie kluczy publicznych, certyfikatów cyfrowych, sum kontrolnych oraz logów, a także tworzenie duplikatu magazynu dla istotnych pól w tradycyjnych bazach danych. Biblioteki klienckie do pracy z immudb są dostępne dla Go, Java, .NET, Python oraz Node.js.

Kluczowe ulepszenia w wydaniu immudb 1.0:

  • Wsparcie SQL z możliwością ochrony wierszy przed ukrytą modyfikacją.
  • Tryb TimeTravel, który umożliwia przełączenie stanu bazy danych na określony moment w przeszłości. Można również ustalać czas zrzutu danych na poziomie poszczególnych podzapytań, co ułatwia analizę zmian i porównywanie danych.
  • Wsparcie dla klienta protokołu PostgreSQL, co pozwala korzystać z immudb z istniejącymi aplikacjami i bibliotekami zaprojektowanymi do pracy z PostgreSQL. Oprócz natywnych bibliotek klienckich można również stosować standardowe biblioteki klienckie Ruby, C, JDBC, PHP oraz Perl.
  • Konsola internetowa do interaktywnej nawigacji po danych i administracji bazą danych. Przez interfejs webowy można wysyłać zapytania, tworzyć użytkowników oraz zarządzać danymi. Dodatkowo dostępne jest środowisko edukacyjne Playground.
    Opublikowana baza danych immudb 1.0, zapewniająca ochronę przed zniekształceniem danych
    Opublikowana baza danych immudb 1.0, zapewniająca ochronę przed zniekształceniem danych


    Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster