
25.08.2009, 03:18
|
|
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме: 1535446
Репутация:
182
|
|
dbm was the first of a family of simple database engines, originally written by Ken Thompson and released by AT&T in 1979. The name is a three letter acronym for database manager.
dbm stores arbitrary data by use of a single key (a primary key) in fixed-size buckets and uses hashing techniques to enable fast retrieval of the data by key.
The hashing scheme used is a form of extensible hashing, so that the hashing scheme expands as new buckets are added to the database, meaning that, when nearly empty, the database starts with one bucket, which is then split when it becomes full. The two resulting child buckets will themselves split when they become full, so the database grows as keys are added.
While dbm and its derivatives are pre-relational databases--effectively a hash fixed to disk--in practice they can offer a more practical solution for high-speed storage looked up by-key as they do not require the overhead of connecting and preparing queries. This is balanced by the fact that they can generally only be opened for writing by a single process at a time. While this can be addressed by the use of an agent daemon which can receive signals from multiple processes, this does, in practice, add back some of the overhead (though not all). In simpler terms, they may be old tech but they're fast.
Ndbm: In 1986 Berkeley produced ndbm (standing for New Database Manager). This added support for having multiple databases open concurrently.
Для справки. А скрипт тебе вроде на винграде уж помогали писать.
|
|
|