Фуфаев - Разработка и эксплуатация удалённых БД (1084483), страница 44
Текст из файла (страница 44)
При этом все описания ведутся согласованно и все операции по редактированию проводятся только с одним описанием данных. Это позволяет сократить время разработки и сэкономить вычислительные ресурсы. Приложения будут работать значительно быстрее. СасЛе — многоплатформенная система, которая поддерживает следующие операционные системы: всю гамму ОС ЪЧ1пдоюз, Елшх, основные реализации Ьп)х и Ореп ЧМБ. Планируется также поддержка новых реализаций 13шх. Большое внимание уделяется новой платформе Вагйшп.
2г9 Данные в Сасне хранятся под управлением многомерного сервера данных (МОз). В основе Сасне лежит транзакционная многомерная модель данных, которая позволяет хранить и представлять данные в таком виде, в котором они чаще всего используются. Многомерный сервер данных снимает многие ограничения, накладываемые реляционными СУБД, хранящими данные в двухмерных таблицах. Как известно, реляционная модель БД состоит из большого числа таблиц, что необходимо при работе со сложными структурами данных. Это, в свою очередь, существенно усложняет и замедляет выполнение сложных транзакций и ведет к хранению излишней информации.
Система Сас)зе хранит данные в виде многомерных разреженных массивов. Уникальная транзакционная многомерная модель данных позволяет избежать проблем, присущих реляционным СУБД, оптимизируя данные уже на уровне хранения. Многомерный сервер данных Сас)те предназначен для обработки транзакций в системах с большими и сверхбольшими базами данных (сотни гигабайт, терабайты) и большим числом одновременно работающих пользователей.
Многомерный сервер данных Саспе обеспечивает высокую производительность системы за счет отказа от хранения избыточных данных и таблиц. Транзакционная модель данных Сасйе позволяет оптимизировать данные на уровне хранения, поддерживать объектную модель и сложные типы данных.
Все зти возможности значительно упрошают создание сложных систем. В Сасне реализована концепция единой архитектуры данных, т.е. к одним и тем же данным, хранящимся под управлением многомерного сервера данных Сасове, есть три способа доступа: прямой, реляционный и объектный. Прямой доступ к данным ( Сасне Пивсг Ассеи) обеспечивает максимальную производительность СУБД и полный контроль работы системы со стороны программиста. Разработчики приложений получают возможность работать напрямую со структурами хранения. Использование этого типа доступа накладывает определенные требования на квалификацию разработчиков, позволяет оптимизировать хранение данных приложения и создавать сверхбыстрые алгоритмы обработки данных.
Реляционный доапуп к данным (Сасне ЮОА) обеспечивает максимальную производительность реляционных приложений с использованием встроенного языка ЯДЕ. Сасне Я.Н соответствует стандарту Я0) . Кроме того, разработчик может использовать разные типы триггеров и хранимых процедур. Даже без использования прямого и объектного доступа к данным приложения в Сасне работают быстрее за счет высокой производительности многомерного сервера данных. 220 Объекгнный допнуп к данным (Сасйе ОЬ/есгз) осуществляется при использовании объектно-ориентированных языков программирования 3ача, У!зпа! С-ч+, УВ и других Асг!чеХ-совместимых средств разработки, таких как РоччегВц1!дег и Ре1рЬЬ Для этого в Сасйе реализована объектная модель управления базами данных, в которой полностью поддерживаются наследование признаков (в том числе и множественное), инкапсуляция и полиморфизм.
При создании информационной системы разработчик получает возможность использовать объектно-ориентированный подход к разработке, моделируя предметную область в виде совокупности классов объектов, в которых хранятся данные (свойства классов) и поведение классов (методы классов). Система СасЬе, поддерживая объектную модель данных, позволяет естественным образом использовать объектно-ориентированный подход как при проектировании предметной области, так и при реализации приложений средствами разработки (Зача, Сч+, Ре!рЬ1, ЧВ). Как только определяется класс объектов, Сасйе автоматически генерирует реляционное описание этих объектов таким образом, чтобы к ним можно было обращаться, используя БОЬ.
Аналогично при импорте в Словарь данных (описаннй реляционной базы данных) СасЬе автоматически генерирует реляционное и объектное описания данных, открывая тем самым доступ к ним, как к объектам. При этом все описания данных ведутся согласованно, а все операции по редактированию проводятся только с одним экземпляром данных. Кроме того, возможен прямой доступ программиста к этим данным. Система СасЬе позволяет комбинировать три типа доступа к данным, т.е. оставляет разработчику свободу выбора.
Например, при реализации системы объектный доступ может использоваться при описании бизнес-логики приложения и создании пользовательского интерфейса с помощью объектно-ориентированных средств разработки (УВ, Ре!РЬ), С.ь+). Реляционный доступ может применяться для обеспечения совместимости с другими системами, интеграции с инструментами построения отчетов и аналитической обработки данных (Беаяате 1пго, Сояпоз, Виз)пезз ОЬ!есь).
Прямой доступ к данным может быть использован при реализации таких операций, в которых применение обычных хранимых процедур, основанных на БОЬ, не может обеспечить необходимую производительность. Использование прямого доступа для реализации сложных операций позволяет увеличить производительность системы на один-два порядка. Для реализации бизнес-логики в СУБД используется специальный язык СасЬе ОЬ)ес! Бсп рг (СОЯ) — полнофункциональный язык, который имеет все необходимые механизмы для работы с данны- 221 ми при любом способе доступа. С помощью СОВ разработчик создает методы классов, триггеры, хранимые процедуры, различные служебные программы.
Стоит отметить интерфейсы со средствами проектирования и разработки приложений. Специальные компоненты СасЬе позволяют проектировать приложения как для объектного, так и для реляционного методов обработки данных. Кроме того, поддерживаются следующие интерфейсы: 1ч1аг!че С++, 5ача, Е.!В, АсйчеХ, ХМЬ, а также интерфейсы Са1Пп и Са!10ш. Для обеспечения надежности в СасЬе предусмотрены такие механизмы, как журналы до и после записи, теневой сервер, репликация, «горячее» резервное копирование и т.д. Протокол распределенного кэша (СасЬе В1зг!Ьшед СасЬе РгоГосо1) — уникальная сетевая технология фирмы !пгегЯумепь, которая распределяет базу данных по сети, оптимизируя ее производительность и пропускную способность в зависимости от работы приложений.
СасЬе — открытая система, в которой поддерживается множество интерфейсов к средствам проектирования и разработки приложений. СасЬе работает практически на всех популярных платформах с наиболее распространенными ччеЬ-серверами. При этом обеспечивается полная переносимость приложений с платформы на платформу. При всех достоинствах современной объектно-ориентрованной технологии разработки баз данных имеется несколько препятствий, которые удерживают разработчиков от принятия решения о переходе на нее с реляционной технологии. Основным препятствием является значительный объем имеющихся разработок, опирающихся на реляционные СУБД. При переходе на новую технологию обработки данных необходимо многое начинать с нуля, поэтому возникает вопрос целесообразности такого перехода. Кроме того, объектная технология, поддерживаемая в ряде пост- реляционных СУБД, не имеет развитого и стандартизированного языка генерации отчетов и анализа данных, каким является структурированный язык запросов БО$ .
В системе СасЬе данные проблемы бьии решены за счет процедур, обеспечивающих возможность перехода с реляционной технологии на объектную. 16.2. СУБД Сас!те и ИеЬ-технологии Одним из условий разработки и внедрения на предприятиях СА1.Б-технологий являются ччеЬ-сервисы, которые и предоставляет среда СасЬе.
222 Как известно, основной принцип работы %еЬ-среды состоит в том, что все документы в ней создаются в едином формате НТМЕ, а клиентские приложения — броузеры, функционирующие на самых различных компьютерных платформах, почти одинаково отображают эти документы. Однако решения отражают статические принципы обработки документов. Для придания им динамики требуется использование различных средств программирования, действующих как на стороне клиента„так и на стороне сервера.
Если разработчик применял скриптовые языки, функционирующие на стороне клиента, то область их действия была ограничена отображаемым документом, а в качестве входных данных использовались либо действия пользователя, либо информация, хранящаяся в его компьютере. Это ограничение связывалось с тем, что скриптовые языки не получали какой-либо дополнительной информации от %еЬ-сервера, с которого был загружен документ, вместе с которым и были получены скрипты. Если на сайте требовалось использовать несколько более сложные способы управления данными, то приходилось применять исполняемые модули, функционирующие на самом сервере. Только таким образом можно было осуществлять доступ к базам данных и на основе полученной информации формировать страницы, передаваемые затем удаленному пользователю.