- •2. Решение задач кластеризации с помощью сетей Кохонена.
- •3. Язык uml
- •4. Моделирование бизнес-процессов
- •5.Обратные связи
- •6. Основные организационные структуры
- •7. Интерфейс графических устройств cdi. Кисть, карандаш, примитивы.
- •8. Понятие ресурса. Ресурс меню, курсор, пиктограмма.
- •9. Модальные и не модальные панели диалога.
- •10 Формы записи алгоритмов в визуальной среде программирования.
- •11. Этапы проектирования программной системы в визуальной среде программирования.
- •12. Визуальное объектно-ориентированное программирование. Инкапсуляция, наследование, полиморфизм.
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •13. Схема работы web-приложения и web-браузера по протоколу http: бщий вид запроса и ответа http, метод, представление, заголовки запроса, ответа и представления
- •14. Методы http get и post, понятие безопасного и идемпотентного метода, заголовки запроса http: Host, Accept, User-Agent и Referer
- •15. Файловая система procfs
- •16. Средства командной строки по управлению учетными записями пользователей в Linux
- •17. Команда man Источники справочной информации
- •Страницы интерактивного руководства man
- •18. Односторонние функции. Псевдослучайные генераторы.
- •19. Умножение на основе классов вычетов
- •20. Избыточное кодирование
- •Балансировка вычислительной нагрузки Причины возникновения несбалансированной нагрузки
- •Статическая и динамическая балансировки
- •Постановка задачи динамической балансировки
- •Методология практического решения задачи балансировки
- •Оценка загрузки
- •Инициализация балансировки загрузки
- •Принятие решений в процессе балансировки
- •Перемещение объектов
- •Архитектура подсистемы балансировки
- •23. Распределенное хранение информации. Распределенные базы данных. Правила Дейта для распределенных бд. Фрагментация. Репликация. Протокол двухфазной фиксации транзакций.
- •Фрагментация
- •Репликация
- •Схемы владения данными в распределенной бд
- •24. Волновые алгоритмы распространения информации. Требования к волновому алгоритму. Алгоритм для кольцевой структуры. Алгоритм для дерева. Алгоритм голосования.
- •Initial
- •Initial
- •25. Алгоритмы выбора сайтов (координаторов). Алгоритм смещения. Выборы с помощью алгоритма для деревьев. Алгоритмы выбора для кольцевых структур (Лелана, Чанга-Робертса).
Фрагментация
Реляционные базы данных хранят отношения – таблицы, состоящие из строк и столбцов. Строка отношения называется кортежем и представляет собой запись (record в смысле языка программирования, например, Pascal) о какой-либо сущности предметной области.
Таблица 11.1. Пример отношения | ||||
Таб.№ |
Фамилия |
Имя |
Отчество |
Год рождения |
А5 |
Соловьев |
Александр |
Александрович |
1980 |
Д16 |
Фомин |
Василий |
Иванович |
1976 |
Е4 |
Зубова |
Оксана |
Петровна |
1980 |
Б11 |
Булатов |
Александр |
Иванович |
1984 |
Запись состоит из определенных полей. В одну таблицу сводятся записи о сущностях, имеющие одинаковую структуру (одинаковые по смыслу поля). Столбец отношения, т.е. имя поля и значения этого поля для разных сущностей называется атрибутом. При этом количество атрибутов (столбцов) называется степенью отношения, а количество кортежей (строк) – кардинальностью отношения.
Значения элементов в столбце принадлежат одной и той же области определения, называемой доменом. Например, домен для последнего столбца на рис. множество целых неотрицательных чисел. Если же иметь в виду, что в данное отношение включены работники некоторой организации, которым наверняка не более 100 лет, то домен можно определить как множество целых чисел из интервала [текущий год – 100, текущий год – 14]. Последнее число определяет то, что малолетние дети тоже не могут быть работниками. Каждому домену может быть присвоено имя (в программировании известны такие имена доменов как int, integer, real, float, char и др.).
Реляционной схемой называется имя отношения, за которым следует множество пар имен атрибутов и доменов. В программировании схеме соответствует определение типа записи. В целом же реляционная база данных – это набор нормализованных отношений.
В распределенной базе данных отношение может быть разделено на части, называемые фрагментами. Разделять отношение можно, "разрезая" таблицу по горизонтали, т.е. разделяя ее на подмножества кортежей, либо, "разрезая" по вертикали на подмножества атрибутов. В первом случае получаются горизонтальные фрагменты, во втором – вертикальные фрагменты. Возможна и смешанная фрагментация.
Фрагменты размещаются в различных локальных базах данных.
Причиной фрагментации является следование принципу локальности ссылок, в соответствии с которым данные, насколько это возможно, должны храниться как можно ближе к местам их использования и/или к местам их возникновения. Поскольку источники данных и пользователи привязаны к сайтам, находящимся в различных точках физического пространства, а реляционные схемы, которыми они пользуются, могут быть одинаковы, возникает естественная фрагментация.
Если по различным сайтам распределена информация о различных сущностях предметной области, то возникает горизонтальная фрагментация. Если об одних и тех же сущностях на разных сайтах имеется информация разного рода (известны значения разных атрибутов), то возникает вертикальная фрагментация.
Фрагментация может возникать и в связи с конфиденциальностью информации. Например, некоторые атрибуты кортежей могут быть доступны только с определенного сайта и храниться на этом сайте. Скажем, атрибут, отражающий состояние здоровья работника, доступен только в медицинской части организации. Получаем вертикальную фрагментацию.
Фрагментация обладает очевидными недостатками, для преодоления которых нужно прибегать к специальным мерам.
Первый недостаток заключается в усложнении поддержки целостности данных, второй – в снижении производительности приложений, использующих данные, находящиеся в различных фрагментах.