Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Багатократне хеширування






Альтернативний спосіб вирішення конфліктів міститься в застосуванні другої хеш-функції, якщо перша функція призводить до виникнення конфлікту. Мета другої хеш-функції міститься в отриманні нової адреси хеширування, яка дозволила б запобігти конфліктові. Друга хеш-функція звичайно використовується для розміщення записів в області переповнення.

При роботі з хешируваними файлами запис може бути достатньо ефективно знайдений за допомогою першої хеш-функції, а в випадку виникнення конфлікту для визначення його адреси треба застосувати один з перелічених вище способів. Перед тим як оновити хешируванний запис, його треба знайти. Якщо оновлюється значення поля, яке не є хеш-ключом, то таке оновленя може бути виконане достатньо просто, причому оновлений запис зберігається в тому ж слоті. Але якщо оновлюється значення хеш-ключа, то до розміщення оновленого запису треба буде обчислити хеш-функцію. Якщо при цьому буде отримане нове хеш-значення, то ісходний запис повинен бути знищений з поточного слоту та збережений за знов обчисленою адресою.

 

 

2. Динамічне хеширування

Перелічені вище методи хеширування є статичними, в тому розумінні, що простір хеш-адрес задається безпосередньо при створенні файлу. Вважається, що простір файлу вже насичений, коли він вже майже повністю заповнений та адміністратор бази даних вимушений реорганізувати його хеш-структуру. Для цього може знадобитися створити новий файл більшого за розміром, обрати нову хеш-функцію та переписати старий файл в знов відведене для цього місце. В альтернативному підході, який отримав назву динамічного хеширування, припускається динамічна зміна розміру файлу з метою його постійної модифікації у відповідності зі зменшенням або збільшенням розмірів бази даних (рис. 1):

 

Рис. 1 Динамічне хеширування

 

Основний принцип динамічного хеширування міститься в обробці числа, яке було вироботане хеш-функцією в вигляді послідовності бітів, та розподілі записів за сегментами на основі так званої прогресуючої оцифровки (progressive digitization) цієї послідовності. Динамічна хеш-функція виробляє значення в широкому діапазоні, а саме b-бітові двоїчні цілі числа, де b звичайно дорівнює 32.

Обмеження, які властиві методу хеширування

Використання методу хеширування для вилучення записів основане на повністю відомому значенні хеш-поля. Тому, як правило, хеширування не підходить для операцій вилучення даних за заданим зразком або діапазоном значень. Більш того, хеширування не підходить для пошуку та вилучення даних за будь-яким іншим полем, відмінному від поля хеширування.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал