Tokyo Cab inet поведение без явных транзакций - PullRequest
0 голосов
/ 25 марта 2020

Не нашел ничего в теме в документах. Интересно, насколько надежным и одновременным является T C, когда я не запускаю / не фиксирую транзакции явно, то есть в режиме «неявной транзакции».

Мне нужно записать только одну запись на транзакцию, т.е. нет пакетной записи , Но я хочу, чтобы эта запись была надежно записана на диск до того, как функция записи вернется. Тем не менее, я хотел бы по возможности избегать файлов WAL.

Интересует Ha sh DB, B + Tree DB, фиксированная длина DB.

EDIT. Чтобы быть в явном виде:

  1. Документы говорят, что "файл базы данных не поврежден даже в случае катастрофической ситуации c". Но я не уверен, что «отсутствие искажения» означает, что данные записываются ACIDly.

  2. Функции ... dbopen () для всех типов БД принимает флаг HDBOTSYN C, "который означает, что каждая транзакция синхронизирует обновленное содержимое с устройством ". Будет ли этот флаг работать, если я не начну транзакцию явно?

// Кстати, есть ли достойные альтернативы T C? Я имею в виду встроенные библиотеки C / C ++ с той же функциональностью и скоростью. KyotoCab inet ни в коем случае: это GPL; https://fallabs.com/license/ - 404, и мое электронное письмо об этом 404 не было получено ответа; не говоря уже о том, что они удалили DB фиксированной длины из K C.

1 Ответ

0 голосов
/ 26 марта 2020

Получил ответ на форуме:

  1. Чтобы данные были записаны полностью и последовательно, необходимо использовать ОБА явные транзакции и HDBOTSYN C.

  2. Было рекомендовано взглянуть на https://github.com/erthink/libmdbx (включая https://github.com/erthink/libfpta).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...