Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
BerkeleyDB ? 10.06.08 12:40 Число просмотров: 2971
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 10.06.08 12:41 Количество правок: 2
|
Это очень мощная встраиваемая БД.
Её не так давно купил Oracle, и ИМХО там только поддержка платная,
а использовать можно без ограничений. С исходниками. Официально
поддерживается для различных С компиляторов, для VS есть тоже.
Можно закомпилить в DLL, а можно статически как в твоего продюсера,
так и в консамера.
Создаётся на диске объект DB, при создании указывается,
что метод доступа к ней будет DB_QUEUE. Эта очередь может держать максимум
до 2^32 записей, так что поводов для беспокойства вроде нет. Далее,
продюсер толкает записи (BerkeleyDB хранит двоичные данные практически любого размера, но как по "полям" их разберёт софта это проблема софта, а для BDB по барабану) при помощи метода DB->put с флагом DB_APPEND.
Консумер открывает эту же DB, и использует метод DB->get с флагом
DB_CONSUME_WAIT. The DB_CONSUME_WAIT flag is the same as the DB_CONSUME flag, except that if the Queue database is empty, the thread of control will wait until there is data in the queue before returning.
В общем, очень мощная штуковина.
BerkeleyDB
|
|
|