ALMELN.ru

Хранилище текстов, отзывов и закладок о тестировании, обеспечении качества и литературе

View the Project on GitHub

Базы данных. MySQL

Подборка упражнений, задач и решений.

Вопросы:

  1. Что позволяет реализовать репликация master-slave в MySQL?

Что позволяет реализовать репликация master-slave в MySQL?

а) Обеспечение отказоустойчивости приложения

б) Обеспечение целостности данных

в) Обеспечение возможности записи на разные серверы базы данных

г) Обеспечение разделения потоков чтения и записи.

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

Репликация желательна по крайней мере по двум причинам. Во-первых, она способна обеспечить более высокую производительность, поскольку приложения смогут обрабатывать локальные копии вместо того, чтобы устанавливать связь с удаленными узлами. Во-вторых, наличие репликации может также обеспечивать более высокую степень доступности, поскольку любой реплицируемый объект остается доступным для обработки (по крайней мере, для выборки данных), пока хотя бы одна реплика в системе остается доступной. Главным недостатком репликации, безусловно, является то, что если реплицируемый объект обновляется, то и все его копии должны быть обновлены (проблема распространения обновлений)”. “Введение в системы баз данных”, “Часть V. Глава 21. Дополнительные темы. 6. Независимость от репликации” Кристофер Дейт. 831-832 страницы. Еще о репликации на страницах 882-886.

“При репликации содержимое БД дублируется на нескольких серверах. Зачем необходимо прибегать к дублированию? Есть несколько причин:… Отказоустойчивость. В случае отказа реплики, все запросы чтения можно перевести на master. Если откажет master, запросы записи можно перевести на реплику. После того как master будет восстановлен, он может принять на себя роль реплики”. “Основы репликации в MySQL”, Александр Светкин, 2009 год

б. Скорее ложь. “Задача обеспечения целостности заключается в гарантированной поддержке правильности данных в базе (насколько это возможно). Противоречие между двумя записями, представляющими один “факт”, является примером утраты целостности данных (см. обсуждение этого вопроса выше в данном разделе). Конечно, эта конкретная проблема может возникнуть лишь при наличии избыточности в хранимых данных. Но даже если избыточность отсутствует, база данных может содержать неправильную информацию. Например, в базе данных может быть указано, что сотрудник отработал 400 рабочих часов в неделю вместо 40, или зафиксирована его принадлежность к отделу, которого не существует. Централизованное управление базой данных позволяет избежать подобных проблем (насколько это вообще возможно). Для этого администратор данных определяет (а администратор базы данных реализует) ограничения целостности (integrity constraints), которые будут применяться при любой попытке внести какие-либо изменения в соответствующие данные.

Отметим также, что целостность данных для многопользовательских систем баз данных даже более важна, чем для среды с “частными файлами”, причем именно по той причине, что такая база данных поддерживает совместный доступ. При отсутствии должного контроля один пользователь вполне может неправильно обновить данные, от чего пострадают многие другие пользователи. Следует также сказать, что в большинстве существующих коммерческих СУБД поддержка ограничений целостности развита слабо, хотя в настоящее время в этом направлении наблюдаются некоторые улучшения. Приходится констатировать тот печальный факт, что, как будет показано в главе 9, ограничения целостности имеют значительно более фундаментальное и важное значение, чем это обычно признается на текущий момент”. “Введение в системы баз данных”, “Часть … Глава 1. Базы данных и управление ими” Кристофер Дейт. 61 страница.

Защита и поддержка целостности данных

“СУБД должна контролировать пользовательские запросы и пресекать любые попытки нарушения ограничений защиты и целостности данных, определенные АБД (см. предыдущий раздел). Этот контроль может осуществляться во время компиляции, во время выполнения или на обоих этих этапах обработки запроса”. “Введение в системы баз данных”, “Часть … Глава 2. Архитектура системы баз данных” Кристофер Дейт. 90 страница.

в. Ложь. “Master-Slave репликация. В этом подходе выделяется один основной сервер базы данных, который называется Мастером. На нем происходят все изменения в данных (любые запросы MySQL INSERT/UPDATE/DELETE). Слейв сервер постоянно копирует все изменения с Мастера. С приложения на Слейв сервер отправляются запросы чтения данных (запросы SELECT). Таким образом Мастер сервер отвечает за изменения данных, а Слейв за чтение”. Репликация данных

г. Скорее истина. “В приложении нужно использовать два соединения — одно для Мастера, второе — для Слейва — для записи и чтения соответственно”. Репликация данных

Дополнительная информация:

Каким свойством не обладает первичный ключ?

а. Минимальность

б. Неизменность.

в. Уникальность.

г. Долговечность.

а.

б.

в. Истина. “Столбец BIN# является первичным ключом (primary key) таблицы CELLAR (подразумевается, что любые две строки этой таблицы никогда не будут содержать одно и то же значение поля BIN#). Для выделения в таблицах столбцов первичного ключа мы обычно будем использовать двойное подчеркивание (как в табл. 1.1)”. “Введение в системы баз данных”, “Часть I. Глава 1. Базы данных и управление ими. …” Кристофер Дейт. 46 страница.

г.

Дополнительная информация:

09.07.2018. Перейти на Главную страницу