Projekt libmdbx představil novou vývojovou strategii a zároveň oznámil změnu ve svém vývojovém a distribučním modelu. Zdrojový kód libmdbx zůstane open source a bude poskytovat vysoce kvalitní bezplatnou podporu, ale vývoj bude nyní probíhat interně a výsledek bude publikován pouze ve sloučené podobě. Vývojová strategie deklaruje přechod k dlouho anonymizovanému projektu MithrilDB, který podporuje více databázových formátů pod fasádou společného API. Podpora starších databází je výslovně uvedena, pokud ji uživatelé vyžadují.
Zatímco celý zdrojový kód, včetně testovacího frameworku a interní dokumentace, byl dříve veřejně dostupný, nyní je k dispozici pouze sloučený zdrojový kód knihovny. Brzy bude slíben rozšířený příklad použití C++ API, který bude sloužit i jako jednoduchý kouřový test. Důvody jsou podrobně vysvětleny v komentářích vložených do prezentačních snímků. Konkrétně je cílem dodat knihovnu v plně rozvinuté podobě, bez závislostí potřebných pouze pro její vývoj a hloubkové testování.
Kromě zveřejnění aktuálně vyvíjených a plánovaných funkcí knihovny libmdbx zveřejněná strategie také oznámila klíčové vlastnosti nového databázového formátu a možnosti, které nabízí:
Během osobní prezentace bylo také oznámeno, že se v rámci MithrilDB chtějí pokusit zkombinovat několik implementací napsaných v různých jazycích, zejména C, C++ a Rustu, a zároveň zajistit transparentní vzájemnou interakci (aplikace C/C++ budou moci používat implementaci Rust a naopak).
Mezi funkcemi, které jsou v současné době vyvíjeny a brzy budou k dispozici, stojí za zmínku „Vyhledávání v mezipaměti“. Ukládá ukazatele na data přímo v databázi s extrémně rychlým ověřením jejich relevance. Vyhledávání od kořene stromu k listovým stránkám se zastaví, jakmile se dosáhne stránky, která se nezměnila od poslední kontroly odpovídajícího prvku mezipaměti. Místo úplného vyhledávání v B-stromu se tedy provádí minimální možný počet operací v závislosti na objemu změn od posledního načtení dat. To vše dohromady poskytuje dramatické zrychlení až desítky tisíckrát. V nejhorším případě není takové „vyhledávání v mezipaměti“ pomalejší než standardní vyhledávání.
Zdroj: opennet.ru
