ЖЖ от 2007-06-19 13:19:00
Даже не думайте связываться с QDBM на PHP. При одновременной записи в базу с блокировкой 'd' (т.е. блокируется файл базы) файл портится на посещаемом проекте за время от нескольких часов, до нескольких минут, с блокировкой 'l' и того хуже — lock может и не очиститься при выходе и процессы PHP начинают подвисать, ожидая снятия блокировки. При этом на одном сервере при попытке открыть битый файл падает PHP, на другом — PHP выдаёт ошибку драйвера qdbm.
Кстати, лимит базы QDBMпочему-то 2GB, а не 4 (размер поля, где хранится размер базы — int, платформа у нас — 32 bit), понятно, что база не может быть отрицательного размера, так что ничего не мешает использовать uint, править руками не буду, если бы она работала стабильно, был бы смысл.
Конечно, можно было бы использовать QDBM в некоторых задачах как константную базу данных, но в этом смысле, если верить benchmarks, лучше взглянуть на CDB (от автора qmail!). Кстати, CDB в PHP удалось собрать только как bundled, сборка с библиотеками D. J. Bernstein или Михаила Токарева (TinyCDB) пораждает массу ошибок.
Что остаётся? Остальные файловые БД безнадёжно далеки от лидеров CDB и QDBM. Попробовать SQLite?
P.S. Засада — SQLite3 не хочет заносить символ с кодом ноль вBLOB-поле. Они издеваются? В модуле SQLite к PHP есть функция sqlite_udf_encode_binary для таких случаев — она кодирует специальным образом (вот изврат-то), преобразуя данные в безопасный для SQLite формат. Но модуль SQLite работает только с SQLite2. С SQLite3 в PHP принято работать через PDO, который имеет методы quote/bindValue и методы работы с LOB, которые плюют на кривожопие SQLite и оставляют NUL как есть.
Кстати, лимит базы QDBM
Конечно, можно было бы использовать QDBM в некоторых задачах как константную базу данных, но в этом смысле, если верить benchmarks, лучше взглянуть на CDB (от автора qmail!). Кстати, CDB в PHP удалось собрать только как bundled, сборка с библиотеками D. J. Bernstein или Михаила Токарева (TinyCDB) пораждает массу ошибок.
Что остаётся? Остальные файловые БД безнадёжно далеки от лидеров CDB и QDBM. Попробовать SQLite?
P.S. Засада — SQLite3 не хочет заносить символ с кодом ноль в
Комментарии 41
вот: http://blog.milkfarmsoft.com/?p=51
я наконец хоть
О!!!! Сейчас заценю! :)
Спасибо, интересно, буду ждать продолжения :)
Производительность не замерял?
пока ещё нет.
можешь набросать
Нечем посмотреть пока :( nginx не умеет SCGI
https://web.archive.org/web/20070629104720 … ht.org:80/
это не совсем «то»
сейчас как раз стоит выбор, что использовать в качестве базы
Поэтому, если задача схожая, то
остальное сделают специалисты твоего коллектива, и ты можешь юзать свое время на организацию достижения более отдаленных целей
Более того, твоим же специалистам будет в напряг если ты будешь вмешиваться в их работу по мелочам. это ведь ИХ дело как в деталях реализовать проект а не ТВОЕ. Зачем мешать?
Другое дело если коллектив лентяев и бездарей, и ты им не доверяешь… начинаешь пинать каждого мол вася сделай то петя сделай се… Времени у тебя на другие задачи при таком подходе не останется вовсе. Неэффективно. Стоит задуматься над заменами :)
Именно это я и имел в виду в своем первом комменте.
PS великолепен. просится в http://community.livejournal.com/emo_coders/
Здравствуйте.
Предлагаю работу.
Место работы: удаленно (дома)
График работы: любой удобный для Вас
Оплата: wmz
Суть работы: Есть тексты для сайтов. Их нужно переписать своими словами, но чтобы сохранился смысл.
Главное качество. Т.е. если дать постороннему человеку прочитать начальный текст и тот который вы перепишите своими словами, чтобы он не понял что эти тексты написаны одинаково.
Теперь об оплате. Оплата 0,2 wmz за 1000 символов текста.
Всех кого заинтересовало мое предложение, прошу писать в асю: :
зы прошу модеров, перенести тему в соответствующий раздел, если я не там запостил.