autonicrement Беркли дБ, или список - PullRequest
0 голосов
/ 13 января 2011

Есть ли у Беркли дБ автоинкремент?

Я использую Java для тестирования,

Я видел пример: collection.ship.tuple.Sample, где автор использует StoredSortedMap для обработки данных, поэтому ему нужно каждый раз вводить ключ.

Я бы хотел знать, есть ли в Беркли материал для автоинкремента.

Или, если есть какой-то список для хранения и извлечения ...

1 Ответ

4 голосов
/ 14 января 2011

Дэвид Сигло, директор по управлению продуктами для Berkeley DB здесь.Как правило, мы рекомендуем людям задавать вопросы на форумах Berkeley DB.Там вы найдете большое сообщество активных разработчиков приложений Berkeley DB.

Короткий ответ на ваш вопрос заключается в том, что в Berkeley DB доступны службы автоинкремента.Вам просто нужно решить, как вы хотите их использовать.Эти параметры включают в себя:

  1. Введите код в вашем приложении.Поскольку BDB - это библиотека, и она связана с вашим приложением, многие люди просто управляют генерацией ключей с автоинкрементом в самом приложении.Конечно, это может быть несколько сложнее, если вы разрабатываете многопоточное или многопроцессорное приложение.
  2. Используйте последовательность DB Беркли для управления автоинкрементом.Если вы используете базовый API Key / Value Pair или API Collections (как в вашем случае), вы можете создать последовательность BDB, вызвать соответствующие подпрограммы, чтобы получить следующее значение, а затем присвоить это значение ключу перед записью.запись.Поскольку последовательности BDB защищены транзакциями и функционируют в среде BDB, любые проблемы многопоточности или многопроцессорности решаются библиотекой BDB.Вы можете найти более подробную информацию о последовательностях BDB в главе 19 Справочного руководства по BDB и в Справочном руководстве по программированию Java API .
  3. Если вы используете API DPL (Direct Persistence Layer),Вы можете определить первичный ключ как последовательность.Затем DPL автоматически позаботится о приращении значения ключа во время операции put ().

Надеюсь, это было полезно.

С уважением,

Дэйв

...