Projekt libmdbx predstavio je novu strategiju razvoja, istovremeno najavljujući promjenu u svom modelu razvoja i distribucije. Izvorni kod libmdbx-a ostat će otvorenog koda i dobivat će visokokvalitetnu besplatnu podršku, ali će se razvoj sada provoditi interno, a rezultat će biti objavljen samo u objedinjenom obliku. Strategija razvoja najavljuje prelazak na dugo najavljivani projekt MithrilDB, koji podržava više formata baza podataka pod fasadom zajedničkog API-ja. Podrška za starije baze podataka je eksplicitno navedena, sve dok je korisnicima potrebna.
Iako je cijeli izvorni kod, uključujući testni okvir i internu dokumentaciju, prethodno bio javno dostupan, sada je dostupan samo objedinjeni izvorni kod biblioteke. Obećava se da će uskoro biti predstavljen prošireni primjer korištenja C++ API-ja, koji će poslužiti i kao jednostavan smoke test. Razlozi za to su detaljno objašnjeni u komentarima ugrađenim u slajdove prezentacije. Konkretno, cilj je isporučiti biblioteku u potpuno razvijenom obliku, bez zavisnosti potrebnih samo za njen razvoj i dubinsko testiranje.
Pored otkrivanja trenutno razvijanih i planiranih mogućnosti libmdbx-a, objavljena strategija je također najavila ključne karakteristike novog formata baze podataka i mogućnosti koje on pruža:
Tokom prezentacije uživo, također je najavljeno da namjeravaju pokušati kombinirati nekoliko implementacija napisanih u različitim jezicima, posebno C, C++ i Rustu, unutar MithrilDB-a, uz osiguranje transparentne međusobne interakcije (C/C++ aplikacije će moći koristiti Rust implementaciju i obrnuto).
Među funkcijama koje se trenutno razvijaju i koje će uskoro postati dostupne, vrijedi spomenuti "Keširano pretraživanje". Ono pohranjuje pokazivače na podatke direktno unutar baze podataka, s izuzetno brzom provjerom njihove relevantnosti. Pretraživanje od korijena stabla do listova stranica zaustavlja se čim se dođe do stranice koja se nije promijenila od posljednje provjere odgovarajućeg elementa keša. Dakle, umjesto potpunog pretraživanja B-stabla, izvodi se minimalni mogući broj operacija, ovisno o količini promjena od posljednjeg preuzimanja podataka. Sve ovo zajedno pruža dramatično ubrzanje od desetina hiljada puta. U najgorem slučaju, takvo "keširano" pretraživanje nije sporije od standardnog.
izvor: opennet.ru
