Сетка файл - Grid file

В Информатика, а файл сетки или же ковшовая сетка это метод доступа к точке который разбивает пространство на непериодический сетка где одна или несколько ячеек сетки относятся к небольшому набору точек. Файлы сетки (a симметричный структура данных ) предоставляют эффективный метод хранения этих индексов на диске для выполнения сложных поисков данных.

Он обеспечивает сетку п-размеры, где п представляет, сколько ключей можно использовать для ссылки на одну точку.

Файлы сетки сами по себе не содержат данных, а содержат ссылки на правильные ведро.

Использует

А файл сетки обычно используется в тех случаях, когда на одно значение может ссылаться несколько ключей.

Сеточный файл начал использоваться, потому что «традиционные файловые структуры, которые обеспечивают многоключевой доступ к записям, например, инвертированные файлы, являются расширениями файловых структур, изначально разработанными для одноключевого доступа. Они проявляют различные недостатки, в частности, для многоключевого доступа к высокодинамичным файлам . " [1]

В традиционной одномерной структуре данных (например, хэш ), поиск по одному критерию обычно очень прост, но поиск второго критерия может быть намного сложнее.

Файлы сетки представляют собой особый вид хеширования, при котором традиционный хеш заменяется каталогом сетки.

Примеры

База данных переписи[2][3]

Рассмотрим базу данных, содержащую данные переписи. Один записывать представляет одно домашнее хозяйство, и все записи сгруппированы в сегменты. Все записи в корзине могут быть проиндексированы либо по их городу (который одинаков для всех записей в корзине), либо по улицам в этом городе, названия которых начинаются с одной буквы.

Файл сетки можно использовать для обеспечения эффективного индекса для этой структуры, где записи объединяются в группы по 26 штук, каждая из которых относится к названиям улиц в городе, начинающимся с одной из букв алфавита. Эту структуру можно рассматривать как множество, стол, или же сетка с двумя измерениями, которые мы будем называть осями x и y.

Можно считать, что ось X - это город, а ось Y - каждая из букв алфавита или, альтернативно, первая буква каждой улицы.

Каждая запись в этой структуре называется ячейкой. Каждая ячейка будет содержать указатель в соответствующий сегмент базы данных, где хранятся фактические данные. Для хранения названия города может потребоваться дополнительная ячейка или заголовок записи. Другие ячейки, сгруппированные с ней, должны будут содержать только указатель на их соответствующую корзину, поскольку первая ячейка соответствует названиям улиц, начинающимся с «A», вторая - к «B» и так далее.

База данных может быть дополнительно расширена, чтобы содержать поле континентов для расширения переписи на другие континенты. Это приведет к тому, что записи в одном ведре будут соответствовать домохозяйствам на улице, начинающейся с той же буквы, в том же городе, на том же континенте.

Тогда ячейки в файле сетки будут состоять из заголовка города и шести (по одной для каждого континента, не включая Антарктида ) группы из 26 ячеек, относящиеся к улицам с одной и той же начальной буквой, в том же городе, на одном континенте, и теперь их можно рассматривать как трехмерный массив.

Преимущества

Поскольку одна запись в файле сетки содержит указатели на все записи, проиндексированные указанными ключами:[4]

  • Никаких специальных вычислений не требуется
  • Извлекаются только правильные записи
  • Может также использоваться для запросов с одним ключевым словом поиска
  • Легко расширить на запросы по п ключи поиска
  • Значительное сокращение времени обработки запросов с несколькими ключами
  • Имеет верхнюю границу доступа к данным с двумя дисками.[1]

Недостатки

Однако из-за характера файла сетки, который дает ему преимущества, есть и некоторые недостатки:[4]

  • Накладывает лишнее пространство
  • Накладные расходы на производительность при вставке и удалении

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

Смотрите также

Рекомендации

  1. ^ а б Дж. Нивергельт, Х. Хинтербергер Сеточный файл: адаптируемая симметричная многоклавишная файловая структура. Институт информатики, ETH и К. С. Шевчик, 1984. Резюме, стр.1.
  2. ^ Дональд Кнут. Искусство программирования, Том 3: Сортировка и поиск, Второе издание. Аддисон-Уэсли, 1998. ISBN  0-201-89685-0. Раздел 6.5: Поиск, стр. 564–566.
  3. ^ Эльмасри и Наватх Основы систем баз данных, Третье издание. Аддисон-Уэсли, 2000. ISBN  0-201-54263-3. Раздел 6.4.3: Файлы сетки, стр.185.
  4. ^ а б "Файл сетки". cs.sfu.ca. Получено 2016-11-27.