АРХИТЕКТУРА СЕРВЕРОВ КОРПОРАТИВНЫХ БАЗ ДАННЫХ

 

Иванова Е., студентка 3 курса специальности «Информационные системы»

КГУ им. А.Байтурсынова,

Бевз И.А., ст.преподаватель кафедры ИС КГУ им. А.Байтурсынова

 

Появление в 80-х годах персональных компьютеров (ПК) и локальных сетей ПК самым серьезным образом изменило организацию и структуру корпоративных вычислений.

Как правило, термины серверы рабочих групп и сетевые серверы используются взаимозаменяемо. Сервер рабочей группы может быть сервером, построенным на одном процессоре компании Intel, или суперсервером (с несколькими ЦП), подобным изделиям компаний Compaq, HP, IBM и DEC, работающим под управлением операционной системы Windows NT. Это может быть также UNIX-сервер компаний Sun, HP, IBM и DEC.

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

Современные суперсерверы характеризуются:

- наличием двух или более центральных процессоров RISC, либо CISC;

- многоуровневой шинной архитектурой, в которой высокоскоростная системная шина связывает между собой несколько процессоров и оперативную память, а также множество стандартных шин ввода/вывода, размещенных в том же корпусе;

- поддержкой технологии дисковых массивов RAID;

- поддержкой режима симметричной многопроцессорной обработки, которая позволяет распределять задания по нескольким центральным процессорам или режима асимметричной многопроцессорной обработки, которая допускает выделение процессоров для выполнения конкретных задач.

Существует несколько типов систем высокой готовности, отличающиеся своими функциональными возможностями и стоимостью. Наиболее оптимальным по отношению высокая готовность/стоимость являются кластерные системы.

Одним из наиболее распространенных классов прикладных систем для серверов, выпускаемых большинством компаний-производителей компьютерной техники, являются системы управления базами данных (СУБД). Серверы СУБД значительно более сложны, чем, например, серверы сетевых файловых систем NFS. Стандартный язык реляционных СУБД (SQL) намного богаче, чем набор операций NFS. Более того, имеется несколько популярных коммерческих реализаций СУБД, доступных на серверах различных компаний, каждая из которых имеет совершенно различные характеристики.

Как приложения, ориентированные на использование баз данных, так и сами СУБД сильно различаются по своей организации. Если системы на базе файловых серверов сравнительно просто разделить по типу рабочей нагрузки на два принципиально различных класса (с интенсивной обработкой атрибутов файлов и с интенсивной обработкой самих данных), то провести подобную классификацию среди приложений баз данных и СУБД просто невозможно.

Хотя на сегодня имеется целый ряд различных архитектур баз данных, рынок UNIX-систем, кажется, остановился главным образом на реляционной модели. Абсолютное большинство инсталлированных сегодня систем реляционные, поскольку эта архитектура выбрана такими производителями как Oracle, Sybase, Ingres, Informix, Progress, Empress и DBase.

Но даже с учетом того, что подавляющее большинство систем работает по одной и той же концептуально общей схеме, между различными продуктами имеются большие архитектурные различия. Возможно, наиболее существенным является реализация самой СУБД.

На выбор архитектуры сервера влияют следующие факторы:

- Требования по аппаратным средствам выбранной СУБД;

- Тип приложения и число одновременно работающих пользователей;

- Надежность;

- Стоимость;

- Разнообразие программного обеспечения (ПО);

- Масштабируемость.

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

Наиболее распространены две многопроцессорные технологии: симметричная и параллельная обработка. Неунифицированный доступ к памяти (Non-Uniform Memory Access, NUMA) является новейшей разновидностью SMP.

SMP используется главным образом при работе с большими базами данных, хотя в последние годы она стала применяться для складов данных и систем поддержки принятия решений. MPP применяется в научных и инженерных приложениях для сложных программ с большим объемом вычислений, например для моделирования погоды на земном шаре или взаимодействия субатомарных частиц.

В случае MPP каждый процессор имеет собственную память и шину памяти. Преимуществом такой конфигурации является то, что конкуренция за шину отсутствует, а число процессоров может достигать сотен и тысяч. (Как правило, решение считается "массово-параллельным", только когда число процессоров превышает 64.).

NUMA можно рассматривать как промежуточный этап между SMP и MPP. Она определяет архитектуру для взаимодействия нескольких "узлов" SMP. Узлом может быть компьютер в кластере, хотя сегодня чаще всего имеют в виду группу процессоров в компьютере. Каждый узел располагает своей собственной выделенной физической памятью, что устраняет конкуренцию за ресурсы. Узлы связаны посредством координатного коммутатора таким образом, что все они могут обращаться к одному и тому же виртуальному пространству памяти. Все узлы вместе выглядят для приложения как одна SMP-машина.

Многопроцессорный компьютер выполняет лишь одну копию операционной системы. Если выполняются несколько копий ОС, но процессоры интегрированы таким образом, что, с точки зрения администратора, пользователя или приложения, они выглядят как одна система, то мы имеем дело с кластеризацией.

Несмотря на то что Sun объявила о 64-процессорной SMP-машине (Starfire Ultra Enterpise 10000), разработка и создание SMP-машин с 32 или 64 процессорами представляет серьезные трудности и сопряжена со значительными расходами. При построение SMP-машин с использованием NUMA имеет верхний предел в 32 процессора. Для постороения более сложных систем используется кластеризация - объединение машин в кластеры.

Кластеризация служит для объединения высокопроизводительных систем. Первой концепцию кластерной системы анонсировала компания DEC, определив ее как группу объединенных между собой вычислительных машин, представляющих собой единый узел обработки информации. По существу VAX-кластер представляет собой слабосвязанную многомашинную систему с общей внешней памятью, обеспечивающую единый механизм управления и администрирования. В настоящее время на смену VAX-кластерам приходят UNIX-кластеры. При этом VAX-кластеры предлагают проверенный набор решений, который устанавливает критерии для оценки подобных систем.

Таким образом, работа любой кластерной системы определяется двумя главными компонентами: высокоскоростным механизмом связи процессоров между собой и системным программным обеспечением, которое обеспечивает клиентам прозрачный доступ к системному сервису.