Какво е CDB файл?
CDB файловете се използват в критични приложения като имейл. CDB означава “постоянна база данни”, бърз, надежден и прост пакет за създаване или четене на постоянни бази данни. Подмяната на база данни е безопасна срещу системни сривове. Потребителите не трябва да правят пауза по време на пренаписване. CDB работи като асоциативен масив (на диск), съпоставяйки ключове със стойности, и позволява множество стойности да бъдат съхранени в един ключ.
CDB файлов формат
Файловият формат CDB съхранява числа, отмествания, дължини и хеш стойности във формат little endian като 32-битови цели числа без знак. Смята се, че ключовете и данните са непрозрачни байтови низове без специално третиране. В началото на базата данни заглавката с фиксиран размер представлява 256 хеш таблици, като изброява тяхната позиция във файла и тяхната дължина в слотове. Обикновено данните се съхраняват като поредица от записи, всеки запис съхранява дължина на ключа, дължина на данните, ключ и данни. Няма правила за сортиране или подравняване. Записите са последвани от набор от 256 хеш таблици с различна дължина. Тъй като нулата е валидна дължина, може да има по-малко от 256 хеш таблици, физически съхранени в базата данни, но нищо не се счита за 256 таблици. Хеш таблиците се състоят от поредица от слотове, всеки от които съдържа хеш стойност и отместване на записа. „Празните слотове“ имат отместване нула.
Структура
CDB базата данни се състои от цял набор от данни в един компютърен файл. Съдържа три части:
- Заглавка с фиксиран размер
- Данни
- Набор от хеш таблици.
Търсенията са налични само за точни ключове. Търсенията действат по следния алгоритъм:
- Хеширайте ключа.
- Определете в коя хеш таблица и слот трябва да се намира този запис.
- Тествайте посочения слот в хеш-таблицата.
За търсене на ключове с повече от една стойност, допълнителни стойности могат да бъдат намерени чрез просто възобновяване на търсенето в следващия слот.
Характеристика
Структурата на базата данни на CDB предоставя няколко функции:
Бързи търсения
Успешното търсене в огромна база данни обикновено отнема само два достъпа до диска, а неуспешното търсене отнема само едно.
Ниски режийни разходи
Базата данни използва 2048 байта, 24 байта на запис и пространството за ключове и данни.
Без произволни ограничения
CDB може да управлява всяка база данни до 4 гигабайта. Тъй като няма други ограничения, записите дори не трябва да се побират в паметта. Базите данни се съхраняват в машинно независим формат.
Бърза подмяна на атомарна база данни
Командата cdbmake може да пренапише цяла база данни в два порядъка, по-бързо от други пакети за хеширане.
Бързо изхвърляне на база данни
cdbdump може да отпечата съдържанието на база данни в съвместим с cdbmake формат.