From 3ade7c7ba114cb2d4a35487ce8fd2c31a4b04c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Mon, 16 Jan 2023 19:12:08 +0300 Subject: [PATCH] =?UTF-8?q?mdbx:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81?= =?UTF-8?q?=D0=B0=20MithrilDB.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 41 +++++++++++++++++++++++++++++++++++------ docs/_toc.md | 2 +- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 818bf0d7..46e1c549 100644 --- a/README.md +++ b/README.md @@ -81,19 +81,48 @@ Historically, _libmdbx_ is a deeply revised and extended descendant of the amazi [Lightning Memory-Mapped Database](https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database). _libmdbx_ inherits all benefits from _LMDB_, but resolves some issues and adds [a set of improvements](#improvements-beyond-lmdb). +### MithrilDB and Future + -The next version is under active non-public development from scratch and will be +The next version is under non-public development from scratch and will be released as **MithrilDB** and `libmithrildb` for libraries & packages. Admittedly mythical [Mithril](https://en.wikipedia.org/wiki/Mithril) is resembling silver but being stronger and lighter than steel. Therefore _MithrilDB_ is a rightly relevant name. - > _MithrilDB_ will be radically different from _libmdbx_ by the new - > database format and API based on C++17, as well as the [Apache 2.0 - > License](https://www.apache.org/licenses/LICENSE-2.0). The goal of this - > revolution is to provide a clearer and robust API, add more features and - > new valuable properties of the database. +_MithrilDB_ is radically different from _libmdbx_ by the new database +format and API based on C++20. The goal of this revolution is to provide +a clearer and robust API, add more features and new valuable properties +of the database. All fundamental architectural problems of libmdbx/LMDB +have been solved there, but now the active development has been +suspended for top-three reasons: + +1. For now _libmdbx_ «mostly» enough for all [our products](https://www.ptsecurity.com/ww-en/products/), +and I’m busy in development of replication for scalability. +2. Waiting for fresh [Elbrus CPU](https://wiki.elbrus.ru/) of [e2k architecture](https://en.wikipedia.org/wiki/Elbrus_2000), +especially with hardware acceleration of [Streebog](https://en.wikipedia.org/wiki/Streebog) and +[Kuznyechik](https://en.wikipedia.org/wiki/Kuznyechik), which are required for Merkle tree, etc. +3. The expectation of needs and opportunities due to the wide use of NVDIMM (aka persistent memory), +modern NVMe and [Ангара](https://ru.wikipedia.org/wiki/Ангара_(интерконнект)). + +However, _MithrilDB_ will not be available for countries unfriendly to +Russia (i.e. acceded the sanctions, devil adepts and/or NATO). But it is +not yet known whether such restriction will be implemented only through +a license and support, either the source code will not be open at all. +Basically we are not inclined to allow our work to contribute to the +profit that goes to weapons that kill our relatives and friends. +NO OPTIONS. + +Nonetheless, I try not to make any promises regarding _MithrilDB_ until release. + +Contrary to _MithrilDB_, _libmdbx_ will forever free and open source. +Moreover with high-quality support whenever possible. Tu deviens +responsable pour toujours de ce que tu as apprivois. So we will continue +to comply with the original open license and the principles of +constructive cooperation, in spite of outright Github sabotage and +sanctions. I will also try to keep (not drop) Windows support, despite +it is an unused obsolete technology for us. diff --git a/docs/_toc.md b/docs/_toc.md index 434806f0..45482dc6 100644 --- a/docs/_toc.md +++ b/docs/_toc.md @@ -38,4 +38,4 @@ including creating [merge-request](https://gitflic.ru/project/erthink/libmdbx/me --- -\section MithrilDB MithrilDB +\section MithrilDB MithrilDB and Future