![]() |
![]() |
| http://kurepin.ru/php/zametki/dbm/ |
|
Все давно привыкли использовать в качестве баз данных движки, вроде MySQL или Postgres. А между тем, существует довольно широкий круг задач, где можно обойтись и без использования SQL-движка. Я говорю не о текстовых файлах собственного формата, а о DBM-базе. Berkeley DB — довольно старинный формат, хорошо знакомый UNIX-администраторам. Однако его не так часто используют в web-программировании, как он того заслуживает. Позвольте мне вкратце рассказать вам об этом удивительном формате хранения данных. DBM -- это база данных, безусловно. Но если сравнить ее свойства с привычными сегодня SQL-движками, то выяснится, что до современного понятия "база данных" Berkeley DB не сильно-то дотягивает. Прежде всего, Berkeley DB — это только формат хранения данных, то есть ни о каком отдельно работающем движке речь не идет. DBM -- это обычные файлы, к которым просто надо уметь обращаться. PHP умеет работать с DBM-форматом, если при компиляции языка не забыли включить опцию DB (--with-db). Какие особенности DBM следует выделить. Прежде всего, скорость. Скорость получения информации из DBM-базы настолько велика, что устроит web-проект с любой, даже очень высокой нагрузкой. Но скорость не берется из ниоткуда. Скорость обеспечивается форматом хранения данных, который говорит о том, что любая DBM-таблица состоит из двух полей, первое из которых содержит ключевые уникальные записи. Если вы не сильно хорошо разбираетесь в терминологии баз данных, поясню на примере простой таблицы. Коля 123-1212 Вася 123-1212 Лена 993-9988 Это номера телефонов. В первом поле — имена, во втором — номера. При этом, в первом поле записи должны быть строго уникальны, т.е. не должны повторяться. Во втором поле может быть записано все что угодно. Вот и весь формат DBM. "И это все?!", — удивитесь вы. Да, все, а разве этого мало? Строго говоря, DBM — это обыкновенный массив, только не в оперативной памяти, а на диске. Массив, размеры которого могут быть угрожающе велики. Разве этого мало? Для примера могу сказать, что сайт целиком построен на DBM. И формат этот выбран отнюдь не случайно: скорость работы, независимость от дополнительных SQL-движков, минимальная нагрузка на систему — все эти качества определили мой выбор в пользу DBM-формата. Операторов для работы с Berkeley DB совсем не много. Я даже не поленюсь перечислить их: — открыть базу — закрыть базу — проверить запись на существование — получить запись — заменить запись — вставить новую запись — удалить запись — первая запись — следующая запись Как видите, операторов действительно не много и они вполне очевидны. Настолько все просто, что даже примеры скриптов приводить не стану. А если у вас возникнет вопрос о том, как можно использовать "столь ущербный" формат хранения данных, вспомните о массивах.
13.01.03
|
| реклама на сайте |
|
…
|
| copyright ©2000-2002 Ruslan Kurepin |