"Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения", В. М. Котов, А. И. Лапо, Ю.А. Быкадоров, Е.Н. Войтехович
Распределение данных — это хранение или обработка информации на нескольких компьютерах, объединённых сетью. Такой подход помогает работать с большими объёмами сведений, обслуживать много запросов и сохранять доступность при сбое отдельного узла. Данные можно разделить на части или хранить копиями. Чтобы быстро находить документы, поисковые системы создают индекс — перечень связей между словами и материалами — и используют его при обработке запросов.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Распределённые данные — данные, размещённые на нескольких компьютерах или узлах сети. В отличие от хранения в одном месте, информация может быть разделена или скопирована между устройствами. Это позволяет распределить объём и нагрузку, но для работы с данными иногда нужно обращаться к разным узлам.
Узел сети — компьютер или другое устройство, которое хранит данные либо участвует в их передаче и обработке. Узел может выполнять одну или несколько таких задач. Понимание роли каждого узла помогает представить, где находятся сведения и по какому пути они передаются.
Поисковый индекс — упорядоченная структура сведений о документах и их содержимом, которая ускоряет поиск нужных материалов. Например, индекс может связывать слово со списком документов, в которых оно встречается. Благодаря этому не требуется каждый раз читать все документы целиком.
Поисковая система — средство, которое собирает сведения о доступных ресурсах, формирует индекс и выдаёт результаты по запросу пользователя. Она помогает искать документы в большом наборе материалов. При этом выдача зависит от того, какие ресурсы обнаружены и насколько свежи сведения в индексе.
Данные распределяют, когда одному компьютеру трудно хранить весь объём или быстро обрабатывать все запросы. Несколько узлов могут работать одновременно и делить между собой нагрузку. Если отдельный узел выходит из строя, остальные могут продолжить работу; это особенно полезно, когда сведения продублированы. Однако распределение усложняет согласование данных и обмен между узлами.
При разделении общего набора каждому узлу поручают хранить свою часть. Такой способ помогает разместить очень большой объём и распределить обработку, но для запроса, затрагивающего весь набор, придётся обратиться к нескольким узлам. При копировании одни и те же данные сохраняют в нескольких местах: это облегчает доступ и помогает пережить сбой. Зато копии занимают дополнительное место и должны своевременно обновляться.
Путь запроса начинается с того, что пользователь вводит слова или другие условия поиска. Система сопоставляет запрос с индексом и получает перечень документов, связанных с нужными словами. Затем она отбирает подходящие материалы и упорядочивает их, чтобы первыми показать наиболее полезные. Следовательно, выдача — это не просто список всех документов, в которых нашлось совпадение.
Чтобы создать индекс, поисковая система обходит доступные ей сетевые ресурсы и обнаруживает документы. Она анализирует их содержимое и сохраняет в индексе сведения, нужные для будущего поиска. Позднее система повторяет обход или обновляет уже собранную информацию. Такой процесс необходим, потому что документы появляются, изменяются и исчезают.
Поиск по индексу обычно быстрее последовательного просмотра: при просмотре пришлось бы открывать документы один за другим при каждом запросе, а индекс заранее связывает признаки с материалами. Но ускорение зависит от качества и полноты этой структуры. Новый документ может ещё не попасть в индекс, а изменённый — пока отражаться в старой версии. Поэтому система способна не показать подходящий материал или выдать не самые свежие сведения.
| Свойство | Разделение данных по узлам | Копирование данных на несколько узлов |
|---|---|---|
| Как размещаются данные | Каждый узел хранит свою часть общего набора. | На нескольких узлах хранятся одинаковые данные. |
| Основное преимущество | Можно разместить большой объём и распределить обработку. | Данные доступны из разных мест, а копии могут помочь при сбое. |
| Влияние на поиск | Поиск ведётся на нужных узлах, результаты приходится объединять. | Можно искать по доступной копии и распределять запросы. |
| Ограничение или сложность | Запрос может потребовать обращения к нескольким узлам. | Копии занимают место и должны согласованно обновляться. |
Сравнивайте способы по строкам: так видно, как устройство хранения связано с преимуществами и ограничениями. Разделение удобно для больших наборов, а копирование — для повышения доступности. В реальных системах эти способы могут сочетаться.
Задача 1. В наборе из восьми документов нужно найти все, где встречается слово «алгоритм». Индекса нет, поэтому поиск выполняется непосредственно по содержимому. Важно проверить каждый документ, иначе нельзя гарантировать, что найдены все совпадения.
Ответ: без индекса нужно последовательно проверить все восемь документов и записать номера тех, где есть слово «алгоритм». Конкретные номера зависят от содержимого документов.
Задача 2. Составим индекс для слов «сеть», «данные» и «поиск», указав рядом с каждым словом номера документов, где оно встречается. Затем найдём документы по запросу «данные И поиск». Союз «И» означает, что документ должен содержать оба слова.
Ответ: результат — пересечение списков документов для слов «данные» и «поиск». Чтобы назвать номера, нужны сами документы или готовые списки из индекса.
Задача 3. Ресурсы сайта размещены на трёх узлах, и для каждого узла известен свой индекс. Нужно найти документы по заданному слову и объединить результаты. Поскольку материалы распределены, проверка только одного индекса может пропустить совпадения.
Ответ: искать нужно во всех трёх индексах, после чего объединить результаты и устранить повторы. Если копий нет, объединяются найденные части; если копии есть, одинаковые документы учитываются один раз.
Ошибка: считать, что распределение обязательно означает одинаковую копию на каждом узле. Так думают, потому что копирование — заметный способ повысить доступность, но данные также могут разделять на части. Проверьте себя вопросом: хранит ли узел весь набор или только часть? Если части разные, это разделение.
Ошибка: путать индекс с самими документами. В индексе находятся сведения, помогающие найти материалы, а не обязательно их полный текст. Путаница возникает потому, что индекс содержит слова из документов. Проверьте себя: можно ли по одной записи индекса прочитать весь документ? Обычно для этого нужно обратиться к самому материалу.
Ошибка: считать, что поисковая система заново проверяет весь Интернет при каждом запросе. На деле запрос чаще сопоставляется с уже собранными и проиндексированными сведениями, иначе ответ занимал бы слишком много времени. Проверьте себя: сначала система обнаруживает и описывает ресурсы или начинает обход только после ввода запроса? Обычно сбор сведений происходит заранее.
Ошибка: ожидать, что выдача содержит все подходящие и только актуальные документы. Индекс обновляется не мгновенно, а отбор результатов зависит от правил системы, поэтому возможны пропуски и устаревшие сведения. Такое ожидание возникает из-за впечатления, что поиск охватывает всё сразу. Проверьте дату документа и помните, что отсутствие результата не доказывает отсутствие самого материала.
Для понимания распределения данных нужно знать устройство компьютерной сети и то, как устройства обмениваются информацией. Узлы получают запросы и передают друг другу данные именно по сетевым каналам. Поэтому представление о передаче сведений помогает понять, почему поиск может затрагивать несколько компьютеров.
Тема связана с базами данных и индексированием. В базе индекс также связывает признаки с записями, чтобы не просматривать все сведения подряд. Этот принцип полезен, когда объём информации становится большим.
Идеи распределения применяются в облачных сервисах и сетевых хранилищах, где данные размещены на нескольких устройствах. Они также нужны для понимания работы поисковых систем. Знание этих принципов помогает разобраться, откуда берутся результаты и почему они могут отличаться по полноте и актуальности.
Зачем хранить данные на нескольких компьютерах, а не на одном?
Так можно распределить большой объём информации и нагрузку от запросов между несколькими узлами. Если один узел перестанет работать, данные или сервис могут оставаться доступными на других, особенно если там есть копии.
Чем разделение данных отличается от хранения их копий?
При разделении каждый узел хранит свою часть общего набора, поэтому вместе узлы охватывают больше данных. При копировании несколько узлов хранят одинаковые материалы: это повышает доступность и ускоряет обслуживание запросов, но требует места и обновления копий.
Что именно находится в поисковом индексе?
В индексе хранятся сведения о документах и их содержимом, например соответствия между словами и документами, где они встречаются. Сам индекс обычно не заменяет документы, а помогает быстро определить, где искать подходящий материал.
Почему поиск по индексу быстрее просмотра всех документов?
Индекс заранее организует сведения так, чтобы по слову или признаку можно было быстро получить список подходящих документов. Без индекса пришлось бы проверять содержимое каждого документа при каждом запросе.
Почему поисковая система может не показать нужный или самый свежий документ?
Индекс может быть неполным или устаревшим: система не всегда успевает обнаружить новый документ и обновить сведения о нём. Кроме того, результаты отбираются и упорядочиваются по правилам поиска, поэтому подходящий материал может не попасть в показанную часть выдачи.
18.4. Распределение данных и организация поиска