immudb 1.0 DBMS ning muhim versiyasi joriy etildi, u ilgari qo'shilgan barcha ma'lumotlarning o'zgarmasligi va saqlanishini kafolatlaydi, shuningdek, retroaktiv o'zgarishlardan himoya qiladi va ma'lumotlarga egalik huquqini kriptografik isbotlashga imkon beradi. Dastlab, loyiha kalit/qiymat formatidagi ma'lumotlarni boshqaradigan ixtisoslashtirilgan NoSQL xotirasi sifatida ishlab chiqilgan, ammo 1.0 immudb versiyasidan boshlab SQL qo'llab-quvvatlanadigan to'liq huquqli DBMS sifatida joylashtirilgan. Loyiha kodi Go-da yozilgan va Apache 2.0 litsenziyasi ostida tarqatiladi.
Immudb-dagi ma'lumotlar blokcheynga o'xshash tuzilma yordamida saqlanadi, bu mavjud yozuvlarning butun zanjirining yaxlitligini kafolatlaydi va allaqachon saqlangan ma'lumotlarni o'zgartirishga yoki tranzaktsiyalar tarixiga yozuvni almashtirishga/qo'shishga imkon bermaydi. Saqlash faqat qo'shilgan ma'lumotlarni o'chirish yoki o'zgartirish imkoniyatisiz yangi ma'lumotlarni qo'shishni qo'llab-quvvatlaydi. DBMSdagi yozuvlarni o'zgartirishga urinish faqat yozuvning yangi versiyasini saqlashga olib keladi, eski ma'lumotlar yo'qolmaydi va o'zgarishlar tarixida mavjud bo'lib qoladi.
Bundan tashqari, blokcheynga asoslangan odatiy echimlardan farqli o'laroq, immudb sizga soniyada millionlab tranzaktsiyalar darajasida ishlashga imkon beradi va undan engil xizmatlarni ishga tushirish yoki uning funksionalligini kutubxona ko'rinishidagi ilovalarga joylashtirish uchun foydalanish mumkin.

Yuqori unumdorlikka qiymatlar jurnaliga ega LSM (Log-structured birlashma daraxti) daraxtidan foydalanish orqali erishiladi, bu esa ma'lumotlarni qo'shishning yuqori intensivligi bilan yozuvlarga tezkor kirish imkonini beradi. Saqlashning yaxlitligini saqlab qolish uchun Merkle Tree deb nomlangan daraxt tuzilishi qo'shimcha ravishda qo'llaniladi, unda har bir filial qo'shma (daraxt) xeshing tufayli barcha pastki novdalar va tugunlarni tekshiradi. Yakuniy xeshga ega bo'lgan holda, foydalanuvchi butun operatsiyalar tarixining to'g'riligini, shuningdek ma'lumotlar bazasining o'tgan holatlarining to'g'riligini tekshirishi mumkin (ma'lumotlar bazasining yangi holatining ildizni tekshirish xeshi o'tgan holatni hisobga olgan holda hisoblanadi. ).
Mijozlar va auditorlarga ma'lumotlarga egalik qilish va ularning yaxlitligini tasdiqlovchi kriptografik dalillar taqdim etiladi. Ochiq kalitli kriptografiyadan foydalanish mijozdan ishonchni talab qilmaydi. server, va har bir yangi mijozning ma'lumotlar bazasiga ulanishi butun xotirada ishonchning umumiy darajasini oshiradi. Ochiq kalitlar va kalitlarni bekor qilish ro'yxatlari ma'lumotlar bazasida saqlanadi va Intel SGX anklavlaridan shifrlangan operatsiyalar uchun foydalanish mumkin.
DBMS funksiyalari SQL qo'llab-quvvatlashi, kalit/qiymat saqlash rejimi, indekslar, ma'lumotlar bazasini sharding qilish, ma'lumotlar holati oniy tasvirlarini yaratish, oniy tasvir izolyatsiyasi (SSI) qo'llab-quvvatlashi bilan ACID tranzaksiyalari, yuqori o'qish va yozish samaradorligi, SSD disklarida samarali ishlash uchun optimallashtirish va shaklda ishlashni qo'llab-quvvatlashni o'z ichiga oladi. server va o'rnatilgan kutubxona, REST API qo'llab-quvvatlashi va boshqaruv uchun veb-interfeys. immudb kabi ma'lumotlar bazasiga ehtiyoj sezadigan odatiy ilovalarga kredit karta operatsiyalari, ochiq kalitlarni, raqamli sertifikatlarni, checksumlarni va jurnallarni saqlash hamda an'anaviy ma'lumotlar bazasiga tegishli maydonlar uchun ortiqcha xotira yaratish kiradi. immudb bilan ishlash uchun mijoz kutubxonalari Go, Java, .NET, Python va Node.js uchun mavjud.
immudb 1.0 versiyasidagi asosiy yaxshilanishlar:
- Satrlarni yashirin o'zgartirishdan himoya qilish qobiliyatiga ega SQL-ni qo'llab-quvvatlash.
- Ma'lumotlar bazasi holatini o'tmishdagi ma'lum bir nuqtaga o'tkazish imkonini beruvchi TimeTravel rejimi. Xususan, ma'lumotlarni kesish vaqti individual pastki so'rovlar darajasida o'rnatilishi mumkin, bu o'zgarishlarni tahlil qilish va ma'lumotlarni taqqoslashni osonlashtiradi.
- immudb bilan PostgreSQL bilan ishlashga mo'ljallangan mavjud ilovalar va kutubxonalardan foydalanish imkonini beruvchi PostgreSQL mijoz protokolini qo'llab-quvvatlash. Mahalliy mijozlar kutubxonalariga qo'shimcha ravishda siz Ruby, C, JDBC, PHP va Perl standart mijozlar kutubxonalaridan foydalanishingiz mumkin.
- Interaktiv ma'lumotlar navigatsiyasi va DBMS boshqaruvi uchun veb-konsol. Veb-interfeys orqali siz so'rovlar yuborishingiz, foydalanuvchilarni yaratishingiz va ma'lumotlarni boshqarishingiz mumkin. Bundan tashqari, Playground o'quv muhiti mavjud.


Manba: opennet.ru


