Реферат на тему:
“Архитектура серверов корпоративных баз данных”
Московский Государственный
Инженеро-Физический Институт (ТУ)
Оглавление
Введение
1. Системы управления базами данных и серверы баз данных
Список литературы
Приложение 1
Введение
Появление в 80-х годах персональных компьютеров (ПК) и локальных сетей ПК самым серьезным образом изменило организацию корпоративных вычислений. В отличие от традиционной, хорошо управляемой и безопасной среды вычислений предприятия, построенной на базе универсальной вычислительной машины (мейнфрейм) с подсоединенными к ней терминалами, среда локальных сетей ПК плохо контролируется, плохо управляется и небезопасна. С другой стороны, расширенные средства сетевой организации делают возможным разделение бизнес-информации внутри групп индивидуальных пользователей и между ними, внутри и вне корпорации и облегчают организацию информационных процессов в масштабе предприятия. Чтобы ликвидировать брешь между отдельными локальными сетями ПК и традиционными средствами вычислений, а также для организации распределенных вычислений в масштабе предприятия появилась модель вычислений на базе рабочих групп.
Как правило, термины серверы рабочих групп и сетевые серверы используются взаимозаменяемо. Сервер рабочей группы может быть сервером, построенным на одном процессоре компании Intel, или суперсервером (с несколькими ЦП), подобным изделиям компаний Compaq, HP, IBM и DEC, работающим под управлением операционной системы Windows NT. Это может быть также UNIX-сервер компаний Sun, HP, IBM и DEC.
По уровню общесистемной производительности, функциональным возможностям отдельных компонентов, отказоустойчивости, а также в поддержке многопроцессорной обработки, системного администрирования и дисковых массивов большой емкости суперсерверы вышли в настоящее время на один уровень с мейнфреймами и мощными миникомпьютерами. Современные суперсерверы характеризуются:
Основу следующего уровня современных информационных систем предприятий и организаций составляют корпоративные серверы различного функционального назначения, построенные на базе операционной системы Unix. Архитектура этих систем варьируется в широких пределах в зависимости от масштаба решаемых задач и размеров предприятия. Двумя основными проблемами построения вычислительных систем для критически важных приложений, связанных с обработкой транзакций, управлением базами данных и обслуживанием телекоммуникаций, являются обеспечение высокой производительности и продолжительного функционирования систем. Наиболее эффективный способ достижения заданного уровня производительности - применение параллельных масштабируемых архитектур. Задача обеспечения продолжительного функционирования системы имеет три составляющих: надежность, готовность и удобство обслуживания. Все эти три составляющих предполагают, в первую очередь, борьбу с неисправностями системы, порождаемыми отказами и сбоями в ее работе. Эта борьба ведется по всем трем направлениям, которые взаимосвязаны и применяются совместно.
Существует несколько типов систем высокой готовности, отличающиеся своими функциональными возможностями и стоимостью. Наиболее оптимальным по отношению высокая готовность/стоимость являются кластерные системы.
В данном реферате будут рассмотрены особенности архитектуры RISC процессоров фирм DEC, Hewlett-Packard и Bull и особенности построения на их основе многопроцессорных SMP серверов и кластерных систем.
1. Системы управления базами данных и серверы баз данных
Одним из наиболее распространенных классов прикладных систем для серверов, выпускаемых большинством компаний-производителей компьютерной техники, являются системы управления базами данных (СУБД). Серверы СУБД значительно более сложны, чем, например, серверы сетевых файловых систем NFS. Стандартный язык реляционных СУБД (SQL) намного богаче, чем набор операций NFS. Более того, имеется несколько популярных коммерческих реализаций СУБД, доступных на серверах различных компаний, каждая из которых имеет совершенно различные характеристики.
Как приложения, ориентированные на использование баз данных, так и сами СУБД сильно различаются по своей организации. Если системы на базе файловых серверов сравнительно просто разделить по типу рабочей нагрузки на два принципиально различных класса (с интенсивной обработкой атрибутов файлов и с интенсивной обработкой самих данных), то провести подобную классификацию среди приложений баз данных и СУБД просто невозможно.
Хотя на сегодня имеется целый ряд различных архитектур баз данных, рынок
UNIX-систем, кажется, остановился главным образом на реляционной модели. Абсолютное большинство инсталлированных сегодня систем реляционные, поскольку эта архитектура выбрана такими производителями как Oracle, Sybase, Ingres, Informix, Progress, Empress и DBase.
Но даже с учетом того, что подавляющее большинство систем работает по одной и той же концептуально общей схеме, между различными продуктами имеются большие архитектурные различия. Возможно наиболее существенным является реализация самой СУБД.
На выбор архитектуры сервера влияют следующие факторы:
· Требования по аппаратным средствам выбранной СУБД;
· Тип приложения и число одновременно работающих пользователей;
· Надежность;
· Стоимость;
· Разнообразие программного обеспечения (ПО);
· Масштабируемость.
Наряду с ценой, возможность масштабируемости системы является определяющим фактором при выборе того или иного сервера. Под масштабируемостью понимается возможность для модернизации сети или вычислительной платформы на случай необходимости увеличить рабочую нагрузку. В многопроцессорных и кластерных системах проблемы с масштабируемостью решена.
Наиболее распространены две многопроцессорные технологии: симметричная и параллельная обработка. Неунифицированный доступ к памяти (Non-Uniform Memory Access, NUMA) является новейшей разновидностью SMP.
SMP используется главным образом при работе с большими базами данных, хотя в последние годы она стала применяться для складов данных и систем поддержки принятия решений. MPP применяется в научных и инженерных приложениях для сложных программ с большим объемом вычислений, например для моделирования погоды на земном шаре или взаимодействия субатомарных частиц.
С точки зрения масштабируемости основное различие между SMP и MPP в том, каким образом отдельные процессоры управляют памятью. В случае SMP все процессоры совместно используют одну общую шину памяти. Конкуренция за шину снижает эффективность архитектуры с общей памятью при увеличении числа процессоров. Наличие отдельного высокоскоростного кэша памяти для каждого процессора, как это предусмотрено в SMP-машинах старшего класса, смягчает, но не устраняет данную проблему. Из-за такого ограничения многие конфигурации SMP состоят максимум из 2, 4 или 8 процессоров. Поддержка более 8 процессоров предполагает всякие изыски в аппаратной архитектуре, и лишь редкие SMP-машины поддерживают свыше 32 процессоров. Несомненным плюсом подобного подхода является то, что SMP-компьютер выглядит для приложения как обычная однопроцессорная машина; это значительно упрощает программирование. Обычно все, что необходимо, чтобы воспользоваться преимуществами многопроцессорной обработки, - это многопоточная программа и операционная система, способная распределять потоки между процессорами.
В случае MPP каждый процессор имеет собственную память и шину памяти. Преимуществом такой конфигурации является то, что конкуренция за шину отсутствует, а число процессоров может достигать сотен и тысяч. (Как правило, решение считается "массово-параллельным", только когда число процессоров превышает 64.).
NUMA можно рассматривать как промежуточный этап между SMP и MPP. Она определяет архитектуру для взаимодействия нескольких "узлов" SMP. Узлом может быть компьютер в кластере, хотя сегодня чаще всего имеют в виду группу процессоров в компьютере. Каждый узел располагает своей собственной выделенной физической памятью, что устраняет конкуренцию за ресурсы. Узлы связаны посредством координатного коммутатора таким образом, что все они могут обращаться к одному и тому же виртуальному пространству памяти. Все узлы вместе выглядят для приложения как одна SMP-машина.
Многопроцессорный компьютер выполняет лишь одну копию операционной системы. Если выполняются несколько копий ОС, но процессоры интегрированы таким образом, что, с точки зрения администратора, пользователя или приложения, они выглядят как одна система, то мы имеем дело с кластеризацией.