|
Программирование >> Создание клиентов mysql
ТРАНЗАКЦИИ И ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ В этой главе. Параллельные запросы Транзакции Блокировки Последовательности редставьте себе базу данных компании среднего размера, занимающейся Web-коммерцией. В любой момент времени на Web-узле компании могут находиться до пятидесяти посетителей. Для загрузки каждой страницы требуется один или несколько запросов. Web-приложение должно собрать содержимое корзины пользователя, а затем получить информацию о просматриваемом товаре. Иногда два пользователя могут одновременно выполнять запросы, и система должна обслуживать их независимо друг от друга. Это называется параллелизмом. Отсутствие контроля над параллельным выполнением операций может привести к искажению данных. Если два ии более потоков начнут осуществлять запись в один и тот же файл, результат будет непредсказуем. Решение проблемы состоит в том, чтобы в тот или иной момент времени только один поток мог обращаться к файлу. Web-хранящие данные в обычных файлах, при обращении к файлу блокируют его с помощью системных вызовов. В реляционных СУБД блокировки реализованы на более абстрактном уровне в виде транзакций. Под транзакцией понимается последовательность SQL-инструкций, выполняемая полностью или не выполняемая вообще. Сервер изолирует одновременные потоки друг от друга, ограничивая их доступ к модифицируемым данным. По мере завершения транзакций сервер пытается выполнять их так, будто они происходят последовательно, а не паралле льно. Транзакции являются относительно новым понятием в MySQL. Их можно применять лишь к таблицам определенных типов. В то же время в MySQL поддерж иваются табличные блокировки и другие функциональные возможности, позволяющие имитировать транзакции.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |