C
Первый шаг: открыть, записать, прочитать
Базовый сценарий на C. Создаётся окружение базы, в write-транзакции открывается таблица и сохраняется пара ключ–значение, затем в read-only транзакции значение читается. Транзакция обязательна даже для чтения — она даёт согласованный снимок данных.
#include <mdbx.h>
#include <stdio.h>
int main(void) {
MDBX_env *env;
MDBX_txn *txn;
MDBX_dbi dbi;
mdbx_env_create(&env);
/* MDBX_NOSUBDIR: путь — это сам файл данных */
mdbx_env_open(env, "./mydb.mdb", MDBX_NOSUBDIR, 0664);
/* Транзакция обязательна, даже для чтения */
mdbx_txn_begin(env, NULL, MDBX_TXN_READWRITE, &txn);
mdbx_dbi_open(txn, NULL, MDBX_CREATE, &dbi);
MDBX_val key = { "answer", 6 };
MDBX_val val = { "42", 2 };
mdbx_put(txn, dbi, &key, &val, 0); /* 0 = UPSERT */
mdbx_txn_commit(txn);
MDBX_val out = { 0 };
mdbx_txn_begin(env, NULL, MDBX_TXN_READONLY, &txn);
mdbx_get(txn, dbi, &key, &out);
printf("answer = %.*s\n", (int)out.iov_len, (char *)out.iov_base);
mdbx_txn_abort(txn);
mdbx_env_close(env);
return 0;
}