Имеет ли открытие нескольких lmdb-сред в одном клиентском процессе допустимый вариант использования или это избыточно? - PullRequest
0 голосов
/ 14 июля 2020

§1 1 среда lmdb соответствует одному файлу базы данных на диске. §2 Теоретически один и тот же клиентский процесс может вызывать lmdb- c -api несколько раз для создания экземпляров различных lmdb-сред.

Вопрос в том, является ли §2 избыточным или может клиент иметь законный вариант использования того же.

1 Ответ

0 голосов
/ 14 июля 2020

Вот некоторые варианты использования, которые, вероятно, потребуют, чтобы приложение управляло своими данными в нескольких файлах lmdb-environment

  • , если клиентскому приложению необходимо было различать свои данные в файле системный уровень, например, два разных файла файловой системы.

  • полагая, что абсолютно все данные приложения, хранящиеся в одном файле .mdb, могут выглядеть как хранение всех яиц в одной корзине.

  • В целях безопасности, если бы все данные были представлены в одном файле, это было бы подвержено большему риску эксплуатации по сравнению со случаем, когда разные части данных были распределены по разным fs-файлам.

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

Так что, вероятно, не будет лишним позволить одному клиентскому процессу создать несколько файлов lmdb-среды.

...