[Moscow.pm] А кто с berkeleyDB работает?

Oleg Alistratov ali на ali.org.ua
Вт Июн 14 07:47:06 PDT 2011



On 14.06.2011 16:44, Ivan Petrov wrote:

> | BerkeleyDB::DB_INIT_CDB()

У вас ведь не один процесс пишет? несколько? тогда нужно все-таки
DB_INIT_LOCK, а не DB_INIT_CDB.


>>> я думал локи нужны когда мы делаем чтение-модификацию-запись
>>> а чистая запись поля атомарна

Ну как атомарна. Это если транзакции включить, DB_INIT_TXN,
тогда можно рассуждать об уровне изоляции и атомарности.

А так несколько процессов бросаются обновлять индекс, ломают его,
позиция начала записи съезжает, отсюда и микс.

> $db->db_put('some', Dumper({ a =>  'что-то', b =>  'что-то'}));

Ну, это не тот сериализатор, чтобы не суметь собрать структуру обратно… 
так что, видимо, база без локов виновата.

Но паранойя требует Storable или JSON, не? :)


--
Али


Подробная информация о списке рассылки Moscow-pm