Структуры хранения в базе данных

Структуры хранения в базе данных

Структуры хранения в базе данных Таблицы и индексы баз данных обычно хранятся на жестком диске в одной из многочисленных форм, в пронумерованных / ненумерованных ненумерованных Flat-файлах, ISAM, «Кучах», Hash-корзинах или B+ деревьях. Они имеют разные преимущества и недостатки, которые обсуждаются в этом разделе. Наиболее часто используются B+ деревья и ISAM.

Содержание

Произвольное хранение

Произвольное хранение — обычно хранятся записи в том порядке, в каком их вставили. Хотя у (O\left(1\right))довольно высокая эффективность вставки, то может показаться, что было бы неэффективно время извлечения (O\left(\log n\right)), но это, как правило, никогда не играет большой роли, так как большинство баз данных используют индексы на первичных ключах, в результате чего O\left(\log n\right) или O\left(1\right) для таких же ключей, так как строки баз данных смещаются в системе хранения файлов баз данных, в результате чего поиск во много раз эффективнее.

Последовательное хранение

Последовательное хранение — обычно записи хранятся по порядку, и, возможно, придется изменить или увеличить размер файла в случае добавления новой записи, это очень неэффективно. Но оно лучше для поиска, так как записи предварительно отсортированы, чем не может похвастаться O\left(\log n\right).

Структурирование файлов

«Кучи»

  • Простейший и самый основной метод
    • Делает эффективным добавление новых записей. Записи добавляются в конце файла — 'хронологический' порядок
    • Неэффективный поиск так как поиск должен быть линейным
    • Удаление — чтобы удалить помеченные записи, требуется периодическая реорганизация, если файл очень неустойчивый
  • Преимущества
    • хорош для загрузки больших объёмов данных
    • хорош для относительно небольших отношений, так как избегаются излишние расходы при индексации
    • Подходит, когда извлечение привлекает большую часть записей
  • Недостатки
    • Не эффективен для селективного поиска с помощью ключевых слов
    • Сортировка может вызывать затруднения
  • Не подходит для ‘временных’ таблиц

Hash корзины

  • Хэш-функции вычисляют адрес страницы, на которой будет храниться запись, на основе одного или более полей в записи
    • Функции хэширования, выбираются для того, чтобы обеспечить равномерное распределение адресов через адресное пространство
    • ‘размещение’ как правило, 40 % — 60 % от общего размера файла
    • уникальный адрес не гарантируется этим методом, поэтому необходимы механизмы определения столкновений и механизмы исправления столкновений
  • открытая адресация
  • цепное/ нецепное переполнение
  • плюсы и минусы
    • эффективен для точных соответствий по ключевым полям
    • не подходит для диапазона поиска, который требует последовательного хранения
    • вычисляет, где хранятся записи, на основе полей в записи
    • хэш-функции обеспечивают равномерное распределение данных
    • Возможны столкновения, поэтому требуются обнаружение столкновений и восстановление

B+ деревья

Наиболее часто используются на практике.

  • время доступа к любому из кортежей одинаково, так как в поиске одно и то же количество узлов
  • индекс — полный индекс, поэтому файлы данных не нужно упорядочивать
  • Плюсы и минусы
    • универсальная структура данных — как последовательный, так и произвольный доступ
    • быстрый доступ
    • поддерживает точный диапазон
    • Проблема 'летучих' файлов решаются эффективно, потому что индексы динамические — расширяются и сжимаются, когда таблица растёт и уменьшается
    • хуже подходит для относительно стабильных файлов — в этом случае, ISAM является более эффективным

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Структуры хранения в базе данных" в других словарях:

  • ГОСТ 20886-85: Организация данных в системах обработки данных. Термины и определения — Терминология ГОСТ 20886 85: Организация данных в системах обработки данных. Термины и определения оригинал документа: 6. База данных БД Data base Совокупность данных, организованных по определенным правилам, предусматривающим общие принципы… …   Словарь-справочник терминов нормативно-технической документации

  • ГОСТ Р ИСО/МЭК 19762-1-2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД — Терминология ГОСТ Р ИСО/МЭК 19762 1 2011: Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД оригинал документа: Accredited Standards… …   Словарь-справочник терминов нормативно-технической документации

  • Консистентность данных — (англ. data consistency или data validity)  это согласованность данных друг с другом, целостность данных, а также внутренняя непротиворечивость. Множество всех условий, налагаемых на данные определяется моделью (структурой) данных.… …   Википедия

  • База данных — Запрос «БД» перенаправляется сюда; см. также другие значения. База данных  представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов),… …   Википедия

  • Рефакторинг баз данных — (англ. database refactoring) это простое изменение в схеме базы данных, которое способствует улучшению ее проекта при сохранении функциональной и информационной семантики[1]. Иными словами, следствием рефакторинга базы данных не может быть… …   Википедия

  • Иерархическая модель данных — Иерархическая модель данных  представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней. Между объектами существуют связи, каждый объект может включать в себя несколько объектов… …   Википедия

  • Иерархические базы данных — Иерархическая модель базы данных состоит из объектов с указателями от родительских объектов к потомкам, соединяя вместе связанную информацию. Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней.… …   Википедия

  • Иерархическая база данных — Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй  объекты второго уровня и т. д. Между объектами существуют связи, каждый объект… …   Википедия

  • Представление (базы данных) — У этого термина существуют и другие значения, см. Представление. Представление (англ. view, более созвучное не стандартное название «вид», в сленге программистов часто используется в качестве заимствования из английского «вьюха», «вьюшка»)… …   Википедия

  • Хранилище Данных — (англ. Data Warehouse) очень большая предметно ориентированная информационная корпоративная база данных, специально разработанная и предназначенная для подготовки отчётов, анализа бизнес процессов с целью поддержки принятия решений в организации …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»