Архитектура Sybase System

Уровень изоляции транзакций 0 Sybase System 11 по-прежнему поддерживает уровни изоляции транзакций 1-3. К ним добавился уровень 0, который для данных, уже модифицированных некоторой транзакцией, предотвращает их изменение другими транзакциями. Другие транзакции, модифицирующие такие данные, блокируются до завершения первой транзакции. Однако другим транзакциям позволяется считывать измененные, но незафиксированные данные. Уровень изоляции 0 также известен под названием "грязное чтение". Запросы на выборку данных и запросы на их изменение в этом случае не блокируют друг друга, и конкретные приложения, для которых допустим режим "грязного чтения", могут существенно выиграть в производительности. В то же время для транзакций, требующих целостности данных, нельзя использовать уровень изоляции 0.Установка уровня изоляции может производиться либо для конкретного запроса SELECT, либо для сессии пользователя в целом. Проверка взаимных блокировок SQL Server использует алгоритм выявления взаимных блокировок транзакций. Имеется возможность сконфигурировать то время, через которое выполняется такая проверка. Время задается в миллисекундах, от 500 мс. Цель конфигурирования этого параметра - повышение производительности. Проверка взаимоблокировок - это достаточно длительная операция для сервера. Так как проверка запускается не сразу, выше вероятность освобождения ресурса к моменту запуска проверки. С другой стороны, излишнее увеличение времени задержки может привести к увеличенному времени реакции для приложения, выдавшего взаимоблокирующий запрос. Управление эскалацией блокировок Эскалация блокировок в SQL Server - это предельное количество блокировок страниц данных для таблицы, при достижении которого транзакция будет блокировать таблицу целиком. Имеется возможность управлять этой границей, которая по умолчанию составляет 200 страниц. Несколько процессов, работающих с сетевыми соединениями В предыдущей версии Sybase System 10 сетевым обменом занимался только один процессор в SMP- архитектуре. Это ограничивало масштабируемость сервера на симметричной мультипроцессорной архитектуре, так как было "узким местом" при увеличении числа процессоров. В версии Sybase System 11 сетевым обменом могут заниматься все процессоры. Протокольные службы Библиотеки Sybase обеспечивают работу серверных и клиентских компонент со множеством сетевых протоколов от разных производителей, в том числе TCP/IP, SPX/IPX, Named Pipes, DECNet и другие.Архитектура Sybase позволяет как приложению-клиенту, так и серверу одновременно работать с несколькими интерфейсами. Например, SQL Server для Novell NetWare или Windows NT может одновременно допускать соединения через SPX и TCP/IP.Сводные особенности SQL Server 11 приведены на рис. 7. SQL Server 11.0 - основные особенности Быстрый ввод/вывод ·Разделение областей данных ·Параллельная загрузка (BCP) ·Опережающее считывание ·Много буферов кэша ·Обновления на месте Удобство пользования ·Новый интерфейс конфигурирования ·Простой Upgrade от 1.0 ·Атрибуты объектов ·Анализатор кэшей Баланс загрузки ·Локализация кэшей ·Симметричная работа с сетью ·Симметричное управление блокировками ·Улучшенный менеджер транзакций ·Оптимизатор запросов Эффективное ведение журнала ·Раздельные кэши для журналов ·Задача - House Keeper Большое адресное пространство ·Более 2 Гигабайт адресуемой памяти (на DEC UNIX и др.) Рис.7. Управление транзакциями Архитектура Sybase System 11 поддерживает как синхронную, так и асинхронную модель управления транзакциями. Модель выбирается в соответствии с требованиями предметной области.Централизованное хранение данных и доступ к центральной БД в условиях географически распределенной системы приводят к необходимости установления соединений между центральным сервером, хранящим данные, и компьютерами-клиентами. Большинство компьютеров-клиентов отделены от центрального сервера медленными и недостаточно надежными линиями связи, поэтому работа в режиме удаленного клиента становится почти невозможной. Этим можно объяснить часто существующую ситуацию, когда в узлах распределенной системы функционируют группы автоматизированных рабочих мест (АРМ) и эти группы АРМ не связаны друг с другом.Содержательная сторона задачи обычно требует обмена данными между группами АРМ, так как изменения в данные могут вноситься в одной группе АРМ, а использоваться - в другой. Обмен данными на практике часто реализуется регламентной передачей файлов, либо через модемное соединение, либо "с курьером".То, что данные доставляются к месту назначения не системными средствами, а путем экспорта/импорта файлов, приводит к необходимости участия человека в процессе обмена, что влечет за собой неоперативность поступления данных и необходимость реализации внешних механизмов контроля целостности и непротиворечивости. Результатом является высокая вероятность ошибок. Кроме того, реализация всех алгоритмов обмена данными и контроля в этом случае возлагается на прикладных программистов, проектирующих АРМ. Объем работ по программированию и отладке подпрограмм обмена соответствует числу различных АРМ. Это также приводит к повышению вероятности ошибок в системе.В современной технологии АРМ объединены в локальную сеть. АРМ-клиент выдает запросы на выборку и обновление данных, а СУБД исполняет их. Запросы клиента в соответствии с требованиями задачи сгруппированы в логические единицы работы (транзакции). Если все операции с базой данных, содержащиеся внутри транзакции, выполнены успешно, транзакция в целом выполняется успешно (фиксируется). Если хотя бы одна из операций с БД внутри транзакции не выполнилась успешно, то все изменения в БД, произведенные к этому моменту из транзакции, отменяются (происходит откат транзакции). Такое функционирование обеспечивает логическую целостность данных в базе данных.При распределенной обработке изменения, проводимые приложением-клиентом, могут затрагивать более чем один сервер СУБД. В этом случае для поддержания целостности необходимо применение транзакционного механизма, реализуемого системными средствами, а не прикладной программой. Производители современных промышленных СУБД обеспечивают поддержку распределенной обработки транзакций. Распределенная обработка данных основывается на синхронных или асинхронных механизмах обработки распределенных транзакций. Эти механизмы могут использоваться совместно. Выбор того или иного механизма зависит от требований конкретной подзадачи, так как каждый механизм обладает сильными и слабыми сторонами. Синхронная модель. Двухфазная фиксация Исторически первым появился метод синхронного внесения изменений в несколько БД, называемый двухфазной фиксацией (2PC - two-phase commit). Этот механизм реализован сейчас практически у всех производителей СУБД.Метод двухфазной фиксации состоит в том, что при завершении транзакции серверы БД, участвующие в ней, получают команду "приготовиться к фиксации транзакции". После получении подтверждений от всех серверов транзакция фиксируется на каждом из них. Все ресурсы, используемые в транзакции, остаются блокированными до тех пор, пока все компоненты транзакции могут быть атомарно завершены успешно, либо все отменены.Таким образом, в любой момент времени обеспечивается целостность данных в распределенной системе. Платой за это является требование доступности всех участвующих серверов и линий связи во время проведения транзакции и невозможность работы приложений-клиентов при недоступности, например, удаленного сервера. Кроме того, требуется высокое быстродействие линий связи для обеспечения приемлемого времени реакции у приложения-клиента.

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...