Архитектура программного комплекса IFS
Состав программного комплекса IFS
Системы, входящие в состав комплекса IFS, имеют модульный принцип построения.
Borland IB Data Base 5 - новые возможности и рамки реализации SQL
Сергей Орлик, Borland
Дмитрий Кузьменко, Epsylon Technologies
Доклад состоит из двух частей. В первой части рассматривается новая архитектура и расширеные возможности сервера IB DataBase 5:
Архитектура SuperServer Guardian process Многоверсионность - архитектура множественных поколений записей Сигнализаторы событий BLOb и массивы UDF (Users Defined Functions) - определяемые пользователем функции InterClient - JDBC-доступ к базам IB DataBase Поддерживаемые платформы, CASE-средства и среды разработки
Вторая часть доклада посвящена аспектам реализации SQL (DDL и DML) в IB DataBase 5.0 и его соответствие стандарту ANSI SQL-92:
Доменная архитектура метаданных Декларативная ссылочная целостность Триггеры Хранимые процедуры Доступ к UDF из DML Роли Работа с BLOb и массивами
Borland Russia
Московский офис Borland International, Inc.
тел. (095) 238-3611
,
E-mail: Epsylon Technologies
Тел.: (095) 913-5608
| |
DB2 Universal Database
Николай Игнатович, IBM
Универсальный сервер баз данных DB2 Universal Database - это масштабируемая объектно-реляционная система управления базами данных с интегрированной поддержкой мультимедиа и Web, работающая на от персональных компьютеров и серверов на процессорах Intel с операционными системами OS/2, Windows NT до Unix станций под управлением различных версий UNIX, от однопроцессорных систем до симметричных многопроцессорных систем (SMP) и систем с массовым параллелизмом (MPP) и кластерах. Возможности расширения, заключенные в ядре базы данных, позволяют DB2 сочетает в себе ориентацию на несколько ключевых современных технологий. Это прежде всего поддержка сложных объекто-ориентированных и мультимедийных типов данных, обеспечение доступа к данных через Internet, сложные преобразования и анализ данных вместе с обеспечением высокой надежности, производительности и масштабируемости в диапазоне от однопроцессорных систем до систем с массовым параллелизмом. Эволюция Объединение версий DB2 Common Server и Parallel Edition на базе единого кода позволяет DB2 Universal Database соединить в себе производительность систем обработки транзакций в режиме on-line, объектно-реляционные расширения, усовершенствованные средства оптимизации и богатый набор реляционных возможностей DB2 Common Server с возможностями параллельной обработки и кластеризации, высокой производительностью обработки запросов и поддержкой очень больших баз данных DB2 Parallel Edition. Internet: DB2 поддерживает хранимые процедуры Java и определяемые пользователем функции, что позволяет программистам Java превратиться в создателей приложений для баз данных без особых дополнительных усилий. То же самое можно сказать и о поддержке DB2 языка программирования BASIC. Кроме того, DB2 Universal Database поддерживает специфичные для Java средства взаимодействия JDBC, а также TCP/IP. Продукт IBM Net.Data предоставляет доступ к разнородным данным Internet и позволяет создавать устойчивые соединения между DB2 и броузерами Web, благодаря чему для подключения к DB2 и обмена данными можно использовать любой броузер Web на любой платформе.
Все это позволяет сделать реальностью идею использования сетей Internet и intranet не только для публикации информации, но и для осуществления коммерческих операций. Благодаря IBM Net.Data* и встроенной поддержке Java Database Connectivity (JDBC) DB2 Universal Database обеспечивает безопасные соединения через Internet для осуществления электронных коммерческих операций в режиме реального времени. DB2 является основой сервера IBM Net.Commerce, который уже сейчас обрабатывает постоянно растущее количество электронных коммерческих операций через World Wide Web. Интеграция: Поддержка сложных типов данных, таких как изображения, видео, аудио и текст) полностью интегрирована с базой данных посредством определяемых пользователем функций и определяемых пользователем типов данных. Она включает в себя мощные функции контекстно-зависимого поиска. Кроме того, с помощью определяемых пользователем функций (UDF) и определяемых пользователем типов данных (UDT) заказчики имеют возможность создать собственную мощную среду обработки данных, что значительно упрощает разработку приложений. Объектно-реляционные расширения (Extenders), построенные на использовании UDF и UDF, а также на базе специализированных поисковых технологий, поддерживают готовое решения для включения в базы данных таких типов данных, как изображения, видео, аудио и текст. Помимо этого, DB2 специально разрабатывалась для работы в качестве составной части различных крупных решений, включая системы:
доступа к разнородным данным (которые предоставляют приложениям возможность работы с данными из различных источников, как если бы они находились в одной базе данных, независимо от производителей каждой из отдельных баз данных) с помощью DataJoiner информационных хранилищ данных, создаваемых с использованием IBM Visual Warehouse получения новых данных на основе имеющихся с помощью средств поддержки принятия решений Intelligent Miner и аналитических функций DB2 OLAP Server, Lotus Approach и Intelligent Decision Server.
Помимо этого, DB2 Universal Database включает в себя встроенные функции для поддержки систем аналитической обработки в реальном времени (OLAP), такие, как индексы с побитовым отображением, поддержка схемы типа звезды и функции сложной агрегации ROLLUP и CUBE. Интеграция Возможности полной интеграции всех ресурсов данных предприятия в DB2 Universal Database значительно расширены за счет различных способов поддержки других членов семейства DB2 (DB2 for OS/390, OS/400, VSE и VM).
Средства поддержки включают в себя более тесные коммуникационные функции (новая поддержка TCP/IP, новая поддержка DRDA AS, непосредственный клиентский доступ настольных систем через DDCS), возможности работы с Web (Net.Data) и связующее ПО middleware (поддержка системы-источника и системы-приемника при репликации данных, а также централизованные средства управления системами баз данных). По мере роста организации и увеличения количества пользователей базы данных, объема базы данных и числа обрабатываемых транзакций естественным выбором для миграции была DB2 for OS/390 - благодаря своей признанной мощности, масштабируемости и высокими показателями готовности. Открытость и поддержка стандартов: Длинный перечень стандартов, поддерживаемых DB2, включает стандарты для реляционных баз данных (X/Open CLI и XA, SQL92), стандарты распределенной обработки данных (ODBC, DRDA, DCE), стандарты взаимодействия различных платформ (TCP/IP), правительственные спецификации (FIPS 127, защита данных С2) и стандарты системного управления (SNMP). Поддерживаемые DB2 платформы включают: IBM OS/2, Microsoft Windows NT и Windows 95, IBM AIX, Hewlett-Packard HP-UX, Sun Solaris Operating Environment, SCO OpenServer, а также Siemens Nixdorf SINIX. Клиенты для DB2 реализованы для любой из вышеперечисленных платформ, а также для SGI и MacOS; кроме того, в роли клиента DB2 может быть использован любой популярный броузер Web. DB2 Universal Database выделяется своими возможностями поддержки широкого диапазона различных несобственных языков (например, Java, BASIC, COBOL, C++) в качестве языка для хранимых процедур и определяемых пользователями функций. DB2 поддерживает большое количество национальных языков, в том числе для русского языка поддерживаются несколько кодовых страниц. Если клиент базы данных использует кодовую страницу отличную от кодовой страницы Стоимость: Ценовая политика IBM в отношении представляется нестандартной с том смысле что стоимость DB2 находится на уровне программных продуктов для Intel, тогда как эта база данных способна работать не только на платформах Intel, но и UNIX.
Кроме того, такие элементы, как средства взаимодействия с Web и поддержка объектно-реляционных данных мультимедиа, поставляются вместе с сервером базы данных бесплатно. В зависимости от конкретной конфигурации Вашей системы, стоимость решения DB2 Universal Database может оказаться почти в три раза меньше, чем аналогичное решение от Oracle или Informix, и почти в 2.5 раза меньше по сравнению с Sybase. Простота в использовании: Конфигурирование коммуникационных функций и функций сетевого взаимодействия было значительно упрощено, так же как и настройка оптимальной производительности базы данных. Помимо тесно интегрированных средств управления базами данных, контроля производительности и настройки приложений, в DB2 Universal Database был включен планировщик задач и навигатор/броузер, которые значительно облегчают жизнь администраторам баз данных. Хранимые процедуры, триггеры и определяемые пользователем функции DB2 способствуют коллективному и многократному использованию функций, что значительно упрощает работу разработчиков ориентированных на базы данных приложений. Показатели готовности: Множество расширений превращают DB2 Universal Database в решение с высокими показателями готовности, обеспечивающее круглосуточную работу приложений. Сюда входит поддержка кластеризации на широком спектре различных операционных систем для разделения и дублирования рабочей нагрузки, табличное пространство с фиксацией во времени (point-in-time tablespace), восстановление на уровне таблиц и быстрый перезапуск.
IBM
Николай Игнатович
Тел.: (095) 940-2000 Факс (095) 940-2070
| |
Горячие технологии Oracle: обзор
Михаил Елашкин, Oracle
Архитектура сетевых вычислений - всеобъемлющая, открытая, основанная на использовании сетей архитектура, предлагающая очень простой путь интеграции трех сегодняшних ключевых вычислительных дисциплин в единую сетецентрическую среду.
надежность вычислений в архитектуре клиент/сервер простота развертывания работ в Internet расширяемость и возможность повторного использования распределенных объектов.
Технологии клиент-сервер с которыми знакомо большинство пользователей Oracle строятся на основе двухуровневой модели клиент (приложение на клиенте) и сервер (СУБД). Возможен и вариант т.н. трехуровневой архитектуры, когда часть вычислений переносится на т.н. сервер приложений. Проблема заключается, что логика приложений разрабатывается для каждого уровня самостоятельно и на разных языках. Поэтому если развитие информационной системы требует перераспределения тяжести вычислений (что часто происходит при развитии или масштабировании системы), то объем необходимых работ может быть весьма значительным. Oracle предлагает унифицировать все уровни за счет использования стандарта CORBA, который позволяет разрабатывать приложения на любом языке и снабдив их небольшим формальным описанием использовать где угодно. При этом понятие уровней архитектуры исчезает и мы получаем истинно сетевую вычислительную среду. При этом использование Java приобретает новый уровень, теперь Java не только язык написания небольших аплетов для украшения web страниц, а мощный переносимый язык для разработки серверных приложений и БД. Несомненно, новая парадигма требует соответствующих средств разработки одним из которых является использование Java. Oracle представляет свои новейшие разработки: Designer2000, Developer2000, AppBuilder и др. которые будут представлены в докладе. Несмотря на медленное начало некоторые нереляционные расширения СУБД находят своего потребителя. В первую очередь это относится к OLAP спрос на который растет намного быстрее возможностей Oracle СНГ по его представлению на рынке. Серьезный интерес проявляется также к полнотекстовым БД (ConText Cartridge) особенно после выхода русского приложения Russian Context Optimizer от компании Гарант Парк. Наблюдается также устойчивый рост интереса к приложениям ГИС на основе Spatial Data Cartridge, системам электронной коммерции и internet/intranet приложениям. Тенденции российского рынка говорят о том, что доля высоких технологий в нем неуклонно возрастает и компании желающие удержаться на гребне волны должны вкладывать деньги в новые технологии. Oracle
Михаил Елашкин
Тел.: (095) 258-4180 Факс (095) 258-4190
E-mail:
| |
IFS: Примеры установок
В настоящее время инсталлировано более 600 вариантов комплекса в различных отраслях. Это машиностроение (в том числе автомобилестроение и самолетостроение), бумажная и деревообрабатывающая промышленность, металлургия, электротехника, химия, а также фармацевтическая и пищевая промышленность. Особое место комплекс IFS занял в энергетике (как на электростанциях, так и в распределительных сетях), особенно после завершения в 1993 году разработки версии, специально предназначенной для предприятий энергетики. В этом же году начались поставки для атомных электростанций. IFS является интернациональной корпорацией, имеющей представительства в более, чем 20 странах мира. Наибольшее распространение комплекс приобрел в скандинавских странах, Японии, США. Программы IFS используются в Великобритании, Германии, Турции, Малайзии, Сингапуре, Индонезии и других странах. IFS работает в таких крупнейших, известных всему миру компаниях, как Nikon, Caterpillar, Allied Signal, Kawasaki, Volvo, NEC, Mazda, Mitsubisi, IBM, Yamaha, Hyndai, TDK, Sharp, Pharmacia&Upjohn, Casio, IKEA, SAS, Saab-Scania, Ericsson, ABB, Becker. Международное распространение IFS началось со стран Скандинавии, прежде всего с Норвегии, где первые инсталляции системы были сделаны еще в 1986 г. Сейчас система работает в этой стране в нефтедобывающей, кабельной промышленности, на норвежских атомных электростанциях, в сети сотовой связи. Получение большого заказа от Норвежской государственной железной дороги позволило компании совместно с норвежскими специалистами разработать специальную систему на базе IFS - систему IRMA, предназначенную для управления эксплуатацией подвижного состава железных дорог. На рынке стран Восточной Европы первые поставки системы были сделаны в Польше, а особенный успех, который имели инсталляции на крупных тепловых электростанциях Польши, привел к открытию в этой стране постоянного представительства компании. Cейчас число установок IFS в Польше приближается к двадцати. Внедрения IFS в России начались с 1994 года. ФОРС - официальный дистрибутор корпорации IFS в России Продажи, установки, адаптацию и внедрение комплекса IFS в России выполняет НПВП ФОРС. НПВП ФОРС
Тел.: (095)973-40-67, 973-40-80, 973-40-81, 973-40-82
Факс: (095)251-1073
| |
Иллюстрации
Software AG (Московское представительство)
125080, Москва, ул.Сурикова, 24
Телефон: +7-095-158-9930
Факс: +7-095-198-8661
E-mail:
| |
Энергетика, промышленность, транспорт, торговля. Программный комплекс IFS
Дмитрий Шехватов, НПВП ФОРС
Право, такое затруднение - выбор . . .
Н. В. Гоголь
Сегодня многие предприятия приводят свои системы управления в соответствие новым хозяйственным отношениям. Возрастает интерес к законченным комплексным автоматизированным системам, благодаря которым информация о деятельности предприятия - производстве, закупках, сбыте, складах, бухгалтерии, финансовом планировании, эксплуатации оборудования - сразу же после ввода становится доступной для руководителей и специалистов.
Опыт западных фирм показывает, что интегрированная система управления предприятием, соответствующая реальным рыночным отношениям, может быть построена только на основе целого комплекса современных информационных технологий: аппаратных, программных и телекоммуникационных.
Понимая это, многие предприятия считают достаточным приобрести современную технику и мощную СУБД (такую, как ORACLE), а прикладную систему разработать своими силами.
Не отрицая достоинств этого подхода, стоит заметить, что создание таких интегрированных систем управления заняло у крупных западных фирм 5-7 лет, а около половины подобных проектов потерпели неудачу.
Выгодней оказывается адаптировать готовую систему. Предприятия, выбравшие такой путь, начинают значительно быстрее получать отдачу от своих вложений.
В последнее время на российском рынке появился целый ряд зарубежных систем управления предприятием. Найти систему, наиболее полно отвечающую потребностям и возможностям конкретного предприятия, достаточно сложно. Наиболее важными критериями правильного выбора являются: функциональная полнота, надежность, технологичность, масштабируемость, модульность, возможность поэтапного внедрения, соответствие стандартам, открытость, простота локализации и объединения с другими программными комплексами, наличие исходных текстов, гибкость ценовой политики, примеры успешного внедрения на сходных производствах. К этому нужно добавить круг вопросов, связанных с внедрением и поддержкой: поставка новых версий программного обеспечения и документации, установка и адаптация системы, обучение персонала, консультации.
И если на все вопросы получены положительные ответы - эту систему можно рассматривать как серьезную альтернативу всем другим.
Мы уверены, что интегрированный программный комплекс управления предприятием IFS класса MRP II, разработанный шведской компанией Industrial and Financial Systems, и тот набор услуг по его внедрению и сопровождению, который предлагает предприятие ФОРС, удовлетворят самых взыскательных клиентов.
Свойства программного комплекса IFS
Полнота набора функций
IFS - это функционально полный, открытый комплекс для управления предприятием, имеющий модульную архитектуру. Набор модулей, входящих в состав комплекса, - результат четырнадцатилетней работы по созданию, внедрению и эксплуатации IFS в различных отраслях промышленности и торговли разных стран, показатель степени зрелости системы. Функции, реализованные в программном комплексе, охватывают все основные сферы деятельности современного предприятия и позволяют решать весь объем задач, возникающих в процессе управления.
Программный комплекс поддерживает следующие сферы управления предприятием:
управление финансами, управление поставками и сбытом, управление производством, управление персоналом и оборудованием, управление планово-предупредительными ремонтами, управление проектами.
Модульность
Комплекс построен как набор взаимосвязанных, но достаточно независимых модулей. Это означает, что большинство модулей может функционировать автономно, независимо от других.
Группы модулей образуют основные системы комплекса, поддерживающие различные сферы управления. Системы являются независимыми друг от друг и связаны, при совместном функционировании, только информационно.
Выбор конкретного состава модулей определяется потребностью предприятия. Программный комплекс можно внедрять по модульно, причем на каждом шаге процесса, получая целостный законченный комплекс.
Интегрированность
Все системы комплекса информационно связаны между собой, реализуя принцип "однократный ввод - многократное использование".
Все системы комплекса выполнены в едином стиле по единой идеологии, реализуя принцип концептуальной целостности.
Все типовые автоматизированные рабочие места реализуют принцип функциональной полноты, обеспечивая своим пользователям доступ ко всем необходимым им функциям комплекса.
Гибкость
При создании комплекса учитывалось, что с ним будет работать большое число пользователей - как с ограниченным опытом, так и профессионалов. Поэтому IFS предоставляет средства для создания гибкой системы меню, учитывающей подготовленность пользователей, их потребности в информации и права доступа к данным. Функциональный, информационный и регламентно-правовой состав каждого автоматизированного рабочего места (АРМа) определяется для каждого предприятия индивидуально, при внедрении комплекса.
Все учетные и вычислительные алгоритмы комплекса в высокой степени параметризованы, что позволяет настроить их в соответствии с конкретной спецификой документооборота, учета и управления, существующей на предприятии.
Надежность
Программный комплекс IFS реализован на основе СУБД ORACLE и наследует от нее широко известную надежность по поддержке целостности базы данных и защите от несанкционированного доступа.
Легкость доступа к информации в комплексе сочетается с надежной ее защитой. Постоянное изменение данных большим числом пользователей системы не влечет за собой неправильного и несанкционированного информационного использования системы. Она не только сообщает пользователю об ошибках, но и обеспечивает определенную степень защиты от них.
С помощью средств администрирования определяется область допустимых значений для вводимых данных, осуществляется привязка определяемых полей к ранее введенным ограничениям. Этим не только достигается однократность регистрации данных, но и блокируется ввод недопустимых значений.
Интероперабельность
Клиентская часть программного комплекса IFS имеет графический интерфейс и работает на всех программно-аппаратных конфигурациях рабочих станций, поддерживающих или эмулирующих MS Windows.
Имеется реализация клиентской части, работающая не только в среде "клиент-сервер", но и в терминальной конфигурации на практически любых алфавитно-символьных терминалах.
Серверная часть программного комплекса IFS реализована средствами СУБД ORACLE Enterprise Server и работает везде, где работает СУБД ORACLE, а это более 60 платформ.
Связь между клиентом и сервером осуществляется на основе ORACLE SQL*Net, а это означает устойчивую работу в гетерогенных сетях на практически любом стеке транспортных протоколов.
Открытость
Программный комплекс IFS обеспечивает непревзойденную степень открытости для адаптации, изменений, развития. Это обеспечивается за счет вхождения в комплект поставки:
полного комплекта функциональных моделей комплекса, полного комплекта информационных моделей (диаграмм сущность-связь), полного набора исходных текстов комплекса.
Идеология системы принципиально ориентирована на открытость - возможность быстрого и эффективного внесения изменений. При проектировании и разработке комплекса использовались современные объектно-ориентированные технологии, широко применялись CASE-средства и средства визуальной разработки.
В состав комплекса входит специальная служебная система, при помощи которой всю интерфейсную часть комплекса - термины, формы ввода данных, отчетную информацию, сообщения-подсказки, сообщения об ошибках - можно формировать на национальном языке. Переход с одного языка общения с комплексом на другой возможен непосредственно в пользовательском сеансе. Возможна одновременная работа разных пользователей на разных языках.
Структура программного комплекса IFS
Программный комплекс IFS разработан в современной, но не усложненной архитектуре. Архитектура комплекса соответствует трехуровневой модели клиент-сервер. Это позволяет четко отделить уровень представления, уровень логики и уровень данных друг от друга.
Материалы 3-ей ежегодной конференции "Корпоративные базы данных'98"
Алексей Шуленин, Microsoft
Михаил Елашкин, Oracle
Дмитрий Шехватов, Нпвп Форс
С. Маклаков, Д.Матвеев, Интерфейс Ltd
Константин Лисянский, Дмитрий Слободяников, NCR
Сергей Орлик, Borland Дмитрий Кузьменко, Epsylon Technologies
Сергей Кузнецов, Computer Associates
Николай Игнатович, IBM
Кирилл Лисовский, IBM
Ольга Китова, Software AG
Ховард Залкин, Informix
Алексей Тимонин, Sybase
Ольга Твердова, CSBI EE
Илья Гусев, ТЕРН
Сергей Кузнецов, Центр Информационных Технологий, Валерий Артемьев, ГЦИ ЦБ РФ
С. Д. Коровкин, И. А. Левенец, И. Д. Ратманова, В. А. Старых, Л. В. Щавелёв
Новые технологии компании Sybase
Алексей Тимонин, Sybase
Ключевые моменты развития технологии Sybase Для компании Sybase 1998 год является особенным. Прежде всего, сейчас корпорация обладает наиболее широким кругом программных продуктов и технологий за всю свою историю. Кроме того, для всех программных продуктов корпорации в течении последнего года были выпущены новые версии (а для некоторых - даже несколько версий), включая все СУБД, технологии репликации и доступа к данным, технологии для создания прикладных серверов, а также инструменты разработки и проектирования. Еще важнее то, что изменения происходят в рамках объявленной в весной 1997 года, единой стратегии развития технологии - Адаптивной Компонентной Архитектуры Sybase. Интересно отметить, что новая стратегия является логическим продолжением базового набора технологических решений, впервые появившихся в конце восьмидесятых годов. С самого начала своей деятельности на рынке информационных технологий (с 1988 года), корпорация Sybase сразу позиционировала себя как производителя набора технологий для создания распределенных гетерогенных информационных систем. В базовый набор технологий Sybase, которые принесли компании успех и известность на рынке в течении последующих десяти лет, входят как рад технологий реляционных СУБД, так и различные технологии интеграции для обмена данными и транзакциями между разнородными СУБД и другими (в общем случае, произвольными) источниками данных. Среди технологий интеграции, необходимо упомянуть набор открытых интерфейсов Sybase Open Client/Open Server, которые были впервые выпущены в 1988 году. В сущности, именно эти интерфейсы легли в основу всех существующих программных продуктов Sybase. Оригинальность подхода в наборе интерфейсов Open Client/Open Server состояла в том, что многие положения архитектуры "клиент-сервер" были впервые воплощены в области архитектуры СУБД. Библиотека Open Client (раннее название - DB-Library) реализует функции произвольной программы-"клиента": сформировать запрос, послать его на обработку, обработать результаты и воспроизвести их на клиентской машине.
Запрос на обработку может быть произведен двумя способами: либо передачей текстового буфера, либо с помощью функций вызова удаленной хранимой процедуры. Библиотека Open Server, в свою очередь, реализует все необходимые функции произвольной программы-"сервера": перехват событий "подключение клиента", "отключение клиента", "приход текстового буфера", "вызов удаленной хранимой процедуры" и других. Кроме того, любая серверная программа, использующая Open Server, сразу является "многопоточной" (multithreading), т.е. при ее запуске создается один процесс операционной системы, а все клиентские подключения происходят в рамках этого же "серверного" процесса, где каждое клиентское подключение представляют собой один поток (thread). Управление же потоками, их переключение, синхронизация и прочее, уже встроено в Open Server на системном уровне. Многопоточность является важным свойством для серверной программы, потому что создание одного потока в рамках одно процесса операционной системы требует на порядок меньше ресурсов, чем создание еще одного процесса. Программы на основе Open Client и Open Server общаются между собой с помощью высокоуровнего протокола обмена данными под названием TDS (Tabular Data Stream - Табличный Поток Данных), который, как следует из названия, оптимизирован на передачу табличных данных. Уровень передачи данных является полностью независимым от сетевых протоколов передачи данных, поэтому клиентская программа может общаться с любым сервером используя распространенные транспортные протоколы (SPX/IPX, TCP/IP, DECNet, AppleTalk и другие). Также, интересной особенностью этих интерфейсов является возможность реализации асинхронного взаимодействия клиентской и серверных программ, когда прикладное серверное приложение имеет возможность вызывать процедуры на клиентской программе ("активный прикладной сервер"). В результате, клиентское приложение получило возможность не ждать окончания обработки на сервере для продолжения своей работы. На основе Open Server и была создана СУБД Sybase SQL Server, которая обладала целым рядом важных особенностей.
SQL Server воплощал в себе подход "интеллектуальной" СУБД, которая на просто хранит данные, а также позволяет хранить прикладные правила хранения данных и прикладные алгоритмы обработки этих данных. Задачей, на которую нацеливался SQL Server, являлась быстрая обработка операций по вводу и модификации данных большим количеством пользователей. Благодаря тому, что в основе лежит Open Server, SQL Server сразу стал многопоточным. Следствием этого явилось небольшое количество памяти, необходимой для поддержки одного клиентского соединения - около 60-70К. Централизованное хранение, изменение и дополнение прикладной логики реализуется с помощью хранимых процедур, триггеров, правил (rules), значений по умолчанию (defaults). Таким образом, если не будут изменены аргументы хранимых процедур или их названия, клиентские программы никогда не узнают, что на сервере произошли какие-то изменения. Кроме того, сервер СУБД оказался не привязанным к типу клиентского приложения, благодаря тому, что, например, все правила, связанные с проверкой новых значений перед их вставкой в таблицу хранятся на самом сервере, а не встроены в код клиентской программы. Это серьезно повышает переносимость клиентских программ и повышает общую безопасность системы в целом. Кроме того, на основе Open Client/Open Server созданы различные прикладные сервера, выполняющие разнообразные функции в распределенной информационно системе: специализированный сервер для резервного сохранения и восстановления данных Backup Server, специализированный сервер для тиражирования данных Replication Server, специализированный сервер для объединения разнородных баз данных в логически единую базу - Sybase OmniCONNECT и ряд других. Все эти сервера используют единый интерфейс доступа (Open Client) и могут взаимодействовать друг с другом (с помощью вызовов удаленных хранимых процедур) независимо от аппаратной платформы и сетевого протокола. Разумеется, что разработчики информационных систем имеют возможность создавать свои собственные прикладные сервера для решения конкретных задач (например, сложных вычислений, реализации специфических алгоритмов шифрования и аутентификации, организации доступа к каким-либо датчикам или установкам и т.д.), доступ к которым осуществляется с помощью единого протокола обмена данными. С выпуском в 1993 году первой версии сервера репликации транзакций Sybase Replication Server, компания серьезно укрепила свою репутацию поставщика технологий для создания распределенных систем.
Это произошло благодаря тому, что это была первая реализаций технологии репликации транзакций (с сохранением их целостности при их передаче через ненадежные или низкоскоростные линии связи) для СУБД, которая основывалась на чтении изменений из журнала транзакций и последующей их записью в очередь, при проблемах с линией связи. Кроме того, особенностью Replication Server, которая часто привлекает внимание разработчиков, является возможность использования в качестве источника данных для репликации не только любые СУБД Sybase, но и СУБД других известных производителей, включая Oracle или DB2/400 for AS/400. Это реализуется с помощью дополнительных репликационных агентов для соответствующей СУБД. Взгляд Sybase на разработку и развитие современных информационных систем Изменения, повсеместно происходящие в информационных технологиях, приводят к появлению новых возможностей и новых задач. Работа компаний и организаций в условиях увеличивающейся конкуренцией становиться все более и более зависящей от обработки больших объемов разнородной информации. Адаптивная Компонентная Архитектура связывает в единое целое все программные продукты Sybase и обеспечивает возможность создания современных законченных решений для информационных систем любой сложности. Эта комплексная архитектура, составной частью которой является СУБД Adaptive Server, предназначена для:
Помощи специалистам по информационным технологиям в решении растущего количества сложных задач, связанных с созданием промышленных информационных систем и приложений Получения реальной отдачи от использования новых технологий в управлении, обеспечении целостности, безопасности и высокой производительности существующих информационных систем Создании гибкой информационной архитектуры, открытой и самостоятельно адаптирующейся к изменениям
Заложенные в Адаптивную Компонентную Архитектуру принципы адаптации приложений к существующим условиям работы делают ее наиболее гибким и надежным решением для построения систем управления базами данных на сегодняшнем рынке программного обеспечения.
Основой такой гибкости является идеология повторного использования программных компонент. Создавая программные компоненты в виде законченных программных "блоков", вы можете быстро разрабатывать отлаженные приложения, а компоненты могут быть использованы на любом из трех уровней Адаптивной Компонентной Архитектуры - клиентском, промежуточном (прикладном) или уровне СУБД. Компоненты, используемые в Адаптивной Компонентной Архитектуре, разделяются на два вида - компоненты, (1) содержащие логику приложений и (2) данные. Эти два типа компонент могут быть представлены в следующим виде:
Средства разработки приложений генерируют стандартные компоненты для моделей ActiveX, CORBA и JavaBeans, что позволяет использовать открытую компонентную логику на всех уровнях системы. Общий язык и средства управления позволяют выбирать подходящий оптимизированный компонент хранения данных, а, в случае необходимости, добавлять дополнительные компоненты управления данными.
Три уровня Адаптивной Компонентной Архитектуры Sybase показаны на Рис.1. Компоненты, содержащие логику приложения и данные, могут быть размещены на любом уровне. На серверном уровне расположена СУБД Adaptive Server, которая включает в себя компоненты обработки данных Sybase - Adaptive Server Enterprise, Adaptive Server Anywhere и Adaptive Server IQ, а также компоненты для обработки сложных типов данных (текст, графические образы и другая неструктурированная информация).
Рис.1. Адаптивная Компонентная Архитектура
Архитектура СУБД Adaptive Server Архитектура СУБД Adaptive Server позволяет совместно использовать один или несколько компонентов обработки данных (в зависимости от специфики решаемой задачи). При этом, Adaptive Server будет поддерживать все операции с этими компонентами обработки данных, обеспечивая при этом единый интерфейс доступа (Open Client), единые языки (SQL и Java), единый инструмент администрирования (Sybase Central), а также, при необходимости, единые технологии по репликации транзакций (Replication Server, SQL Remote), обмену сообщениями (dbQueue), интеграции разнородных данных (OmniConnect), интеграцию с web-технологиями (Jaguar CTS и PowerDynamo). На Рис.2 изображены три составные части Adaptive Server:
Common Language Processor ( Единый синтаксический процессор) обеспечивает согласованный интерфейс обработки информации для всех источников данных. Программный уровень поддерживает как Transact-SQL(r), так и объекты Java для создания абстрактных типов данных на основе языка Java. Component Integration Layer (Слой интеграции компонент) обеспечивает прозрачную обработку запросов для всех источников данных. Будущие версии Adaptive Server будут также поддерживать распределенное согласование транзакций. Уровень оптимизированных источников обработки данных (optimized data stores) может включать в себя набор из различных компонентов обработки данных, каждый из которых ориентирован на обработку своих классов запросов.
Рис.2. Архитектура Adaptive Server Компоненты обработки данных включают в себя:
Adaptive Server Enterprise, предназначенный для оперативной обработки транзакций (OLTP), систем поддержки принятия решений, а также для смешанной многопользовательской среды, в которой могут обрабатываться оба класса запросов. Основными особенностями этого продукта являются: Управление приоритетами запросов (которые могут динамически меняться) Продвинутая параллельная обработка как для операций обработки запросов, так и для различных системных операций, включая создание индексов, загрузку/выгрузку данных и т.д. Управление лимитами ресурсов запроса (например, можно лимитировать максимальное время обработки запроса, максимально допустимое количество операций ввода/вывода или максимальное количество возвращаемых записей) Продвинутое управление кэш-памятью, в результате чего, можно присваивать различные части кэш-памяти конкретным таблицам (или наборам таблиц), индексам, базам данных и т.д. Эта возможность серьезно повышает управляемость СУБД при одновременной работе многих пользователей.
Версия Adaptive Server Enterprise, вышедшая в конце марта этого года поддерживает гибкую технологию управления блокировками, которая может происходить на уровне базы данных, таблицы, отдельной страницы таблицы или же на уровне записи.
Adaptive Server Anywhere для работы в мобильных и настольных системах. Adaptive Server Anywhere является преемником популярной СУБД Sybase SQL Anywhere, которая сегодня широко используется для создания информационных систем на уровне небольших рабочих групп или для объединения удаленных филиалов больших информационных систем. Популярность SQL Anywhere обеспечивают следующие ключевые особенности: Поддержка все функций многопользовательской реляционной СУБД, включая поддержку транзакций, хранимых процедур, триггеров, декларативной целостности, блокировки на уровне записи и т.д. Поддержка языка Sybase Transact-SQL Поддержка нескольких технологии репликации - в режиме "онлайн" с помощью Replication Server, или по электронной почте, с помощью технологии SQL Remote. Важно, что с помощью обеих технологий есть возможность обмениваться транзакциями между Adaptive Server Anywhere, Adaptive Server Enterprise, предыдущих версий СУБД Sybase SQL Server, SQL Anywhere и т.д. Низкие требования к оперативной памяти (самому серверу необходимо 2 MB) Упрощенное сопровождение сервера (не требуется постоянное присутствие профессионального администратора БД, многие функции настраиваются автоматически) Поддержка массовых операционных систем, включая DOS, Windows 3.x/95/NT, OS/2, NetWare, DOS, QNX, Macintosh, Sun Solaris, HP-UX, IBM AIX, SGI IRIX
Дополнительно к этому, в версии Adaptive Server Anywhere 6.0, которая появляется весной этого года, будет добавлена поддержка языка Java и обеспечена поддержка многопроцессорных (SMP) систем. Кроме того, появиться поддержка новой операционной системы Windows CE (для этой платформы, требования к оперативной памяти снижены до 500K). Во второй половине года планируется выход специальной версии Adaptive Server Anywhere, которая будет полностью реализована на Java и предназначена для использования в качестве встраиваемой СУБД в различных мобильных устройствах (например, в мобильных телефонах).
Adaptive Server IQ представляет собой специализированный компонент предназначенный для производительной обработки сложных аналитических запросов на большом объеме данных.
Благодаря запатентованным алгоритмам индексации данных, а также дополнительным алгоритмам хранения и сжатия данных, скорость обработки сложных запросов (которые часто состоят из различных операций объединения, агрегирования, сортировки) на Adaptive Server IQ происходит значительно быстрее, чем в обычных РСУБД (в среднем, в 5-10 раз, хотя иногда ускорение может достигать и ста раз). Дополнительно, важными особенностями этого компонента являются: Поддержка языка Transact-SQL Поддержка стандартных клиентских библиотек доступа Open Client, DB-Library и ODBC Отсутствие жестких требований на используемую модель данных (разработчики не обязаны использовать только многомерную модель данных, например). Поддерживается обычная реляционная модель данных. Возможность многопользовательской работы Поддержка как различных Unix-платформ, так и Windows NT Специальные компоненты управления данными для обработки неструктурированной информации, включая хранение и поиск по тексту (в том числе в форматах MS Word, Adobe Acrobat и др.), графические образы (хранение и поиск) и т.д.
Новые возможности для разработки прикладных систем В рамках Адаптивной Компонентной Архитектуры компания Sybase разрабатывает технологию использования языка Java непосредственно в СУБД Adaptive Server. Это позволит существенно повысить открытость и продвинутость серверных программ, а также упростить внедрение и эксплуатацию прикладных систем, основывающихся на серверные программы. В тоже время, это позволит создать открытую объектно-ориентированную СУБД. Главной целью Java-инициативы компании Sybase является решение проблем, с которыми сталкиваются организации, применяющие информационные технологии Сегодня, прикладные программы состоят из кода, находящегося вне сервера СУБД и запрограммированного на языках третьего (C/C++, Java и другие) или четвертого поколений (PowerBuilder, Visual Basic и другие), а также из кода, находящегося в СУБД, в виде хранимых процедур, написанных на языке SQL. Java-инициатива компании Sybase, опираясь на принцип Java-программ ("написал один раз - работает везде "), переносит его действие на новую платформу - СУБД.
Это позволит убрать различия между программированием клиентской и серверной частей прикладной системы. Особенности Java-инициатива компании Sybase открывает новые возможности для разработчиков прикладных систем.
Применение полноценного языка программирования в СУБД. Прикладной код (в виде Java-классов) будет исполняться в безопасном режиме в Adaptive Server. Для этого в Adaptive Server будет встроена виртуальная машина языка Java и внутренний интерфейс JDBC. При этом, благодаря встраиванию в сервер мощного и безопасного языка программирования, удается обойти программные ограничения хранимых процедур на языке SQL. Объектные типы данных. Объекты, написанные на языке Java, могут храниться в виде значений в реляционной таблице. Это позволяет создавать и использовать произвольные типы данных. Единая программная модель. Впервые прикладные программные компоненты можно будет перемещать между клиентскими программами, прикладными серверами и СУБД. На всех уровнях разработчики могут использовать единую программную модель.
Открытость и поддержка стандартов
Успех технологии Sybase является следствием приверженности компании к открытым стандартам. Использование языка Java в реляционной архитектуре позволит убрать барьеры при создании прикладных программ, однако новым препятствием может стать проблема стандартизации новой технологии. Компания Sybase, совместно с корпорацией JavaSoft, американским комитетом по стандартизации ANSI и консорциумом JSQL, работает над созданием стандартов по использованию языка Java в СУБД. Почему используется Java?
Одной из важнейших целей компании Sybase является упрощение процесса разработки прикладных информационных систем предприятий, сложность которых постоянно возрастает. Мы уверены, что использование языка Java поможет достичь этой цели. Java представляет собой язык программирования для нового поколения прикладных информационных систем, который примечателен прежде всего благодаря повышению эффективности процесса разработки приложений. Компания Sybase убеждена, что язык Java позволит повысить эффективность разработки серверных приложений, а также расширить возможности серверов баз данных. Это убеждение основывается на следующих причинах:
Этот язык начинает широко применяться при разработке прикладных систем. Для уменьшения различий между разработкой клиентских и серверных приложений необходимо использовать единый язык программирования. Этот язык имеет встроенные средства контроля безопасности исполнения программ. Язык, используемый в критически важных приложениях, которые обычно основываются на системах управления базами данных, должен иметь встроенную защиту для самой СУБД. Язык Java такую защиту обеспечивает. Это объектно-ориентированный язык. Язык, который предназначен стать основой для новых объектных типов данных, должен быть объектно-ориенти-
рованным. Java изначально проектировался как объектно-ориентированный язык.
Компания Sybase видит два направления использования языка Java в СУБД:
В качестве языка программирования серверной прикладной логики, развивающий возможности традиционных SQL-ориентированных хранимых процедур. В качестве средства описания и хранения объектных типов данных в СУБД.
Следующие разделы посвящены обсуждению реализации этих двух направлений. Использование Java для программирования СУБД Современные сервера баз данных применяют SQL для достижения двух задач: доступа к данным и программирования прикладных алгоритмов. Язык SQL продолжает оставаться прекрасным языком для управления данными, однако хранимые процедуры, являющиеся расширениями языка SQL и предназначенные для программирования и хранения внутри сервера прикладного кода, имеют очевидные слабые места. Хранимые процедуры на SQL имеют очень ограниченный набор средств разработки и отладки, их невозможно вынести из сервера СУБД, а кроме того, в них отсутствует множество стандартных возможностей современных языков программирования, например использование внешних библиотек, механизмов инкапсуляции, наследования и других объектно-ориентированных особенностей. Язык Java является естественным решением для программирования прикладного кода внутри сервера СУБД. Язык SQL продолжает использоваться для доступа к данным и манипуляций над ними. Инсталляция классов в сервер Произвольная программа на Java состоит из набора классов.
Для их использования в Adaptive Server будет необходимо провести инсталляцию Java-классов в СУБД. Классы должны быть откомпилированы в байт-код (и, тем самым, готовы для исполнения в виртуальной Java-машине) вне сервера. После инсталляции они могут исполняться (и могут быть отлажены) внутри сервера СУБД. Доступ к языку SQL из Java с помощью интерфейса JDBC Для обеспечения работы прикладного Java-кода в базе данных, необходимо обеспечить интерфейс доступа из Java к языку SQL. Совершенно аналогично тому, как операторы SQL доступны для вызова из обычных хранимых процедур, они должны быть доступны для вызова из методов, описанных на языке Java. На клиентской стороне, для включения языка SQL в Java-методы используется интерфейс JDBC. JDBC - это прикладной программный интерфейс, введенный в набор Java SDK версии 1.1.0, и предназначенный для включения операторов SQL в методы на Java. Для уменьшения различий между программированием клиентских и серверных приложений, необходимо обеспечить JDBC-доступ к SQL-операторам из методов на Java, изнутри СУБД. Именно поэтому внутренний интерфейс JDBC для Adaptive Server является ключевой особенностью Java-инициативы компании Sybase. Использование методов, упрощающих разработку под JDBC Также как ODBC, JDBC представляет собой низкоуровневый прикладной интерфейс для доступа к СУБД. Аналогично тому, как во многих средствах быстрой разработки приложений существуют собственные высокоуровневые интерфейсы, построенные на основе ODBC, существует необходимость в интерфейсах на основе JDBC, которые позволят разработчикам быть более эффективными. После того, как откомпилированные Java-классы будут инсталлированы в Adaptive Server, любые высокоуровневые инструменты и методы, генерирующие Java и JDBC-код, поддерживаются автоматически. В их числе:
JSQL. JSQL - это альтернативный метод включения SQL-вызовов в Java-код. Этот стандарт поддерживается консорциумом, включающий в себя компании IBM, Sybase, Oracle, Tandem. По сути, JSQL реализует возможности, аналогичные возможностям встроенного SQL (Embedded SQL), но для JDBC.
Во многих случаях писать на JSQL проще, чем непосредственно на JDBC. Дополнительным преимуществом для администраторов баз данных является сходство этого метода с написанием обычных хранимых процедур на SQL.
Перед компиляцией, JSQL-код преобразуется препроцессором в вызовы SQL. Пользователи Adaptive Server смогут, при желании, использовать JSQL и встраивать обработанный препроцессором код в сервер СУБД.
RAD-инструменты Инструменты для быстрой разработки приложений (RAD-инструменты) для Java, включая инструмент Sybase PowerJ, используют Java-классы, созданные на основе вызовов JDBC, с целью обеспечения разработчиков более удобным интерфейсом. Такие классы также могут быть инсталлированы в СУБД. JavaBeans это стандарт на компоненты: набор Java-классов со стандартным интерфейсом доступа. Компоненты JavaBeans могут быть установлены в сервер СУБД аналогично остальным наборам классов.
Одной из причин появления адаптивной компонентной архитектуры Sybase является четкое понимание важности компонентной разработки прикладных систем, которое позволяет ускорить создание надежных информационных систем с помощью повторного использования уже отлаженного кода. Возможность использования компонентов JavaBeans на любых уровнях распределенной информационной системы, включая СУБД, позволит воспользоваться преимуществами языка Java при разработке корпоративных прикладных баз данных. Adaptive Server будет поддерживать исполнение компонентов кода на основе стандартов JavaBeans и Enterprise JavaBeans. Повторное использование: основная причина поддержки Java В связи с использованием виртуальной машины для исполнения методов на Java и встроенной поддержке интерфейса JDBC, один и тот же объект на языке Java (созданный непосредственно на JDBC, либо с помощью какого-либо RAD-средства, включая PowerJ) может быть использован как внутри, так и вне СУБД. В компании Sybase существует четкое убеждение, что для получения максимальных выгод от использования Java, критически важным является отсутствие особых требований для Java-классов, предназначенных для встраивания в СУБД.
В отличии от некоторых других подходов, реализация Sybase целиком основывается на этой важнейшей особенности. Использование Java для описания объектных типов данных В дополнении к созданию прикладного кода в СУБД, использование языка Java позволяет найти решение к другим ограничениям современных реляционных СУБД. В частности, использование этого языка предоставляет средства для расширения набора имеющихся типов данных. Будучи установленным в Adaptive Server, Java-класс может быть использован в качестве типа данных для столбца таблицы. Каждое поле такой записи становиться экземпляром соответствующего Java-класса. В качестве примера возьмем простой класс на языке Java, хранящий адреса. Вы можете создать и инсталлировать в Adaptive Server класс Address, содержащий информацию об улице, городе и почтовом индексе. После этого вы можете создать столбец с типом данных Address и вставить новый адрес. Доступ к различным полям класса Address в запросах может производиться раздельно. Использование даже такого простого класса, каким является класс Address дает ряд преимуществ пользователям базы данных:
Благодаря хранению информации об адресе в рамках единого объекта, становиться проще контролировать ее целостность, особенно, когда это поле используется в нескольких таблицах базы данных (скажем в таблице сотрудников, таблице поставщиков, таблице клиентов и т.д.). Прикладной код может быть включен в методы класса. Например, становиться возможным вставить данные только в поля Street (улица) и Postal Code (почтовый индекс), а значение поля City (город) сделать вычисляемым , на основе почтового индекса. Внешний пользователь не заметит какой-либо разницы между значением, которое храниться в базе данных, и вычисляемым значением. Можно использовать наследование классов и методов. При этом допускается перегрузка методов, в зависимости от используемого класса. Например, можно создать классы US_Address и CanadianAddress, отнаследованные от базового класса Address. В каждом из этих классов могут быть разные методы проверки заполнения полей почтовый индекс, написание которого отличается для Канады и США.
После этого, вы можете вставлять объект типа US_Address или CanadianAddress в поле типа Address.
Возможность хранения объектов Java в реляционной СУБД является важной особенностью для корпоративных приложений. В частности, ожидается упрощение процесса внедрения и повышение количества повторно используемого кода. Доступ к Java-объектам из языка SQL Хотя интерфейс JDBC является стандартом индустрии для доступа к SQL из языка Java, в настоящее время не существует обратного стандарта, описывающего доступ к Java-объектам из SQL. Компания Sybase разработала такой интерфейс, и работает над его стандартизацией. Основным принципом разработчиков этого интерфейса являлось избежание неочевидных языковых конструкций: с тем, что бы Java-объекты и внутри операторов SQL работали так, как это ожидается. Язык Java и объектно-ориентированные СУБД Термин "объектно-реляционная СУБД" предназначен для обозначения ряда технологий, предназначенных для пользователей, которым недостаточно стандартных типов данных, имеющихся в реляционных СУБД. Одной характерной потребностью таких пользователей является возможность создания собственных базовых типов данных, которые могут быть специфичны для конкретной организации. В Sybase для этого используются Java-классы. Кроме того, существует потребность в относительно небольшом количестве специализированных типов данных, таких как текст, геоинформационные данные, временные ряды и мультимедийные данные. Эти специализированные типы данных имеют специфические требования к индексации и работе с ними. Sybase поддерживает подобные типы данных через слой интеграции компонентов обработки данных, который встроен в Adaptive Server. C помощью поддержки Java и встроенного слоя интеграции компонентов, Sybase создает объектно-реляционную СУБД, которая может быть оптимизирована для различных задач обработки данных. Возможные проблемы при использовании Java Безопасность и производительность являются наиболее частыми предметами для размышления для администраторов баз данных и отделов информационных технологий.
Обсуждение реализации требований по безопасности и производительности в Java также являются предметом постоянной дискуссии в Java-сообществе. Вопросы безопасности Вопросы безопасности и целостности являются важнейшими для организаций, которые хранят свои данные в реляционных СУБД. Как поставщик технологий для корпоративных информационных систем, компания Sybase осознает эти требования и именно поэтому применяется архитектура Java. Например:
В СУБД можно использовать только те классы, которые установлены администратором базы данных. Администратор имеет возможность управлять доступом из SQL к методам и полям класса. Виртуальная машина, встроенная в Adaptive Server, не поддерживает операции, которые могут нарушить безопасность сервера СУБД. Язык Java проектировался с учетом вопросов безопасности, поэтому он хорошо подходит на роль языка приложений, исполняющихся непосредственно в СУБД.
Вопросы производительности Несмотря на то, что производительность Java-приложений является популярной темой для обсуждения, компания Sybase разделяет мнение многих специалистов, считающих, что подобные опасения исчезнут в течении следующего года. Аналитик Stan Doelberg из компании Forrester Research, обсуждавший недавно данную проблему, полагает, что "в течении шести месяцев проблема производительности будет снята"#. Различные разработчики компиляторов, включая соответствующее подразделение в Powersoft, продолжают работать над улучшениями языка. Пользователи Adaptive Server смогут воспользоваться этими разработками, после того, когда они установят скомпилированные Java-классы в сервер СУБД. Дополнительно, администратор СУБД сможет настраивать параметры хранения объектов в классе. Использование Java в СУБД и клиентские приложения Компания Sybase стремиться к созданию решений, которые бы позволяли сохранять сделанные существующими пользователями инвестиции в современную технологию. Уже существующие прикладные системы не должны изменяться для того, что воспользоваться новыми особенностями Adaptive Server. Java-особенности СУБД Adaptive Server доступны существующим прикладным системам, включая те, которые не используют Java, а применяют интерфейс ODBC или библиотеку Open Client.
Клиентские приложения, использующие Java, могут использовать дополнительные возможности.
Поддержка всех клиентских приложений Поддержка Java-архитектуры СУБД Adaptive Server для клиентских приложений, которые не используют Java, основывается на внутреннем отображении (internal mapping) языков Java и SQL. Клиентское приложение общается с сервером, используя стандартный интерфейс, например Sybase Open Client или ODBC. Доступ к полям, основанных на Java-объектах, производится с помощью стандартных операторов SQL. При этом методы Java вызываются и исполняются совершенно так же, как и обычные хранимые процедуры. На клиентском приложении в этом случае доступны только стандартные типы данных. Поддержка клиентских приложений на Java Клиентское приложение на Java сможет соединяться с Adaptive Server с помощью интерфейса JDBC. В дополнении к возможностям, которые доступны не Java-приложениям, клиентские Java-приложения смогут обмениваться объектами с Adaptive Server. Когда Java-объект запрашивается с сервера, он посылается к клиентскому приложению и исполняется на клиентской виртуальной Java-машине. Как уже подчеркивалось ранее, реализация Java архитектуры в Adaptive Server такова, что, в отличии от других технологий, классы не требуют какой-либо особой подготовки для использования в СУБД. Класс может быть использован в клиентском приложении, промежуточном сервере приложений, или же перенесен в СУБД без всяких модификаций, что упрощает создание распределенных приложений. Например, если метод city из класса Address вычисляет название города из значения поля Postal Code, то этот может быть вызван как с клиента, так и из сервера. Заключение Деятельность компании Sybase направлена на решение проблем организаций, которые создают и эксплуатируют информационные системы. Стратегия использования Java-технологии в Adaptive Server позволяет убрать искусственные барьеры, усложняющие и без того непростые задачи автоматизации. Java представляет собой новый язык программирования для разработки прикладных программ, а дополнительные технологии JavaBeans и Enterprise JavaBeans являются важными объектными моделями для создания приложений на Java.В то же время, реляционные СУБД являются наиболее широко используемым типом СУБД для решения задач бизнеса. Возможность хранить и запускать Java-объекты в реляционных СУБД открывают новые возможности для корпоративных разработчиков, а также позволяет использовать достоинства Java при разработки корпоративных прикладных информационных систем. Sybase
Алексей Тимонин
Тел.: (095) 956-2016 Факс (095) 956-2041
| |
Обзор возможностей применения ведущих СУБД для построения хранилищ данных (DataWarehouse)
Сергей Кузнецов, Центр Информационных Технологий,
Валерий Артемьев, ГЦИ ЦБ РФ
Основные понятия
Сравнение оперативных и аналитических ИС с точки зрения обеспечения данными
Основным источником информации, поступающей в оперативную БД является деятельность корпорации. Для проведения анализа данных требуется привлечение внешних источников информации (например, статистических отчетов). Хранилище данных должно включать как внутренние корпоративные данные, так и внешние данные. Для оперативной обработки требуются свежие данные за несколько последних месяцев, для проведения достоверных анализа и прогнозирования в хранилище данных нужно иметь информацию о деятельности корпорации и состоянии рынка на протяжении нескольких лет. Объем аналитических БД как минимум на порядок больше объема оперативных. Во многих крупных корпорациях одновременно существуют несколько оперативных ИС с собственными БД (по историческим причинам). Оперативные БД могут содержать семантически эквивалентную информацию, представленную в разных форматах, с разным указанием времени ее поступления, иногда даже противоречивую. Хранилище данных должно содержать единообразно представленную и согласованную информацию, максимально соответствующую содержанию оперативных БД. Необходима компонента для извлечения и "очистки" информации из разных источников. Оперативные ИС создаются в расчете на решение конкретных задач. Информация из БД выбирается часто и небольшими порциями. Обычно набор запросов к оперативной БД известен уже при проектировании. Набор запросов к аналитической базе данных предсказать невозможно. Хранилища данных существуют, чтобы отвечать на нерегламентированные (ad hoc) запросы аналитиков. Можно рассчитывать только на то, что запросы будут поступать не слишком часто и затрагивать большие объемы информации. Размеры аналитической БД стимулируют использование запросов с агрегатами (сумма, минимальное, максимальное, среднее значение и т.д.). Оперативные БД по своей природе являются сильно изменчивыми, что учитывается в используемых СУБД (нормализованная структура БД, строки хранятся неупорядоченно, B-деревья для индексации, транзакционность). При малой изменчивости аналитических БД (только при загрузке данных) оказываются разумными упорядоченность массивов, более быстрые методы индексации при массовой выборке, хранение заранее агрегированных данных. Для оперативных ИС обычно хватает защиты информации на уровне таблиц. Информация аналитических БД настолько критична для корпорации, что требуются большая грануляция защиты(индивидуальные права доступа к определенным строкам и/или столбцам таблицы).
Концепция хранилища данных
Хранилище данных - предметно-ориентированный, интегрированный, неизменчивый, поддерживающий хронологию набор данных, организованный для целей поддержки управления.
Подход построения хранилища данных для интеграции неоднородных источников данных принципиально отличается от подхода динамической интеграции разнородных БД. Реально строится новое крупномасштабное хранилище, управление данными в котором происходит по другим правилам, чем в исходных оперативных БД.
В основе концепции хранилища данных лежат две основные идеи:
(1) Интеграция разъединенных детализированных данных (детализированных в том смысле, что они описывают некоторые конкретные факты, свойства, события и т.д.) в едином хранилище. В процессе интеграции должно выполняться согласование рассогласованных детализированных данных и, возможно, их агрегация. Данные могут поступать из исторических архивов корпорации, оперативных баз данных, внешних источников.
(2) Разделение наборов данных и приложений, используемых для оперативной обработки и применяемых для решения задач анализа.
Общая архитектура аналитических ИС
Потоки данных в информационном хранилище
Свойства информационных хранилищ
Уильям Инмон, считающийся основателем нового направления развития технологии БД, дал классическое определение информационного хранилища в 1990 г. Он охарактеризовал его как специальным образом администрируемую базу данных, содержимое которой имеет следующие свойства:
Предметная ориентация Интегрированность данных Инвариантность во времени Неразрушаемость - cтабильность информации Минимизация избыточности информации
Предметная ориентация
В отличие от БД в традиционных OLTP-системах, где данные подобраны в соответствии с конкретными приложениями, информация в DW ориентирована на задачи поддержки принятия решений.. Для системы поддержки принятия решений требуются "исторические" данные - факты продаж за определенные интервалы времени. Хорошо спроектированные структуры данных DW отражают развитие всех направлений бизнеса компании во времени.
Поскольку в DW- технологии объекты данных выходят на первый план, то особые требования предъявляются к структурам БД, используемым для создания информационных хранилищ.. Принципиально отличаются и структуры баз данных для OLTP- и DW-систем. Во втором случае в них помещается только та информация, которая может быть полезной для работы систем поддержки принятия решений (DSS).
Интегрированность данных
Данные в информационное хранилище поступают из различных источников, где они могут иметь разные имена, атрибуты, единицы измерения и способы кодировки. После загрузки в DW данные очищаются от индивидуальных признаков, т. е. как бы приводятся к общему знаменателю. С этого момента они представляются пользователю в виде единого информационного пространства.
Если в четырех разных приложениях пол клиента кодировался четырьмя различными способами, то в информационном хранилище будет использована единая для всех данных схема кодировки (например, f,m).
Инвариантность во времени
В OLTP-системах истинность данных гарантирована только в момент чтения, поскольку уже в следующее мгновение они могут измениться в результате очередной транзакции. Важным отличием DW от OLTP-систем является то, что данные в них сохраняют свою истинность в любой момент процесса чтения.
В OLTP-системах информация часто модифицируется как результат выполнения каких-либо транзакций. Временная инвариантность данных в DW достигается за счет введения полей с атрибутом "время" (день, неделя, месяц) в ключи таблиц. В результате записи в таблицах DW никогда не изменяются, представляя собой снимки данных, сделанные в определенные отрезки времени. В DW содержатся как бы моментальные снимки данных. Каждый элемент в своем ключе явно или косвенно хранит временной параметр, например день, месяц или год.
Неразрушаемость - cтабильность информации
В OLTP-системах записи могут регулярно добавляться, удаляться и редактироваться. В DW-системах, как следует из требования временной инвариантности, однажды загруженные данные теоретически никогда не меняются.
По отношению к ним возможны только две операции: начальная загрузка и чтение (доступ). Это и определяет специфику проектирования структуры базы данных для DW. Если при создании OLTP-систем разработчики должны учитывать такие моменты, как откаты транзакций после сбоя сервера, борьба с взаимными блокировками процессов (deadlocks), сохранение целостности данных, то для DW данные проблемы не столь актуальны - перед разработчиками стоят другие задачи, связанные, например, с обеспечением высокой скорости доступа к данным.
Минимизация избыточности информации
Поскольку информация в DW загружается из OLTP-систем, возникает вопрос, не ведет ли это к чрезмерной избыточности данных? Нет, утверждает Билл Инмон. На самом деле избыточность минимальна (около 1%!), что объясняется следующими причинами:
при загрузке информации из OLTP-cистем в DW данные фильтруются. Многие из них вообще не попадают в DW, поскольку лишены смысла с точки зрения использования в системах поддержки принятия решений; информация в OLTP-системах носит, как правило, оперативный характер, и данные, потеряв актуальность, удаляются. В DW, напротив, хранится историческая информация, и с этой точки зрения перекрытие содержимого DW данными OLTP- систем оказывается весьма незначительным; в DW хранится некая итоговая информация, которая в базах данных OLTP-систем вообще отсутствует; во время загрузки в DW записи сортируются, очищаются от ненужной информации и приводят к единому формату. После такой обработки это уже совсем другие данные.
Основные компоненты информационного хранилища
ПО промежуточного слоя
Обеспечивает сетевой доступ и доступ к базам данных. Сюда относятся сетевые и коммуникационные протоколы, драйверы, системы обмена сообщениями и пр.
Транзакционные БД и внешние источники информации
Базы данных OLTP-систем исторически предназначались для эффективной обработки структур данных в относительно небольшом числе четко определенных транзакций. Из-за ограниченной целевой направленности "учетных" систем применяемые в них структуры данных плохо подходят для систем поддержки принятия решений.
Кроме того, возраст многих установленных OLTP-систем достигает 10 - 15 лет.
Уровень доступа к данным
Относящееся сюда ПО обеспечивает общение конечных пользователей с информационным хранилищем и загрузку требуемых данных из транзакционных систем. В настоящее время универсальным языком общения служит язык структурированных запросов (SQL).
Загрузка и предварительная обработка
Этот уровень включает в себя набор средств для загрузки данных из OLTP-систем и внешних источников. Выполняется, как правило, в сочетании с дополнительной обработкой: проверкой данных на чистоту, консолидацией, форматированием, фильтрацией и пр.
Информационное хранилище
Представляет собой ядро всей системы - один или несколько серверов БД.
Метаданные
Метаданные (репозиторий, "данные о данных"). Играют роль справочника, содержащего сведения об источниках первичных данных, алгоритмах обработки, которым исходные данные были подвергнуты, и т. д.
Уровень информационного доступа
Обеспечивает непосредственное общение пользователя с данным DW посредством стандартных систем манипулирования, анализа и предоставления данных типа MS Excel, MS Access, Lotus 1-2-3 и др.
Уровень управления (администрирования)
Отслеживает выполнение процедур, необходимых для обновления информационного хранилища или поддержания его состояния. Здесь программируются процедуры подкачки данных, перестройки индексов, выполнения итоговых (суммирующих) расчетов, репликации данных, построения отчетов, формирования сообщений пользователям, контроля целостности и др.
Проблемы интеграции данных
Остановимся на некоторых проблемах реализации хранилища данных:
Неоднородность программной среды Распределенный характер организации Повышенные требования к безопасности данных Необходимость наличия многоуровневых справочников метаданных Потребность в эффективном хранении и обработке очень больших объемов информации
Неоднородность программной среды
Хранилище данных практически никогда не создается на пустом месте. Почти всегда конечное решение будет разнородным, т.е.
в нем будут использоваться автономно разработанные программные средства. Прежде всего это касается формирования интегрированного согласованного набора данных, которые могут поступать из разнородных баз данных, электронных архивов, публичных и коммерческих электронных каталогов, справочников, статистических сборников. При построении хранилища данных приходится решать задачу построения единой, согласованно функционирующей информационной системы на основе неоднородных программных средств и решений. При выборе средств реализации хранилища данных приходится учитывать множество факторов, включающих уровень совместимости различных программных компонентов, легкость их освоения и использования, эффективность функционирования и т.д.
Распределенный характер организации
В концепции хранилища данных предопределено то, что операционная аналитическая обработка может выполняться в любом узле сети независимо от места расположения основного хранилища. Хотя при аналитической обработке данные только читаются, и потребность в синхронизации отсутствует, для достижения эффективности необходимо поддерживать репликацию данных в разных узлах сети. (На самом деле, все не так просто. Одним из требований к хранилищам данных является то, чтобы свежая информация поступала в хранилище как можно быстрее. Т.е. потенциально любая модификация оперативной БД может инициировать добавление данных к хранилищу данных, а тогда потребуется обновить и все реплики, для чего синхронизация все-таки нужна.)
Повышение требований к безопасности данных
Собранная вместе согласованная информация об истории развития корпорации, ее успехах и неудачах, о взаимоотношениях с поставщиками и заказчиками, об истории и состоянии рынка дает возможность анализа прошлой и текущей деятельности корпорации и построения прогнозов для будущего. Эта информация настолько ценна для корпорации, что нельзя допустить возможности ее утечки (на самом деле, если хранилище данных одной корпорации попадет в руки аналитиков другой корпорации, то все аналитические прогнозы первой корпорации сразу станут неверными).
В системах, основанных на хранилищах данных, оказывается недостаточной защита данных в стиле языка SQL, которую обеспечивают обычные коммерческие СУБД (этот уровень защиты соответствует классу C2 в соответствии с классификацией Оранжевой Книги Министерства обороны США). Для обеспечения должного уровня защиты доступ к данным должен контролироваться не только на уровне таблиц и их столбцов, но и на уровне отдельных строк (это уже соответствует классу B1 Оранжевой Книги). Приходится также решать вопросы аутентификации пользователей, защиты данных при их перемещении в хранилище данных из оперативных баз данных и внешних источников, защиты данных при их передаче по сети.
Необходимость наличия многоуровневых справочников метаданных
Если роль метаданных (обычно содержащихся в таблицах-каталогах) в оперативных информационных системах достаточно ограничена, то для OLAP-систем наличие развитых метаданных и средств их предоставления конечным пользователям является одним из основных условий успешной реализации. Например, прежде, чем менеджер корпорации задаст системе свой вопрос, он должен понять, какая информация имеется, насколько она актуальна, можно ли ей доверять, сколько времени может занять формирование ответа и т.д. Для пользователя OLAP-системы требуются метаданные, по крайней мере, следующих типов:
(1) Описания структур данных, их взаимосвязей.
(2) Информация о хранимых на хранилище данных и поддерживаемых им агрегатах данных.
(3) Информация об источниках данных и о степени их достоверности. Одна и та же информация могла попасть в хранилище данных из разных источников. Пользователь должен иметь возможность узнать, какой источник был выбран основным, и каким образом производились согласование и очистка данных.
(4) Информация о периодичности обновлений данных. Желательно знать не только то, какому моменту времени соответствуют интересующие его данные, но и когда они в следующий раз будут обновлены.
(5) Информация о владельцах данных. Пользователю OLAP-системы может оказаться полезной информация о наличии в системе данных, к которым он не имеет доступа, о владельцах этих данных и о действиях, которые он должен предпринять, чтобы получить доступ к данным.
(6) Статистические оценки времени выполнения запросов. До выполнения запроса полезно иметь хотя бы приблизительную оценку времени, которое потребуется для получения ответа, и объема этого ответа.
Потребность в эффективном хранении и обработке очень больших объемов
информации
Уже сейчас известны примеры хранилищ данных, содержащих терабайты информации. По данным консалтинговой компании Meta Group, около половины корпораций, использующих или планирующих использовать хранилища данных, предполагает довести их объем до сотен гигабайт. Проблемой таких больших хранилищ является то, что накладные расходы на внешнюю память возрастают нелинейно при возрастании объема хранилища. Исследования, проведенные на основе тестового набора TPC-D, показали, что для баз данных объемом в 100 гигабайт потребуется внешняя память объемом в 4.87 раза большая, чем нужно собственно для полезных данных. При дальнейшем росте баз данных этот коэффициент увеличивается.
Реализация хранилищ и витрин данных
Варианты реализации хранилищ данных
Виртуальное хранилище данных Витрины данных Глобальное хранилище данных Многоуровневая архитектура хранилища данных
Виртуальное хранилище данных
В его основе - репозиторий метаданных, которые описывают источники информации (БД транзакционных систем, внешние файлы и др.), SQL-запросы для их считывания и процедуры обработки и предоставления информации. Непосредственный доступ к последним обеспечивает ПО промежуточного слоя. В этом случае избыточность данных нулевая. Конечные пользователи фактически работают с транзакционными системами напрямую со всеми вытекающими отсюда плюсами (доступ к "живым" данным в реальном времени) и минусами (интенсивный сетевой трафик, снижение производительности OLTP-систем и реальная угроза их работоспособности вследствие неудачных действий пользователей-аналитиков).
Витрина данных
Витрина данных (Data Mart) по своему исходному определению - это набор тематически связанных баз данных, которые содержат информацию, относящуюся к отдельным аспектам деятельности корпорации.
По сути дела, витрина данных - это облегченный вариант хранилища данных, содержащий только тематически объединенные данные. Целевая база данных максимально приближена к конечному пользователю и может содержать тематически ориентированные агрегатные данные. Витрина данных, естественно, существенно меньше по объему, чем корпоративное хранилище данных, и для его реализации не требуется особо мощная вычислительная техника.
Глобальное хранилище данных
В последнее время все более популярной становится идея совместить концепции хранилища и витрины данных в одной реализации и использовать хранилище данных в качестве единственного источника интегрированных данных для всех витрин данных. Тогда естественной становится такая трехуровневая архитектура системы:
На первом уровне реализуется корпоративное хранилище данных на основе одной из развитых современных реляционных СУБД. Это хранилище интегрированных в основном детализированных данных. Реляционные СУБД обеспечивают эффективное хранение и управление данными очень большого объема, но не слишком хорошо соответствуют потребностям OLAP-систем, в частности, в связи с требованием многомерного представления данных.
На втором уровне поддерживаются витрины данных на основе многомерной системы управления базами данных (примером такой системы является Oracle Express Server). Такие СУБД почти идеально подходят для целей разработки OLAP-систем, но пока не позволяют хранить сверхбольшие объемы данных (предельный размер многомерной базы данных составляет 10-40 Гбайт). В данном случае это и не требуется, поскольку речь идет о витринах данных. Заметим, что витрина данных не обязательно должна быть полностью сформирована. Она может содержать ссылки на хранилище данных и добирать оттуда информацию по мере поступления запросов. Конечно, это несколько увеличивает время отклика, но зато снимает проблему ограниченного объема многомерной базы данных.
Наконец, на третьем уровне находятся клиентские рабочие места конечных пользователей, на которых устанавливаются средства оперативного анализа данных.
Подходы и имеющиеся решения
Компания IBM
Решение компании IBM называется A Data Warehouse Plus. Целью компании является обеспечение интегрированного набора программных продуктов и сервисов, основанных на единой архитектуре. Основой хранилищ данных является семейство СУБД DB2. Преимуществом IBM является то, что данные, которые нужно извлечь из оперативной базы данных и поместить в хранилище данных, находятся в системах IBM. Поэтому естественная тесная интеграция программных продуктов.
Предлагаются три решения для хранилищ данных:
(1) Изолированная витрина данных. Предназначен для решения отдельных задач вне связи с общим хранилищем корпорации.
(2) Зависимая витрина данных. Аналогичен изолированной витрине данных, но источники данных находятся под централизованным контролем.
(3) Глобальное хранилище данных. Корпоративное хранилище данных, которое полностью централизовано контролируется и управляется. Глобальное хранилище данных может храниться централизовано или состоять из нескольких распределенных в сети рынков данных.
Oracle
Решение компании Oracle в области хранилищ данных основывается на двух факторах: широкий ассортимент продуктов самой компании и деятельность партнеров в рамках программы Warehouse Technology Initiative. Возможности Oracle в области хранилищ данных базируются на следующих составляющих:
наличие реляционной СУБД Oracle 7, которая постоянно совершенствуется для лучшего удовлетворения потребностей хранилищ данных; существование набора готовых приложений, обеспечивающих возможности разработки хранилища данных; высокий технологический потенциал компании в области анализа данных; доступность ряда продуктов, производимых другими компаниями.
Hewlett Packard
Работы, связанные с хранилищами данных, выполняются в рамках программы OpenWarehouse. Выполнение этой программы должно обеспечить возможность построения хранилищ данных на основе мощных компьютеров HP, аппаратуры других производителей и программных компонентов. Основой подхода HP являются Unix-платформы и программный продукт Intelligent Warehouse, который предназначен для управления хранилищами данных.
Основа построения хранилищ данных, предлагаемая HP, оставляет свободу выбора реляционной СУБД, средств реинжиниринга и т.д.
NCR
Решение компании направлено на решение проблем корпораций, у которых одинаково сильны потребности и в системах поддержки принятия решений, и в системах оперативной аналитической обработки данных. Предлагаемая архитектура называется Enterprise Information Factory и основывается на опыте использования системы управления базами данных Teradata и связанных с ней методах параллельной обработки.
Informix Software
Стратегия компании в отношение хранилищ данных направлена на расширение рынка для ее продукта On-Line Dinamic Parallel Server. Предлагаемая архитектура хранилища данных базируется на четырех технологиях: реляционные базы данных, программном обеспечении для управления хранилищем данных, средствах доступа к данным и платформе открытых систем. Три последние компонента разрабатываются партнерами компании. После выхода Универсального Сервера, основанного на объектно-реляционном подходе, можно ожидать, что и он будет использоваться для построения хранилищ данных.
SAS Institute
Компания считает себя поставщиком полного решения для организации хранилища данных. Подход основан на следующем:
обеспечение доступа к данным с возможностью их извлечения из самых разнообразных хранилищ данных (и реляционных, и нереляционных); преобразование данных и манипулирование ими с использованием 4GL; наличие сервера многомерных баз данных; большой набор методов и средств для аналитической обработки и статистического анализа.
Sybase
Стратегия компании в области хранилищ данных основывается на разработанной ей архитектуре Warehouse WORKS. В основе подхода находится реляционная СУБД Sybase System 11, средство для подключения и доступа к базам данных OmniCONNECT и средство разработки приложений PowerBuilder. Компания продолжает совершенствовать свою СУБД для лучшего удовлетворения потребностей хранилищ данных (например, введена побитная индексация).
Software AG
Деятельность компании в области хранилищ данных происходит в рамках программы Open Data Warehouse Initiative. Программа базируется на основных продуктах компании ADABAS и Natural 4GL, собственных и приобретенных средствах извлечения и анализа данных, средстве управления хранилищем данных SourcePoint. SourcePoint позволяет автоматизировать процесс извлечения и пересылки данных, а также их загрузки в хранилище данных.
Построение корпоративных аналитических
Илья Гусев, Терн
Компания и продукты Предлагаемые программные продукты DSS/OLAP фирмы Business Objects позволяют создать систему Поддержки Принятия Решений (DSS) над источниками данных, отражающими произвольную предметную область. Другими словами, система может использоваться в учреждениях, банках, торговых и производственных предприятиях. Продукты DSS/OLAP BusinessObjects могут обеспечить широкий спектр конфигураций Системы Поддержки Принятия Решений - от отдельных рабочих мест DSS и приложений OLAP до централизованной системы с применением технологий Internet/Intranet. С другой стороны, BusinessObjects может быть использован для получения информации как из баз данных SQL, в том числе организованных как DataWarehouse, так и быть средством front-end для складов данных, использующих специализированные многомерные СУБД (Arbor Essbase, Oracle Express, Informix MetaCube). Продукты BusinessObjects сейчас установлены более чем в 5000 компаниях по всему миру, а оборот компании за прошлый год составляют более 100 млн $US. Высокие темпы роста продаж продуктов BusinessObjects в России свидетельствуют об исключительно хорошем соответствии возможностей этих продуктов сегодняшнему уровню требований к системам OLAP. Мы (компания ТЕРН) выбрали BusinessObjects после десяти месяцев практического сравнения аналогичных продуктов OLAP нескольких фирм на круге задач, с которыми мы сталкиваемся при внедрении систем автоматизации предприятий. Главными критериями для нас являлись: полнота семантического описания источников данных, которая давала бы возможность надежной работы с произвольными структурами баз данных, наличие понятных и, вместе с тем, развитых средств построения печатных отчетов и аналитики, простота администрирования и небольшое время внедрения. Средства OLAP BusinessObjects оказались настолько хорошо продуманными, что во многих случаях оказалось возможным не использовать выделенные хранилища данных DataWarehouse, обеспечивая при этом удобный доступ к информации в уже существующих базах. По опросу пользователей Oracle, проводимом независимым журналом Oracle Technical Journal, BusinessObjects был признан лучшим продуктом DSS/OLAP1996 года. Продукты Семантический слой Эта подсистема, которая позволяет конечным пользователям OLAP формулировать запросы к базе данных, используя свои привычные термины, имеет в BusinessObjects особенности, пока еще редкие в продуктах такого класса.
BusinessObjects исходно ориентировал свои продукты как средство построения отчетов и OLAP для реляционных баз данных оперативных приложений, т.е. имеющих такие структуры таблиц и связей, которые оптимизированы на выполнение коротких транзакций. Такие базы, как правило, имеют большое (десятки, сотни) количество таблиц с очень сложной общей структурой связей. Аналитическую информацию здесь часто приходится извлекать из не связанных непосредственно групп таблиц. В BusinessObjects применена схема генерирования скриптов SQL по предварительно описанной программистом модели данных (Universe). Скрипты могут состоять из значительного числа операторов SELECT, которые могут сильно различаться по своей структуре. Полученные выборки синхронизируются между собой по той же модели данных. Эти особенности дают возможность корректно работать по практически произвольным структурам отношений и связей между таблицами, не ограничиваясь простейшими "звездными" или "снежиночными". Вместе с тем, семантический уровень BusinessObjects позволяет работать и с базами данных, организованными как RDBMS DataWarehouse (Informix MetaCube, Sybase IQ и др.), поскольку можно определять специфичное для этой технологии контекстное использование агрегатных таблиц и данных. Компания BusinessObjects и готовые модели данных для коммерческих приложений - SAP/R3, Oracle applications и др. Query & Reporting Формирование запросов в пользовательских терминах, их исполнение, интеграция данных из разных источников, просмотр данных с возможностями детализации и обобщения по иерархиям измерений и построение полноценных отчетов, как экранных так и печатных, должно производиться полностью в рамках одного приложения. BusinessObjects принял это требование как постулат, и поставляемый продукт Reporter с опцией Explorer это обеспечивают. Уровень подготовки специалиста, создающего отчеты, может быть примерно как у среднего пользователя Excel. Пользователь составляет запрос к источнику данных, используя подготовленный программистом каталог терминов Universe.
Reporter автоматически преобразует этот запрос в скрипт SQL, оптимизируя количество и состав операторов SELECT, и производит выборку данных в локальный файл отчета BusinessObjects. В процессе дальнейшей работы выборка может освежаться, пополняться или редуцироваться по желанию пользователя. Данные из выборок отображаются в отчет в виде таблиц, перекрестных таблиц, графиков или отдельных ячеек. Одни и те же данные могут иметь несколько, в том числе и различных, отображений в зависимости от требований к документу. Пользователь может определять производные (вычисляемые) значения в виде контекстно-зависимых или "жестких" переменных и использовать их наравне с основными данными в локальных операциях сортировки, фильтрации, агрегирования, ranking и других основных операциях, наиболее часто используемых при составлении отчетов. Документ BusinessObjects может содержать данные, получаемые одновременно из разных источников. Для этого достаточно определить несколько запросов и, при необходимости, указать по каким полям выборки связаны между собой, задавая тем самым логическую структуру данных отчета. OLAP Средства навигации по многомерным выборкам встроены непосредственно в среду подготовки отчетов. При этом база данных - источник совсем не обязательно должна иметь многомерную структуру. Использование данных в качестве измерений, агрегируемых значений или атрибутов измерений назначается при описании логической модели данных в BusinessObjects. Аналитические приложения BusinessObjects является сервером OLE Automation, поэтому можно разрабатывать как простейшие приложения для навигации по документам, так и полномасштабные аналитические приложения OLAP. BusinessObjects - решение корпоративного масштаба Безопасность Эта функциональность обеспечивается продуктом Supervisor. При помощи Supervisor создается база данных, которая может быть открыта на любом корпоративном SQL сервере, доступном со всех рабочих мест. Администратор может определять время работы пользователя, его права по доступу к данным и функциональным возможностям системы.
При назначении прав доступа к данным администратор может ограничить конкретного пользователя как по доступу к отдельным объектам каталогов Universe, так и по значениям данных путем прописывания соответствующих фрагментов запросов SQL в условиях WHERE. Доступная функциональность задается как назначением видимости органов управления приложением, так и запрещением отдельных операций (вплоть до копирования в Clipboard). Все операции администрирования могут производиться с одного рабочего места администратора Supervisor. Одновременно могут администрироваться более 10.000 пользователей и этому есть живые примеры (Shell, Defense Medical Logistics (US Department of Defense), Lucent). Работа в Web В 1997 году компания BusinessObjects выпустила новый продукт WebIntelligence, который позволяет обращаться к корпоративной информации, пользуясь стандартным Web броузером, имеющим встроенную виртуальную машину Java. Нетехнический пользователь может строить и просматривать отчеты, задавая произвольные запросы к базам данных опять же в терминах своего бизнеса. WebIntelligence использует те же Universe, что и другие средства BusinessObjects. Как и в предыдущих продуктах, пользователю WebIntelligence нет необходимости привлекать специалистов для проведения каких либо операций по конструированию выборок, промежуточных многомерных баз и т.д. Сохраняется возможность работы с репозиториями и способы администрирования. В WebIntelligence реализована схема тонкого клиента, работающего с удаленным сервером приложений. Средством формулирования запросов и работы с отчетом является аплет Java, код которого автоматически передается в броузер в момент первого обращения к серверу приложений. Обновления кода происходят в дальнейшем только при появлении его новых версий. Формирование выборок и построение документа производится на сервере приложений WebIntelligence, который передает изображение документа клиенту в виде страниц HTML. Сервер WebIntelligence использует стандартные средства доступа к корпоративным базам, такие как SQL*Net for Oracle, Open Client for SQL Server или ODBC. Почему пользователи выбирают BusinessObjects
надежный партнер, один из лидеров рынка, имеющий передовую технологию поддержка практически любых структур баз данных приложений работа со структурами данных, характерными для DataWarehouse и многомерными СУБД генерация комплексных запросов SQL возможность генерации "оптимизированных" запросов одновременная интерактивная работа с множественными независимыми источниками данных полная интегрированность "экранной" аналитики с подготовкой профессиональных отчетов для получения новых данных не требуется привлекать специалистов IT фоновая обработка отчетов и выполнение отчетов по событиям публикация в Web доступ из Internet/Intranet простая установка, есть готовые модели данных для крупных коммерческих приложений глубокий уровень и удобство администрирования с одной точки управления масштабируемость от рабочей группы до корпорации
Терн
Илья Гусев
Тел.: (095) 928-6078 Факс (095) 915-5860
| |
Реализация СУБД Teradata в архитектуре MPP (5100 и 5150)
Реализация СУБД Teradata в архитектуре MPP (5100 и 5150) На следующем рисунке показано использование СУБД Teradata в системе MPP, состоящей из четырех кластеров, каждый из которых состоит из четырех узлов SMP, соединенных между собой шиной BYNET. Как и в случае с однокластерной системой, на каждом узле работают несколько виртуальных процессоров AMP и несколько виртуальных процессоров PE. При этом можно либо распределить равномерно процессы по узлам, либо приписать каждому AMP или PE определенный узел. Слой передачи сообщений реализован в виде комбинации программного обеспечения PDE и BYNET. Кластеры не разделяют ни программное, ни аппаратное обеспечение. Архитектура СУБД share nothing естественно гармонирует с архитектурой системы, а возможности масштабируемости практически беспредельны. Teradata MPP
Мощь MPP архитектуры Данная конфигурация может обрабатывать от 2 до 32 ТБ данных. Общая пропускная способность шины BYNET равна 320 МБ/сек. Для сложных запросов по поддержке принятия решений, в случае полного сканирования диска, система в данной конфигурации может выполнять до 40000 операций чтения в секунду. Строки в 163-байта располагаются в блоках по 32К, поэтому 1.6 миллиона строк могут составлять до 64 гигабайтов памяти, ежесекундно анализируемых 256 процессорами Pentium для выполнения сложных пользовательских SQL-запросов. 1.6 миллион строк в секунду - скорость впечатляющая. Вот она, мощь MPP архитектуры и СУБД Teradata! BYNET В настоящее время сеть BYNET позволяет соединять максимум 512 узлов с максимальным объемом базы данных в 128 ТБ и пропускной способностью системы 10 ГБ/сек. СУБД Teradata для ОС UNIX, выпущенная в декабре 1995 года, поддерживает базы данных объемом до 128 ТБ, поэтому как только появится оборудование для создания более крупных систем, будет проведена сертификация СУБД Teradata для работы на таком оборудовании. Теоретический предел возможностей сети BYNET составляет 4096 узлов. Благодаря современной технологии проектирования узлов, данный предел может быть реально достигнут.
На таком количестве узлов можно разместить 16384 гигабайта памяти, 65536 процессоров и базы данных объемом в 1000 терабайт (1000 терабайт называется петабайт). Тем не менее, первый релиз данной технологии вовсе не означает достижения какого-либо технологического предела, поскольку уже в 1997 году объемы баз данных в сферах розничной торговле и телекоммуникаций превысят 70 ТБ. Петабайтные базы данных будут содержать нереляционные объекты, такие как текст, звук, видео и телеметрическую информацию. Защита инвестиций По мере роста пользовательских систем от архитектуры SMP, к кластерным системам и MPP системам, инвестиции, вложенные в аппаратное и программное обеспечение, должны быть защищены на все 100%. Например, обновление системы 5100S до системы 5100C выполняется за счет установки дополнительных узлов, рабочей станции администратора системы (AWS) и соединительной платы для существующих узлов 5100S. Аналогичным способом система 5100C обновляется до 5100M. Инвестиции, вложенные в аппаратуру 5100C, защищены на 100%. Обновление системы выполняется на месте. СУБД Teradata, работающая на 5100S - это та же самая СУБД, работающая на 5100C и на 5100M. Инвестиции в базы данных и все приложения также защищены на 100%. Гибкость СУБД Teradata позволяет добавлять в существующие системы дополнительные узлы и стойки следующего поколения. Баланс в системе поддерживается за счет распределения виртуальных процессоров по всем узлам. По мере добавления в систему более мощных узлов увеличивается и число виртуальных процессоров. Аналогичным образом первоначальные инвестиции в аппаратуру 5100 будут защищены на 100% , даже при появлении технологически новых систем. ТЕХНИЧЕСКИЕ особенности СУБД Teradata СУБД Teradata для UNIX предоставляет широкие возможности. Эти возможности рассматриваются в последующих разделах. Возможности клиента базы данных Пользовательские приложения могут работать с СУБД Teradata через интерфейс уровня вызовов CLI (Call Level Interface), Micro Teradata Director Program (MTDP) и Micro Operating System Interface (MOSI).
Эти программные компоненты направляют операторы SQL системе управления базой данных и возвращают ответы на запросы приложению. Процедуры CLI, MTDP и MOSI хранятся в библиотеках, которые линкуются с приложением. Teradata поддерживает стандартные программные интерфейсы, такие как ODBC, JDBC и ESQL. Компоненты программного обеспечения клиента
Возможности сервера баз данных На серверах World Mark функционирует серверная часть СУБД. Клиентское программное обеспечение поставляется для IBM MVS и VM, UNIX System V (включая 5100), DOS, Windows, OS/2, Macintosh и других платформ. Клиентские приложения направляют операторы SQL на выполнение в СУБД. Клиентские платформы подключаются к серверу либо через локальную сеть (LAN-attached clients), либо через каналы связи (channel-attached clients). Последнее относится к мэйнфреймам. Средства разработки клиентских приложений СУБД Teradata для OC UNIX состоят из препроцессоров ESQL с языков (COBOL, C и PL/I), а также программных интерфейсов CLI и Teradata Director Program. В программное обеспечение для мэйнфреймов IBM входят модули связи с CICS и IMS/DC. Кроме того разработка прикладного ПО возможна через имеющиеся драйверы ODBC и JDBC, с использованием таких средств как MS Visual Basic, MS Visual C++ и др. В программное обеспечение сервера баз данных, также входит шлюз базы данных (DBS Gateway), который преобразует внешние сетевые протоколы во внутренние протоколы сообщений СУБД. SQL Teradata SQL обеспечивает полный уровень совместимости с ANSI-стандартом языка SQL. Кроме того имеются свои собственное расширения стандарта SQL, специфичные исключительно для СУБД Teradata. Пользователь, работающий с СУБД Teradata через программу BTEQ (клиентская программа для интерактивной работы с БД), может установить для себя либо режим ANSI SQL, либо Teradata SQL. К некоторым из важных особенностей относятся:
Оператор ALTER TABLE, который добавляет столбцы или индексы к существующим таблицам Обновляемые представления (VIEW), включая поддержку виртуальных столбцов Вложенные подзапросы Макросы SQL: именованные последовательности операторов SQL Функции справки (HELP и SHOW), которая может показывать структуры БД, таблиц, представлений и статистические данные. Функция EXPLAIN - используется следующим образом.
Перед SQL запросом достаточно поставить слово explain, explain select ... (текст запроса). Результатом будет подробное объяснение пошагового выполнения запроса на английском языке
Препроцессоры В СУБД Teradata входят следующие препроцессоры для языков:
VS COBOL, C и PL/1 для сред MVS и VM; ANSI C для среды UNIX; COBOL
Интерфейс уровня вызова (Call-Level Interface - CLI) Интерфейс уровня вызова (Call-Level Interface - CLI) - это набор библиотечных функций, которые предоставляют прикладной программе интерфейс к СУБД Teradata. Вызовы CLI обычно поставляются в препроцессоре языка, но они также могут вызываться непосредственно в языках, для которых нет препроцессоров. В данный момент для большинства платформ доступен CLI версии 2 (CLIv2). Словарь метаданных В СУБД Teradata включен полностью интегрированный словарь метаданных (Data Dictionary), который позволяет пользователям получать информацию об объектах базы данных (например, таблицах и столбцах). Словарь метаданных состоит из системных таблиц и представлений, потому к нему можно обращаться с помощью стандартного языка SQL. Безопасность в Словаре данных обеспечивается с помощью механизмов представлений (VIEW) и привилегий (PRIVILEGES). Для администраторов баз данных существуют специальные представления, в которых содержится информация о доступе, использовании и владельцах. Управление транзакциями Teradata полностью поддерживает концепцию транзакций и предоставляет широкие возможности по журналированию, управлению параллельной работой, восстановлению данных и использованию контрольных точек. Защита целостности данных Целостность данных поддерживается в СУБД Teradata с помощью следующих возможностей: Управление параллельной работой Teradata предоставляет возможность блокировки на уровне базы данных, таблицы и хэш-значений для строк. Блокировки имеют четыре уровня: эксклюзивный (exclusive), на запись, на чтение и на доступ. Защита при восстановлении Данные защищены от сбоев в локальных или распределенных приложениях, от сбоев процессора или диска, а также от некорректного завершения приложения.
Система автоматически выполняет операции по восстановлению и возобновляет работу. Резервное копирование и архивация баз данных В дополнение к возможностям по архивации в режиме "off-line", предоставляемым утилитой Архивации и Восстановления (Archive and Recovery utility) и функцией Архивации и хранения (Archive and Storage Facility), в Teradata также доступны постоянное и временное журналирование. Все операции выполняются параллельно. Журналирование Для обеспечения целостности транзакций в СУБД Teradata используется постоянное и временное журналирование. Временный журнал (Transient Journal) Во временном журнале хранятся образы строк перед тем, как они изменяются в ходе транзакции, выполняющей обновление данных. После фиксации транзакции эти образы удаляются из журнала, позволяя повторно использовать освободившееся пространство. Если транзакция не может быть завершена, то Teradata выполняет автоматический "откат" транзакции и строки таблицы БД возвращаются в первоначальное состояние, используя образы во временном журнале. Постоянный журнал (Permanent Journal) Постоянные журналы - это необязательные таблицы, в которые записываются образы строк до выполнения транзакции и/или после фиксации транзакции. В качестве дополнительной защиты допускается двойное копирование образов, даже если для журналируемых таблиц, не используется механизм защиты fallback. Постоянные журналы позволяют выполнять откат (roll back) или прокрутку таблицы или всей базы данных (roll forward) к той или иной контрольной точке. Механизм защиты данных - Fallback При необходимости СУБД Teradata может хранить две копии таблиц: основную и аварийную копию, распределенные между виртуальными процессами AMP. При нормальной работе чтение производится только из основной копии, а обновление выполняется в обеих копиях. Если при сбое первая копия становится недоступной, то для чтения и обновления используется аварийная копия. С появлением RAID и Кластеров в большинстве случаев использование аварийной копии стало излишним. Кластеры Несколько узлов 5100, 5150 или 4700 могут быть соединены в конфигурацию с разделяемым диском.
Такая конфигурация называется кластером. При сбое любого узла в кластере все остальные узлы разделяют его нагрузку, до тех пор пока он не будет восстановлен. Это позволяет добиться сбалансированного восстановления от сбоев и избежать значительного ухудшения производительности, которое наблюдается на многих MPP-платформах с неработающими компонентами. Восстановление - операционная система не перезапускается В случае перезагрузки СУБД происходит перезапуск всех ее программных компонентов. Однако в СУБД Teradata операционная система не перезапускается, что обеспечивает более быструю перезагрузку всей системы. Во время процесса восстановления каждый виртуальный процесс AMP восстанавливает по журналу транзакций таблицы данных, а также используя т.н. системную таблицу, называемую cylinder indexes и постоянно расположенную на диске, строит таблицу master index, постоянно расположенную в оперативной памяти. Восстановление виртуальных процессов AMP выполняется параллельно и асинхронно. Обеспечение защиты данных от несанкционированного доступа. СУБД Teradata поддерживает предоставление и отмену привилегий для каждого пользователя на любую таблицу, представление, макрос или базу данных. Привилегии даются на: создание или удаление одного из данных объектов, выполнение макроса, вставку, выборку, обновление или удаление строк в таблице, а также на предоставление привилегий другим пользователям. Идентификация пользователя происходит по его логическому имени и паролю, логическое имя также используется для назначения дискового пространства. Все функции безопасности определены посредством языка Teradata SQL. Поддерживается уровень безопасности C2. Поддержка СУБД Teradata В ОС UNIX Для поддержки СУБД Teradata для ОС UNIX используются следующие основные компоненты:
Программа Database Window Утилиты поддержки Интерфейсы и утилиты для клиентов, подсоединенных через каналы связи Продукты расширения для клиентов, подсоединенных по каналам связи Интерфейсы и утилиты для клиентов, подсоединенных через сеть (LAN) Программное обеспечение для шлюза базы данных (DBS Gateway) Программное обеспечение для поддержки каналов связи
Назначение этих компонентов объясняется в последующих разделах. Отдельное внимание уделено новым возможностям. Программа Database Window Database Window - это консольная программа для системного администрирования СУБД Teradata. Она может быть запущена в любой среде, поддерживающей Xwindows® . При запуске Database Window появляется главное окно, из которого пользователь может вызвать окно супервизора, окно сообщений базы данных или любое из окон приложений. Утилиты поддержки Далее приводится список утилит, которые используются системными инженерами, администраторами баз данных и системными администраторами. Данные утилиты предоставляют базовые функции по обслуживанию СУБД Teradata. Эти утилиты, за исключением Pdeconfig, запускаются из приложения Database Window на рабочей станции по администрированию системы (AWS). Pdeconfig запускается как приложение UNIX. Возможности, реализованные в Teradata для UNIX, выделены жирным шрифтом.
AbortHost - отменяет незавершенные транзакции Checktable - проверяет целостность и непротиворечивость таблицу Config - задает логическую конфигурацию СУБД (Виртуальные процессы AMP и виртуальные процессы PE) DBSControl (Управление СУБД) - позволяет задавать для СУБД глобальные runtime флаги DIP (Программа инициализации базы данных) - инициализирует базу данных Vproc Manager (Диспетчер Vproc) - позволяет специально обученным сотрудникам получать статистическую информацию о Виртуальных процессрах и изменять различные параметры Виртуальных процессоров Gateway Control Utility (утилита управления шлюзом) - управляет сетевыми соединениями Ferret - позволяет специально обученным сотрудникам просматривать и устанавливать различные параметры, контролирующие использование дискового пространства, без разрушения данных файловой системы. После установки параметров Ferret может динамически переконфигурировать данные на диске так, чтобы они соответствовали новым параметрами. Filer - позволяет специально обученным сотрудникам получать сведения, необходимые для поиска и исправления ошибок в файловой системе.
Эту утилиту следует использовать с большой осторожностью, поскольку она иногда обходит средства безопасности при отображении или изменении параметров. (Эта программа предоставляется для использования только специалистами NCR.) Pdeconfig - инициализирует PDE и конфигурирует аппаратное обеспечение для виртуальных процессов QryConfig (Запрос по конфигурации) - отображает текущую логическую конфигурацию СУБД QrySessn (Запрос по сеансам) - отображает информацию о статусе сеансов RcvManager (Диспетчер восстановления) - отображает статус процесса восстановления данных Rebuild (Построение таблицы) - восстанавливает таблицу или таблицы из аварийной копии, механизма fallback Reconfig - перераспределяет данные на дисках. Выполняется автоматически при добавлении или удалении виртуальных процессов AMP Showlocks - показывает блокировки на базах данных и таблицах SysInit (Инициализатор системы) - позволяет специально обученным сотрудникам инициализировать системные таблицы Teradata и все пользовательские таблицы
Базовое программное обеспечение для клиентов,
подсоединенных через сеть (LAN) Базовое программное обеспечение является интерфейсом между СУБД Teradata и приложением, работающим на подсоединенной через сеть клиентской платформе. В базовое программное обеспечение входят:
Micro Teradata Director Program (MTDP) Micro Operating System Interface (MOSI) - библиотека сервисов для конкретной операционной системы и коммуникационного протокола связи. MTDP вызывает процедуры в библиотеке MOSI (вместо прямых обращений к библиотеке операционной системы) для выполнения таких системных сервисов, как обработка прерываний, обработка ввода/вывода, а также связи по сети. Интерфейс уровня вызова (CLI) Версии 2
Утилиты для клиентов, подсоединенных через сеть (LAN) В состав утилит, запускающихся на подсоединенных через сеть клиентских платформах, входят:
Basic Teradata Query (BTEQ) - выполнение базовых запросов к СУБД Teradata FastLoad - загрузка данных в пустые таблицы. Preprocessor для языка С - для платформ NCR, на которых установлен UNIX Preprocessor для языка COBOL - для платформ NCR, на которых установлен UNIX
Программный интерфейс для клиентских утилит, подсоединенных
через сеть и программное обеспечение шлюзов Программный интерфейс для утилит клиента и программное обеспечение шлюзов, на подсоединенных через сеть клиентских платформах, состоит из:
WINCLI - для IBM PC и совместимых машин, на которых установлена операционная система MS-DOS и Microsoft Windows ODBC - для IBM PC и совместимых машин, на которых установлена операционная система Microsoft Windows Модуль доступа OMNI для СУБД Teradata Database Query Manager (Диспетчер запросов к базе данных)
Клиентское программное обеспечение В дополнение к базовому программному обеспечению клиентов и клиентским утилитам, подключающимся через сеть, для платформ 5100/5150/4700 также доступно следующее программное обеспечение:
Archive Storage Facility (ASF2) - обеспечивает полную архивацию и восстановление баз данных Teradata на ленточные устройства. Это избавляет от необходимости делать архивацию через мэйнфрейм IBM. Утилита ASF2 также используется, чтобы записывать на ленты дампы памяти, которые могут быть затем проанализированы сотрудниками из службы технической поддержки. FastExport - выгрузка данных из таблиц MultiLoad - загрузка и обновление данных в пустых и непустых таблицах
Программное обеспечение шлюза DBS Gateway DBS Gateway преобразует внешние сетевые протоколы во внутренние протоколы сообщений СУБД. Первая версия СУБД Teradata для UNIX на платформе 5100 поддерживает через шлюз порядка 600 сеансов. Программное обеспечение поддержки каналов связи Программное обеспечение поддержки каналов связи IBM обеспечивает соединение с мэйнфреймом IBM или другими совместимыми мэйнфреймами. Поддержка каналов на 5100 предоставляет до 8 каналов связи на узел и 120 сеансов на канал. Заключение В настоящее время Teradata является одним из лучших в мире продуктов для массивно-параллельной обработки (MPP). Это единственный продукт, имеющий четырнадцатилетнюю историю в технологиях параллельной обработки данных и единственный продукт, по-настоящему поддерживающий хранилища данных, в наиболее крупных компаниях мира.
Это единственный продукт, поддерживающий хранилища данных с терабайтными объемами. В настоящее время, на UNIX платформе, на серверах WorldMark 4700/5100/5150 СУБД Teradata достигла выдающейся производительности в SMP-системах, наивысшей степени надежности в кластерных системах и непревзойденной мощности в MPP-системах. Масштабируемое аппаратное и программное обеспечение, а также привлекательная ценовая политика создают одно из лучших решений для предприятий, использующих DSS системы. Мы широко открыли дверь в будущее! Для тех, кто планирует внедрять средние или крупные системы хранения данных, Teradata - это единственный реальный выбор. Совсем недавно компания NCR представила новое поколение MPP серверов это модели NCR WorldMark 4700 и 5150. Обе модели представляю собой принципиально новое решение сочетая в себя традиционные для серверов компании NCR черты такие как непревзайденная производительность, масштабируемость, высокая готовность, рекордное соотношение цена/производительность и как итог беспрецедентная защита инвестиций. Обе машины используют стандартные Intel компоненты и архитектуру PCI и позволяют клиентам начать с нескольких десятков гигабайт и расти до десятков терабайт.
NCR
Константин Лисянский, Дмитрий Слободяников
Тел.: (095) 961-3030 Факс (095) 961-3031
E-mail:
| |
Software AG: вчера, сегодня, завтра
Ольга Китова, Software AG
Software AG (г. Дармштадт, ФРГ, основана в 1969 году) - вторая по величине в Европе и Германии независимая компания, входящая в число 20 крупнейших производителей программного обеспечения в мире. Она имеет представительства и партнеров более чем в 80 странах мира. Основные направления деятельности - разработка, продажа, последующее обслуживание и сопровождение высокоэффективных программных изделий, служащих основой для интеграции информационных систем предприятия. Более 5000 больших и средних предприятий во всем мире полагаются на продукты и технологии Software AG.
Основные изделия фирмы, объединенные открытой интегрированной архитектурой и принесшие ей мировое признание, - это тpи семейства пpогpаммных пpодуктов во главе с ADABAS, NATURAL и ENTIRE. Портфель продуктов Software AG дополняется профессиональным сервисом, вместе они покрывают весь спектр потребностей информационных систем крупных предприятий и организаций, позволяют интегрировать существующие инфраструктуры информационных технологий и новые разработки.
NATURAL - является ядром комплекса интегрированных средств четвёртого поколения (4GL) для разработки прикладных систем и задач в централизованной традиционной многополь-зовательской архитектуре и/или в распределенной архитектуре клиент/сервер, которые обеспечивают идентичные функциональные возможности и одинаково высокую продуктивность на серверных платформах и в среде графических рабочих станций. Семейство NATURAL включает в себя универсальную среду символьного и графического событийно-управляемого программирования NATURAL Lightstorm, генератор прикладных систем CONSTRUCT, активный словарь-репозитарий PREDICT и набор мощных CASE-инструментов для проектировщиков инфор-мационных систем.
ENTIRE - семейство изделий промежуточного слоя (middleware), которое обеспечивает пpозpачную работу пpикладных систем в неоднородной сетевой среде различных ЭВМ, операционных систем и баз данных, позволяет создавать вычислительные системы в шиpоком спектpе совpеменных аpхитектуp, начиная от удаленного доступа пользователей к базам данных и до многоуpовневых систем, выполняющих pаспpеделенные вычисления в pежиме клиент/сеpвеp.
Распространив технологию DCOM фирмы Microsoft на ряд платформ UNIX и на мэйнфреймы, Software AG обеспечила возможность использования DCOM в гетерогенных вычислительных сетях масштаба предприятия, что формирует основу технологии "componentware", которая существенно повысит продуктивность разработки систем за счет повторного использования программных компонент.
ADABAS - высокопроизводительная система управления базами данных для больших объемов информации, обладающая очень высокой скоростью обработки транзакций, которая в совокупности с рядом дополнительных изделий, существенно расширяющих ее возможности до мультимодельной системы, позволяет строить как тpадиционные иеpаpхические, сетевые и pеляционные SQL базы данных, так и сложные текстовые информационно-поисковые и интегpиpованные системы, географические и системы обработки изображений, постpеляционные стpуктуpы для моделиpования человеческой деятельности, экспертного анализа сложных пpоизводственных процессов и т.д.
Современные версии продуктов Software AG поддерживают Internet и Web-технологии, что позволяет предприятиям использовать существующие прикладные системы при работе в реальном масштабе времени в сетях Internet/Intranet. Продукты Software AG помогают использовать Internet для электронной коммерции - нового канала продаж, обеспечивающего дополнительные конкурентные преимущества для многих компаний.
В феврале 1997 года Software AG объявила о выпуске BOLERO - среды разработки бизнес-приложений, основанных на Web-технологии.
Software AG поддерживает партнерские отношения с различными компаниями-поставщиками оборудования и программного обеспечения, что позволяет покупателям быть уверенными в качестве предлагаемых решений.
В соответствии с предварительными результатами 1997 года оборот Software AG увеличился на 14 процентов с учетом сравнимой структуры компании и составил 725 млн. DM, прибыль до выплаты налогов выросла до 50 млн. DM.
Продукция и широкий диапазон услуг фирмы Software AG находят многообразные сферы применения.
Это промышленность, торговля, транспорт, связь, медицина, банки и страхование, полиция и военные системы, государственное и муниципальное управление, общественные организации и многие другие области человеческой деятельности. На основе продуктов Software AG автоматизируется работа банков Chase Manhattan, Citibank и Deutsche Bank, всех полицейских служб и казначейства Великобритании, страховой компании Prudential Assurance, аппарата Белого дома США, японских компаний Japan Air Lines, Nissan и Nomura Securities, а также многих других. Информационно-поисковая система SPHINX, также созданная на основе изделий фирмы, решает задачу оперативного доступа к данным мировых информационных агентств в телекомпании ZDF (ФРГ).
В России, СНГ и странах бывшего СССР продукция Software AG имеет почти двадцатилетний опыт использования. С 1988 года фирма официально поставляет свои изделия и реализует комплексные проекты в целом ряде организаций России, Украины, Латвии и Эстонии. В их числе: Главное управление информационных ресурсов органов государственной власти Российской Федерации, РАО "ГАЗПРОМ", Министерство путей сообщения, Министерство иностранных дел, ГК "Росвооружение", Департамент морского флота РФ и отдельные пароходства, Государственная Центральная научная медицинская библиотека, МОСКОМЗЕМ Правительства Москвы, РНЦ "Курчатовский институт", издательство "Пресса", нефтедобывающие предприятия Западной Сибири, Чебоксарский завод промышленных тракторов, Мурманский морской завод "Севморпуть", Омский шинный завод, Волжский трубный завод, концерн OTIS, аэропорт "Шереметьево", Югтокобанк Украины, торговый порт и судоремонтный завод в Ильичевске, Черноморское морское пароходство, Министерство связи Украины и другие.
Состав программного комплекса IFS
Модули комплекса можно объединять в различных сочетаниях с учетом специфики различных видов предприятий, образуя целостные комплексы. В зависимости от настройки и модульного состава, комплекс может использоваться на различных видах предприятий:
непрерывное производство сборочное производство проектно-ориентированное производство энергетика транспорт оптовая торговля
Состояние и перспективы Microsoft SQL Server
Алексей Шуленин, Microsoft
Новые и обновленные утилиты
SQL Enterprise Manager Интегрирован с MMC, включает средства взуализации из Visual Data Tools (создание структуры, протягивание отношений, редактирование данных в таблицах по ходу дела, ...) Больше wizard'ов, хороших и разных:
Создание базы, поддержка базы, управление предупреждениями (alerts), импорт/экспорт данных, тиражирование, хранимые процедуры, ... Index Tuning Wizard- моделирование рабочей нагрузки (множества запросов и определение наиболее подходящих индексов. Взаимодействует с Query Optimizer. Не учитывает одновременных пользователей.
Нельзя администрить предыдущие версии SQL Server- они не понимают новую модель SQL-DMO
Использовать старый Enterprise Manager или написать свой snap-in для 4.2, 6.х
SQL Server Agent (бывший SQL Executive) Основные понятия: jobs (бывшие tasks), operators и alerts Job- последовательность шагов
Каждый шаг - batch на T-SQL Выбор действия в зависимости от удачного / неудачного выполнения шага (выход с сообщением, переход на шаг № ...) Время и частота выполнения задач планируется администратором
Operator - лицо, которому посылается сообщение по сети, e-mail или пэйджингу о результатах выполнения job или наступления alert Назначение выполнения job и/или отправки сообщения для operator
на возникновение ошибки с определенным номером в определенной БД на достижение порогового значения каким-либо показателем в SQL Performance Monitor
SQL Server Profiler (бывший SQL Trace) В отличие от Trace, кот. использовал ODS, Profiler встроен в Engine и обладает большими возможностями
Может смотреть, что делают SP, проигрывать ранее записанную последовательность действий, имеет лучшие возможности фильтрации и группирования событий SQL Query Analyzer (бывший isql/w)
Улучшенный Showplan и графический план выполнения запроса Выделение языковых конструкций цветом Настройка вида результатов для удобочитаемости (grid)
Механизм хранения
Механизм хранения управляет размещением данных на жестких носителях распределением памяти вводом / выводом контролем одновременного доступа к данным журналированием транзакций резервным копированием и восстановлением Цель - полностью отделить реляционный engine (процессор запросов) от механизма хранения и заставить QP общаться с ним только через уровень OLE DB
Базы данных и файлы
Понятие "device" уходит Device => file, БД может лежать на нескольких файлах, обратное теперь неверно БД и журнал транзакций теперь обязательно лежат на разных файлах (.mdf / .ndf и .ldf) Всего три типа файлов в БД:
primary (.mdf)- cтартовая точка БД, содержит данные + указатели на остальные файлы, может быть только один на БД secondary (.ndf)- необязателен, содержит данные, не поместившиеся в primary, в одной БД может быть много log file (.ldf)- как минимум, один, содержит transaction log
Объекты БД не могут быть приписаны конкретному файлу, для этих целей используется группа
Базы данных и группы файлов
Понятие "сегмент" уходит Файлы могут объединяться в file groups для удобства размещения данных на определенные диски и администрирования
Группе файлов могут назначаться отдельные таблицы, индексы и данные типов text, ntext, image Каждый файл может быть членом только одной группы
Два типа file groups
Default- для primary файлов, системных таблиц и файлов, для которых группа не определена. Всегда одна на БД User-defined- для остальных. Может быть несколько групп на БД Logи не являются частью групп и управляются отдельно от базы
Динамическое управление размером
Новые форматы хранения
Хранение text и image
Полнотекстовый поиск
Расширения DML Предикаты CONTAINS, FREETEXT, функция RELEVANCE, ...
SELECT publication, pub_date, writer FROM magazines WHERE CONTAINS ( article, ' Edison NEAR(WORD,20) "electric%" ' )
Этапы развития Ноябрь 1997- OLE DB провайдер для Index Server 2.0- поиск данных в файловой системе Март 1998- OLE DB провайдер для Site Server 3.0- поиск по документам на Web 2-я половина 1998 г.- поиск по BLOB-полям в Sphinx Возможности легко доступны из приложений
Set rstMain = CreateObject(ADODB.RecordSet) rstMain.Open "SELECT DocAuthor,
FileName FROM SCOPE(' DEEP TRAVERSAL OF ( "D:\Sphinx\tsql\specs") ') WHERE size > 50000", "Provider = MSIDXS;" Блокировка уровня записи
Key Range Locking
Динамическая блокировка
Log Manager
Резервное копирование
Производительность SQL Server 7.0 при on-line backup
Кое-что новое в T-SQL
В связи с введением распределенных запросов имя состоит из 4-х частей Отложенное разрешение имен Можно создать таблицу и тут же сослаться на нее в хранимой процедуре Новое в поддержке курсоров Тип Cursor, переменные можно передавать как параметры Процедуры sp_cursor_list, sp_describe_cursor_columns / _tables Процедуры управления заданиями и предупреждениями sp_add_alert, sp_add_job, sp_add_operator, ... Процедуры управления SQL Profiler xp_trace_* Добавлены новые указания оптимизатору (hash, merge, loop, robust plan, ... ) для операторов DML Новые clauses TOP, PERCENT, WITH TIES для SELECT ALTER PROCEDURE (TRIGGER, VIEW) без изменения прав Опция DROP COLUMN появилась в ALTER TABLE Добавлены новые функции Системные: ObjectProperty, ColumnProperty, DatabaseProperty, ... Статистические: StDev, Var, ... Секьюрные: Is_Member, Is_SrvRoleMember, ... Операции над датами (+/-) Новые типы данных Unicode'овские nchar, nvarchar, ntext длина char, varchar, binary, varbinary- до 8К Тип Uniqueidentifier (GUID), поле ROWGUIDCOL и функция NewID() Substring от данных TEXT и IMAGE
Новое в безопасности
Улучшенная интеграция с безопасностью NT Аутентификация средствами NT (как текущий пользователь- без пароля, как другой- login+pwd) Mixed (возможна аутентификация средствами SQL Srv) Полная поддержка пользователей, групп и ролей Роли могут быть приписаны пользователям и группам NT, а также пользователям Sphinx Роли могут быть вложены Прикладные роли для 3-уровневых систем Позволяют назначать права при доступе через приложение, а не isql Гибкая гранулярность прав и системных ролей Предопределенные роли ServerAdmin, SecurityOfficer, ... Поддержка делегирования в NT 5.0 На 2-м сервере не как удаленный пользователь, а под тем же именем Простое и мощное администрирование
Новое в QP
Multi-index - одновременное использование нескольких индексов (в т.ч.
над одной таблицей) пересечение двух множеств RID по каждому индексу для получения результирующего множества (например, SELECT * FROM orders WHERE cust_id = 987 and order_value >= 10000- индексы по cust_id и order_value) создание covering index из нескольких имеющихся, которые в отдельности не являются covering для данного запроса (covering index позволяет читать значения колонок с leaf-уровня, не залезая в саму таблицу) Merge Join Получить row из outer table Получить row с таким же ключом из inner table Если найден, далее- по inner table, если нет- по внешней Выглядит как обычная nested iteration, но проходится за один шаг и потому выполняется быстрее Hash Join Хэш-функция - свертка ключа, на выходе- значение меньшего размера, основное требование- равномерное распределение, главное преимущество- доступ к записи за одно обращение к таблице Пример - алфавитная записная книжка, первая буква- хэш-функция, буквенные секции - букеты Применяется, когда не задан порядок сортировки или нет подходящих индексов Прочитать меньшую таблицу, нарезать ключи и RID в букеты хэш-таблицы Читать большую таблицу. Хэшировать ключ, проверить хэш-таблицу, повторить. Hash aggregation (sum, ...) Из входной таблицы хэшировать ключ в букет Если он там уже лежит, вычислить агрегат Зациклить, в конце выдать окончательный агрегат
Оптимизация запросов
Запросы оптимизируются по условной стоимости Учитываются факторы количества операций чтения/записи и времени работы процессора А также целевые записи (напр., построить оптимальный план для выбора первых 10 записей) При этом используются Статистика по хранимым данным (плотности и гистограммы) Индексы (например, наличие уникального индекса о чем-то говорит?) Ограничения (DRI, сonstraints, nulls) Constraints и разбиение данных Имеем несколько таблиц: январь, февраль, март Построили совокупный view- union Делаем из него select за один месяц, QP ищет только в одной таблице (при условии, что на нее был определен месячный constraint) Auto partitioning при вводе by value между несколькими таблицами - в следующей версии Обработка массивных обновлений- QP поддерживает индексы При массовых insert, update, delete изменения сортируются по индексу и применяются за один проход (на один индекс)
Технология используется в ВСР, DBCC
Модель оптимизации
Определение самого дешевого дерева на основе пула альтернатив Изменение порядка join'ов (R JOIN S) JOIN T = (R JOIN T) JOIN S Раннее применение условий фильтрации Классы эквивалентности для колонок и другие неявные предикаты Если a=b, то sort(a), очевидно, такой же, как sort(b) Функциональная избыточность Group(e#,ename) = group(e#) ...
Параллельная обработка запросов
Параллельная обработка- одновременное выполнение одного запроса несколькими процессорами Асинхронный ввод/вывод, обслуживание клиентов на разных потоках не рассматривается Дает преимущество только на машинах с >1 СPU Запрос компилируется для параллельного выполнения, формируется параллельный план Единый параллельный план для нескольких процессоров К операторам последовательного плана добавлены Exchange Operators (Distribute, Gather, Repartition)
Exchange Operator
Степень параллелизма
Кол-во процессоров, на которых выполняется данный шаг плана запроса Может отличаться для разных шагов, например, при вычислении результирующего агрегата из промежуточных DOP=1 Insert / update / delete выполняются на одном потоке Но их части, относящиеся к SELECT могут выполняться с DOP>1 Выигрывают долгоиграющие запросы с массивными агрегатами, joinами, unionами и т.д. Не выигрывают OLTP-запросы Число одновременных пользователей >> числа процессоров - предпочтительнее межзапросный параллелизм
Настройка DOP
В конфигурации max DOP меняется от 0 до 32 Default=1- отключить параллельное выполнение Default=0 (автоматическая настройка в зависимости от конкретного запроса
Учет затрат на инициализацию параллельного плана, перемещение данных между потоками При высокой загрузке, росте коннектов, нехватке памяти Sphinx будет стремиться понизить DOP Сost threshold of parallelism- генерировать параллельные планы только для запросов с более высокой стоимостью (конфигурация 0-32767, default=5)
Showplan показывает Exchange-итераторы DOP каждого конкретного запроса можно видеть в SQL Profiler
Сравнение производительности QP
Универсальный доступ к данным
Данные хранятся по-разному, а нужны зачастую все и сразу Руководитель сидит в MS Project, хочет прочитать переписку (e-mail), поднять документ (файловая система) увидеть баланс (СУБД), послушать музыку... Качать это все в базу всякий раз, чтобы воспользоваться ее механизмами обработки?
Потом обратно, а источники уже могли независимо измениться... Целостность? QP СУБД заведомо не оптимизирован под новые типы
Выход - не универсальное хранение, а универсальная обработка Никто, лучше самих данных, не знает, как их обрабатывать OLE DB - набор стандартных интерфейсов: что должна уметь делать компонента обработки данных Аналогия с ODBC, но для данных произвольной природы OLE DB является "родным" интерфейсом Sphinx QP общается с Data Storage через OLE DB DB-Lib эмулируется средствами OLE DB и больше развиваться не будет
Универсальный доступ к данным (3)
Гетерогенные запросы
Распределенные операции в Sphinx
Sphinx и Data Warehousing
Объектная модель службы преобразования данных
Понятие пакета DTS
DTS Designer в Sphinx
Microsoft Data Cube Service
Базовая архитектура: Кэшировать не дисковые страницы, а результаты запросов и метаданные Мгновенный ответ на кэшированные запросы Алгоритмы выведения пропущенных данных и преобразования запросов Агрегация, фильтрация, комбинирование Эффективное распределение обработки запросов и промежуточных вычислений между клиентом и сервером Объединяет серверные и настольные платформы Унифицирует доступ к многомерным данным из Excel, Plato, SQL Server ...
Microsoft
Алексей Шуленин
Тел.: (095) 967-8585 Факс (095) 967-8500
|
SQLBase 7.0. Новая версия - новые возможности
С. Маклаков, Д.Матвеев, Интерфейс Ltd
В конце 1997 года корпорацией Centura Software была выпущена новая версия сервера баз данных SQLBase 7.0. Седьмая версия SQLBase, в период бета-тестирования имевшая название "Voyager", является небольшой по объему базой данных, используемой для создания информационных систем, в том числе ориентированных на Web. SQLBase сервер, используемый с информационными системами или web-приложениям позволяет создавать надежные системы обработки данных, не требующие сложного администрирования и способные удовлетворить большинство потребностей пользователя. Наиболее важной особенностью SQLBase 7.0 является легкость перехода от предыдущих версий, а так же простота обучения. Имеющиеся встроенные диспетчеры, обеспечивающие полную интеграцию с Microsoft Windows NT и Novell NetWare, универсальный механизм репликации с любыми серверами баз данных и API для построения Java-приложений делают SQLBase 7.0 неплохим выбором для разработчиков. SQLBase 7.0 позволяет создавать Web-приложения, использующие доступ к базам данных, с этой целю в SQLBase 7.0 встроены новые особенности репликации в новой компоненте SQLExchange. SQLBase 7.0 поддерживает репликацию для всех СУБД, в частности двунаправленную репликацию со всеми основными источниками данных в дополнение к поддержке ODBC-3. В настоящее время, растет популярность Java, как основного языка для разработки Web-приложений. Java-апплетам, как клиентским, так и серверным требуется доступ к базам данных, и SQLBase 7.0 имеет JDBC-драйверы, позволяющие организовать подобный доступ. Уровень-4 JDBC-драйверов позволяет создавать очень простые клиентские Java-приложения, связанные с встроенной базой данных, основанной на SQLBase. SQLBase существует в следующих разновидностях:
(а) Многопользовательский многозадачный 32-битный сервер баз данных для
Windows NT и 95, (b) Однопользовательский многозадачный 32-битный сервер баз данных для
Windows NT и 95, (c) Однопользовательский 16-битный сервер базы данных для Windows 3.1 и 3.11.
Рассмотрим основные нововведения новой версии Встроенные диспетчеры, обеспечивающие управляемый запуск, закрытие и работа в неявном режиме. Большое количество разработчиков воспользуются преимуществом высокой программируемости и встраиваемости SQLBase, позволяющей пользователям не знать о существовании сервера. SQLBase теперь предоставляет улучшенный API-механизм для программного запуска и закрытия локального сервера SQLBase, а также возможность определить видимы ли в процессе работы программные пиктограммы и экраны статуса. Стопроцентный сервис Windows NT. Centura Software рассматривает платформы Microsoft и Novell NetWare как основные операционные системы для готовых приложений. По этой причине в состав SQLBase включtys расширения и новые возможности по улучшению поддержки этих операционных систем. Чтобы улучшить безопасность, надежность и самообслуживание под Windows NT, сервер SQLBase может запускаться как NT-сервис. SQLBase может теперь быть сконфигурирован так, что будет автоматически запускаться, когда загружается NT-сервер, без наличия подключенного пользователя. Это существенно повышает безопасность и надежность эксплуатации баз данных. В ситуациях, когда необходим перезапуск NT ( типа сбоя по питанию или обрыва сети ), SQLBase станет доступным автоматически после перезагрузки операционной системы. Стопроцентная Поддержка NDS. С появлением Novell's NetWare Directory Services (NDS), Novell использует методологию Service Advertising Protocol (SAP). Пользователи сервера SQLBase для NetWare 4.x имеют возможность использовать преимущества этой технологии:
Пониженная загрузка сети. Имена базам данных и серверу больше не должны указываться явно, что переводит сервер в более высокий ранг сетевых средств обработки информации. Упрощенные межсетевые коммуникации. Проблемы, касающиеся сетевых соединений, маршрутизаторов и фильтрации пакетов SAP устраняются с использованием NDS.
Connectivity Administrator. Конфигурация сервера баз данных на различных платформах при использовании нескольких сетевых протоколов, установка параметров сервера, а также одновременное использование 16-ти и 32-разрядных клиентских приложений может стать очень серьезной проблемой.
Для этой цели в SQLBase 7. 0 входит новый набор утилит и конфигурационных экспертов, для того чтобы избежать редактирования INI-файлов и реестров Windows. SQLBase 7.0 может обнаружить все программное обеспечение, установленное на вашем компьютере, включая протоколы и конфигурацию сети, и автоматически установит необходимые параметры сервера баз данных. Таким образом, установка и поставка сетевых и локальных SQLBase серверов в составе конечного продукта достаточно проста. SQLExchange(tm) Replication. В последнее время Internet-приложения становятся основным средством связи мобильных и удаленных пользователей с базами данных центральных офисов. Поэтому в SQLBase включены универсальные возможности . Эти новые возможности позволяют разработчикам использовать репликацию для распределения данных между корпорациями, отделениями, ведомствами, и даже настольными базами данных. SQLExchange предоставляет большие преимущества для тех пользователей, которым необходимо размещать или получать данные с использованием Web. SQLExchange, наряду с сервером баз данных SQLBase, легко перемещает данные между брандмауэрами. Конечно, SQLBase не единственная база данных на рынке с технологией репликации данных сервер/сервер (server-to-server). Однако, это - единственная RDBMS, которая безопасно управляется, и поддерживает репликацию для большого количества источников данных. SQLBase обеспечивает следующие особенности репликации:
Поддержка любых RDBMS, через ODBC и встроенные драйверы. Возможность конвертации типов данных "на лету". Более легкий и удобный, пользовательский интерфейс для настройки репликации. Включает в себя язык скриптов для настройки логики процесса копирования данных, и запуска одного или большего количества репликационных процессов. Разработчики могут устанавливать правила для решения конфликтов "на лету". Элементы управления ActiveX позволяют программистам делать прямые запросы к системе репликации из любого языка программирования. Любой инструмент разработки, поддерживающий использование ActiveX, типа Microsoft Visual Basic, может безопасно производить репликацию. Внешние функции SQLBase позволяют автоматически вызывать триггеры в replication-set. Независимая компонента системы репликации позволяет пользователям выполнить репликацию с любой клиентской машины, имеющей доступ к исходному и целевому серверу баз данных.
JDBC драйвер для Java-приложений. Java-апплетам, как клиентским, так и серверным требуется доступ к базам данных. Для выполнения этой потребности SQLBase 7.0 имеет JDBC драйвер 4 уровня. Это позволяет разработчикам на Java иметь доступ к базам данных SQLBase через SQLBase API.
Родной JDBC драйвер Стопроцентная поддержка Java Не требует мостов или серверов Высокая производительность Использует любой виртуальный механизм Java или инструмент разработки Новые возможности по обеспечению безопасности
Внешние Функции. Внешние функции дают разработчикам возможность писать дополнительные программы для обращения к серверу SQLBase. Вызов внешних функций позволяет программисту базы данных расширить исходные функциональные возможности SQLBase. Используя эту технологию, разработчики могут организовать запросы к DLL из хранимых процедур. DLL может, в свою очередь, выполнять фактически любое действие и возвращать результат вне базы данных. Разработчики имеют возможность запускать внешние функции не только на сервере ( то есть синхронно ), но и как независимое приложение ( то есть асинхронно ). Эта является уникальной особенностью для SQLBase. Многопоточные программы Поскольку многопоточные операционные системы становятся более распространенными, разработчики начинают использовать их преимущество в своих приложениях. Чтобы реализовать эту потребность, базы данных должны обеспечивать интерфейс, который разрешает выполнение многократных параллельных транзакций от одного приложения. SQLBase API, называемый SQL/API, теперь поддерживает распределенные и многократные транзакции. В традиционной технологии клиент/сервер клиенты имеют возможность подключения только одного пользователя от одного отдельного компьютера. Мультизадачные возможности новых 32-битных операционных систем позволяют разработчикам создавать параллельные связи с базами данных для повышения производительности, а также улучшения функциональных возможностей. Web-приложения должны поддерживать множественные независимые связи с серверами баз данных.
Серверные приложения или иные дополнения к Web-серверам легко обращаются с базами данных через драйверы баз данных. Такая архитектура позволяет разработчикам создавать Web-приложения, но требует при этом концентрировать многократные и независимые обращения к базам данных от отдельной программы. Сервер SQLBase также позволяет хранить и управлять наборами результатов(result set) на сервере, а не на клиенте. Эта особенность SQLBase очень выгодна для создания приложений для Web - с помощью SQLBase разработчики имеют возможность не переносить результаты на все компьютеры клиентов, а иметь их только на сервере. ODBC 3 драйверы. ODBC стали наиболее распространенным стандартом связи с базами данных для языков 3GL и 4GL. SQLBase 7 включает в себя ODBC драйверы уровня 3.0. Они полностью поддерживают многофункциональные приложения в SQLBase версии 7.0. Драйверы также полностью совместим с более старыми API ODBC 2.0. Server Monitor Server Monitor облегчает настройку основных параметров. Так как конечные пользователи обычно не имеют технических знаний, простое администрирование баз данных становится первостепенной задачей по снижению общей стоимости эксплуатации бизнес-приложений.
Интерфейс Ltd
Сергей Маклаков
Тел.: (095) 135-7781, 135-5573 Факс (095) 135-5500, 135-2519
E-mail:
| |
В качестве основных этапов жизненного
Кирилл Лисовский, IBM
В качестве основных этапов жизненного цикла программного обеспечения традиционно выделяют:
анализ требований; проектирование; программирование; тестирование/отладку; эксплуатация и сопровождение.
IBM располагает самыми разнообразными средствами, предназначенными для автоматизации задач, возникающих на каждом из этих этапов. Большинство таких средств относится к семейству продуктов VisualAge. Наиболее развитым представителем этого семейства является, безусловно, IBM VisualAge Packbase. Он включает в себя средства поддержки полного цикла разработки приложения и может быть отнесен к категории "тяжелых" CASE-систем. IBM VisualAge Packbase ориентирован на коллективную разработку крупных распределенных систем, и представляет собой единый комплекс программных средств, состоящий из набора стандартных продуктов VisualAge, дополненных средствами анализа, проектирования и управления проектами. IBM VisualAge Generator представляет собой средство для разработки на языке 4GL интероперабельных приложений переносимых между такими платформами как OS/2, Windows, OS/400, MVS, различные UNIX и виртуальная машина Java. IBM VisualAge Generator ориентирован на разработку приложений баз данных по трехзвенной модели. IBM VisualАge Smalltalk является средством быстрой разработки приложений на объектном языке Smalltalk. Принцип построения приложений из частей, являющийся основой идеологии VisualAge, обеспечивает быструю разработку и эффективную модификацию приложения в сочетании с развитыми возможностями повторного использования кода, в том числе унаследованного. IBM VisualAge Smalltalk ориентирован на разработку приложений баз данных использующих архитектуру клиент-сервер. IBM VisualАge C++ является средством быстрой разработки приложений на языке С++, а входящий в его состав компилятор C/C++ используется в качестве средства системного программирования. В отличии от программных продуктов, перечисленных выше, IBM VisualАge C++ не включает в себя средства организации коллективной разработки.
При наличии необходимости в них может использоваться VisualAge Team Connection. IBM VisulAge for Java играет важную роль в принятой IBM концепции сетецентрических вычислений и сочетает достоинства технологий Java и VisualAge. IBM VisualАge Basic ориентирован на быструю разработку небольших приложений и может использоваться для написания хранимых процедур DB2. IBM VisualАge Requirements Tool предоставляет средства описания, анализа и моделирования бизнес-процесса. Стремительное развитие технологий, связанных с электронной коммерцией и растущая потребность в инструментарии, предназначенном для разработки таких приложений вызвало появление VisualAge for E-Business, представляющий собой комплекс программных средств для построения приложений электронной коммерции. При разработке приложений баз данных особый интерес представляет IBM VisualAge DataAtlas, представляющий собой средство, решающее ряд задач анализа, проектирования и программирования, возникающих при создании таких приложений. DataAtlas предоставляет развитый инструментарий для проектирования новой или реинжиниринга существующей схемы базы данных, с последующей генерацией определения данных. IBM VisualAge DataAtlas состоит из трех основных модулей: 1. DataAtlas Modeler предназначен для построения как концептуальной, так и логической модели данных. Modeler использует диаграммы "сущность-связь" (ER) для представления разрабатываемой модели данных. С их помощью осуществляется детализация хранилищ данных моделируемой системы, документируются сущности системы и способы их взаимодействия, включая идентификацию объектов предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей). DataAtlas Modeler обеспечивает построение как концептуальной, так и логической модели данных. 2. DataAtlas Dictionary обеспечивает работу с определениями данных. Наряду с реляционными системами управления базами данных (DB2 и Oracle) поддерживаются иерархические (IMS) и приложения на языках разработки высокого уровня.
DataAtlas Dictionary использует IBM VisualAge TeamConnection для хранения, обработки, и разделения объектов баз данных с модулями DataAtlas Designer и Modeler и другими средствами разработки (например, IBM VisualAge Generator). 3. DataAtlas Designer - инструмент для работы с реальной базой данных и импорта/экспорта в нее абстрактной модели данных. Он предоставляет средства для создания и поддержки оптимального физического определения данных на основании построенной ER-модели. DataAtlas Designer помогает разработчику или администратору базы данных в сложных и часто встречающихся процедурах оптимизации хранения данных. К их числу относятся следующие задачи:
оценка производительности для разрабатываемого приложения; схема физического размещения данных; определение и связывание дополнительных ресурсов (таких как индексы, области таблиц, пространства буферов); решение о физическом выравнивании данных (таких как кластеризация индексов).
IBM предлагает широкий выбор средства разработки программного обеспечения, располагая программными продуктами для решения самых разных возникающих при разработке задач. Некоторые из этих средств предлагают решение отдельных, узкоспециальных задач (например, VisualAge Exchange), другие (как VisualAge PackBase) предлагают комплексное решение, охватывающее все этапы жизненного цикла приложения. Открытые технологии и соответствие стандартам позволяет использовать продукты IBM совместно с программными средствами других производителей, а широкая гамма предлагаемых IBM средств разработки программного обеспечения позволяет выбрать инструмент, максимально соответствующий поставленной задаче.
IBM
Кирилл Лисовский
Тел.: (095) 940-2000 Факс (095) 940-2070
E-mail:
| |
Стратегические направления развития технологии Informix
Ховард Залкин, Informix
Что обеспечивает репликация данных
Защиту от потери информации за счет наличия резервной копии Возможность продолжать работу при выходе из строя отдельных узлов Распределение нагрузки между несколькими серверами
Основные схемы тиражирования данных
Решения Informix для организации тиражирования данных High-Availability Data Replication (HDR ) Особенности HDR
"Горячий" резерв (2 идентичных сервера) Только первичный сервер допускает изменение данных Функционирование на уровне серверов Частичное распределение нагрузки между двумя узлами Простота администрирования Работает с OnLine Dynamic Server на Unix и NT
Informix Enterprise Replication
тиражирование на уровне строк и колонок поддержка асинхронной репликации поддержка схем ведущий - ведомый и равный к равному механизмы автоматического разрешения конфликтов обеспечивается внутренними средствами сервера нет жестких ограничений на соответствие версий сервера и типов ОС поддержка всех типов данных, включая BLOB централизованное администрирование и мониторинг открытый API
Подробнее о возможностях Enterprise Replication
Репликация: Сравнение с конкурентами
Informix На основе журнала транзакций. Быстро и надежно. Открытый интерфейс Просто в настройке и сопровождении Главный конкурент На основе триггеров. Без комментариев... Закрытый интерфейс. Тяжелое администрирование.
Требуется отдельный сервер Несовместимость с объектами, фрагментированием, параллельными запросами triggers
Репликация: сравнение с конкурентами
Репликация в Informix - Заключение Необходимые условия для работы с Informix Enterprise Replication
Версия сервера 7.22 и выше Сетевые протоколы TCP/IP и SNMP Наличие NT Workstation Базы данных с журналированием Первичные ключи для всех реплицируемых таблиц
Informix Enterprise Replication обеспечивает:
Организацию сложных схем репликации Автоматическое разрешение кофликтов Синхронный и асинхронный режимы работы Централизованное администрирование в масштабах предприятия
Informix Web Integration Option Ранее:
Web DataBlade Module (на Universal Server),
и
Informix-Universal Web Connect (на всех других серверах).
Сейчас:
Единое расширение, доступное для любых серверов
INFORMIX-Client SDK 2.x Компоненты:
INFORMIX-ESQL/C INFORMIX-CLI Intersolv Data Direct ODBC INFORMIX-Object Interface for C++ INFORMIX-Object Interface for Java Informix-Driver for JDBC
INFORMIX-Object Interface for Java
Компонента INFORMIX-Client SDK 2.x Объектно-ориентированный API Для разработчиков на Java, поддержи-вающих OO-подход и использующих SQL Поддержка новых типов данных Поддержка функций, определяемых пользователем Обеспечивает поддержку SQL3 Включает драйвер INFORMIX для JDBC...
Драйвер INFORMIX для JDBC
Реализация Informix спецификации JavaSoftTM JDBC Позволяет JDBC-приложениям иметь доступ к Informix Dynamic Server Позволяет разработчикам писать приложения используя "чистый" Java API
Data Director for Java
DDJ совместим с:
Windows 95 среда разработки Web-сервера на Solaris and NT Сервер БД Informix Dynamic Server IDS/Universal Data Option IDS Workgroup Edition
Партнерство Informix и Symantec
Следующая версия 2.0
Развитие на ближайшее будущее
Ховард Залкин, Informix
Менеджер отдела поддержки продаж
Россия/СНГ
+7-095-755-8700
| |
СУБД Jasmine - построение виртуальных предприятий
Сергей Кузнецов, Computer Associates
Введение Развитие информационных технологий в сфере бизнеса породило огромный спрос на приложения нового поколения. Организации теперь все чаще используют программное обеспечение ради того, чтобы выпустить новую продукцию в кратчайшие сроки и опередить конкурентов. Многие устремились в Интернет, чтобы расширить круг своих клиентов и иметь возможность каждому потенциальному покупателю рассказывать о себе более наглядно и доходчиво. Эти новые решения не имеют ничего общего со старыми программами, работавшими на зеленых экранах терминалов мейнфреймов, и уже мало чем напоминают преобладающие сегодня на персональных компьютерах программы с окнами, иконками и ниспадающими меню. Главное отличие приложений нового поколения - это их динамичный характер. Например, некоторые наиболее развитые Web-приложения обладают высоко интуитивным интерфейсом с постоянно обновляющимся содержанием, что особенно привлекательно для посетителей Интернет. Однако новые мощные приложения нужны не только в среде Web. Многие компании модернизируют свои традиционные клиент-серверные решения, на которых ведутся такие функции, как бухгалтерия, прием и обработка заказов, учет кадров, исследования и корпоративная информация. Эти новые приложения значительно отличаются от тех, что создавались, скажем, лет пять тому назад. Пользователям теперь предоставляются более широкие возможности управления, а доступ может осуществляться не только внутренним, но и внешним пользователям в Интернет и в корпоративных сетях интранет или экстранет. Общей особенностью всех этих новых приложений является мультимедиа. Мультимедийные средства позволили оживить традиционные типы данных и сделали приложения более удобными в использовании. Вместе с тем, как и раньше, новые приложения должны характеризоваться высокой производительностью и надежностью - особенно ввиду того, что количество и уровень подготовки пользователей не всегда предсказуем. Безотказность приложений крайне важна для компаний, занимающихся бизнесом в Интернет - в конце концов, сама Сеть открыта для всех желающих круглые сутки и без выходных.
Поэтому приложения изначально разрабатываются для всего мирового сообщества. Немаловажное значение имеет также безопасность, особенно если приложение используется для осуществления коммерческих операций. Чтобы приложения обладали подлинной динамичностью, они должны быть построены на прочном фундаменте базы данных. Это требование породило массу сложнейших проблем для разработчиков корпоративных баз данных. Если раньше от баз данных требовалось обрабатывать простую информацию, такую как текст или целые числа, то теперь перед ними встала задача управлять сложными данными и предоставлять эти данные как можно быстрей и как можно большему числу пользователей. Кроме того, база данных часто должна уметь предоставлять данные приложениям, работающим на разных платформах. Имея несколько десятилетий опыта в области управления информацией, фирма Computer Associates International, Inc. (CA) понимает потребности компаний, которым должно отвечать новое поколение приложений. Именно поэтому мы и разработали JasmineTM. Эта уникальная система управления информацией позволяет организациям быстро разрабатывать изощренные приложения, предназначенные для обработки мультимедиа и других сложных типов данных и способные функционировать где угодно. Технические требования к приложениям нового поколения Приложения нового поколения должны помогать компаниям увеличивать конкурентоспособность, сокращать сроки выхода новой продукции, расширять спрос и обращаться к каждому покупателю более индивидуально и доходчиво. А сами по себе приложения должны быть проще и не требовать длительного обучения. Для достижения этих целей, помимо традиционной текстовой и числовой информации, необходимы также мультимедийные данные, такие как видео, аудио и анимация. Мультимедийные приложения гораздо проще в понимании, нежели их предшественники. Они позволяют быстро и легко воспринимать огромный объем информации. Превосходство мультимедийных приложений доказывается хотя бы тем, что "лучше один раз увидеть, чем сто раз услышать".
Благодаря изобилию графики, конструкция приложений в Web и интранет позволяет любому пользователю, попавшему на первую страницу, легко переходить от страницы к странице. В противовес этому, даже наиболее продуманные приложения Windows требуют частого обращения к справочной информации. Тем не менее, сама идея мультимедийности не только несет в себе многие преимущества для компаний, но и ставит ряд технических проблем перед разработчиками. На современном предприятии информация хранится в разнообразных источниках, включая реляционные, иерархические и сетевые базы данных. Новые приложения должны уметь обращаться к этим данным из любой клиентской среды, например, из броузера, из Windows на настольном или сетевом компьютере. Отсюда вытекает необходимость совместимости со множеством языков программирования, включая HTML, ActiveX, Java, C++ и другие. Дело осложняется еще и тем, что логистика бизнес-процессов может быть заложена в базах или приложениях, разбросанных по предприятию.
Современное предприятие Появление мультимедиа в этой и без того запутанной ситуации заставляет особенно остро ощутить потребность в кардинально новом решении. Мультимедиа - это сложный тип информации. Для разработки мультимедийных приложений обычно используются объектно-ориентированные языки. Однако очень часто можно наблюдать "несогласованность сопротивлений", когда приложение, написанное на объектно-ориентированном языке, пытаются привязать к необъектным базам. Приложение, обученное работе с объектами, просто задыхается от необходимости непрерывно собирать в объекты множество разрозненных данных, хранящихся в традиционных базах. Мультимедийные данные должны интерпретироваться перед обработкой. Возьмем простой пример: растровое изображение должно быть распознано как таковое, прежде чем над ним будут выполняться различные графические операции или вывод на экран. Традиционная база данных способна лишь хранить файл изображения, а всю работу по его распознаванию и обработке вынуждено делать приложение. Еще одна сложность заключается в том, что все приложения, обращающиеся в базу за мультимедийными данными, должны выполнять все операции выборки, распознавания и обработки этих данных единообразно.
Это приводит к значительному увеличению накладных расходов, если необходимо дублировать код для различных платформ, используемых на предприятии. Обновление приложений становится тем сложнее, чем чаще изменяются данные - особенно при смене формата. По мере роста самого предприятия увеличивается и объем хранимой информации, что часто вызывает серьезные проблемы при ее хранении, сортировке, отслеживании и индексировании и т. п. К тому же необходимо отдавать себе отчет в том, что любые данные не находятся в вакууме. Мультимедийную информацию часто приходится комбинировать с традиционной, хранящейся в реляционных и нереляционных базах. Простой метод хранения и обработки мультимедиа в сочетании с традиционными типами данных предприятия - главное требование к разработчикам приложений нового поколения. Решение: объектная технология Объектная технология позволяет комбинировать мультимедийные данные с другими типами информации, включая бизнес-логистику, и создавать так называемые "бизнес-объекты". Эти объекты представляют собой наборы связанных данных, включающие также программные коды, так называемые "методы", и используемые для формирования "пакетов", имеющих отношение к определенному звену предприятия, например, сотруднику. Объект типа "сотрудник" может содержать как традиционную текстовую информацию (имя, адрес и т.п.), так и мультимедийные данные (фотографию, видеоклип или отпечатки пальцев), вместе с методами, такими как прием на работу, перемещение, повышение должности и т. п. Методы создаются и хранятся вместе с данными внутри бизнес-объекта и представляют собой набор правил, определяющих то, как объект может взаимодействовать с пользователями, приложениями или другими объектами. В методе может быть заложена не только простейшая операция, как например, вывод изображения на экран, но и сложные процедурные алгоритмы. Поскольку интерфейсы методов определены заранее, разработчику не нужно беспокоиться о манипуляциях с мультимедийными данными - об этом позаботится сама база. Сочетание бизнес-логистики и данных в одной СУБД дает разработчикам множество преимуществ.
Главное из них - возможность не задумываться о сложности структуры информации, о том, как именно данные хранятся в базе, как они обрабатываются, изменяются и форматируются для отображения перед конечным пользователем. Это позволяет значительно ускорить процесс разработки приложений. Кроме того, поскольку код создается только один раз и внедряется в данные, он может повторно использоваться другими приложениями, что избавляет разработчика от необходимости каждый раз его дублировать и тестировать перед использованием. Ограничения альтернативных систем Реляционные СУБД, предназначенные для хранения простейших типов данных (числа и текст) не способны управлять сложными бизнес-объектами и, тем более, их взаимосвязью. По этой причине многие производители СУБД стремятся научить свои объектно-реляционные системы поддерживать бизнес-объекты. В объектно-реляционных СУБД, являющихся по сути гибридными, делается попытка строить объекты на реляционной технологии. Такие гибридные системы, как Informix Universal Server или Oracle8 Universal Data Server, не полностью реализуют объектную модель базы данных. Они не поддерживают базовые свойства объектов, такие как наследование. Эти функции приходится нести на себе приложениям, которые становятся слишком громоздкими и потому не могут относиться к "новому поколению". Дополнительной проблемой таких систем является необходимость переноса кода из базы в приложение, что вызывает значительное замедление в работе клиентов на маломощных рабочих станциях. В расширенно-реляционных системах, таких как DB2 фирмы IBM, изначально добавлены "определяемые пользователем типы данных" (UDT), надстраиваемые над реляционной структурой базы. Но даже в такой архитектуре не полностью реализуется объектная модель и отсутствуют указанные выше возможности. Частичная реализация объектной модели в гибридных системах - это лишь один из их проблем. Все гибридные продукты обладают еще одним общим недостатком. Под маской объектной ориентации в них скрывается изначально реляционная структура данных, состоящая из таблиц, колонок и строк.
Запросы к объектам каждый раз формируются заново из крупиц данных строк и колонок. Гибридные системы страдают недостатком и гибкости и производительности. Поскольку объекты хранятся в реляционных таблицах, изменение структуры объектов выполняется медленно и сложно. Построение объектов из табличных данных также требует времени и извлечения кода из базы. Эти дополнительные функции обработки могут крайне отрицательно сказаться на производительности базы, особенно если данные хранятся в различных таблицах, которые необходимо объединять перед построением объекта. Проведенные исследования показали, что в гибридных системах треть времени уходит только на преобразование данных в объекты. Результат таков, что в гибридных системах недостаточно эффективно используются и объектная и реляционная модели базы данных. Как нельзя лучше это выразила эксперт Эстер Дайсон (Esther Dyson), сказав, что "Использовать таблицы для хранения объектов - все равно что разбирать машину прежде, чем поставить ее в гараж, а затем перед выездом снова ее собирать. Можно, конечно, делать и так, но разве это нормально?" "Комплексный подход Jasmine является его самой сильной стороной. С Jasmine вы имеете мощную мультимедийную базы данных, инструментальное средство пятого поколения и независимую от платформы среду выполнения. Никто сейчас не предлагает ничего подобного." Грег Киндалл (Greg Kindall), вице-президент Data Pro Необходима подлинно объектно-ориентированная система, в которой реализованы все возможности объектной модели базы данных. Только так можно избежать всех недостатков в гибкости и производительности, присущих альтернативным технологиям. Эффективная система должна также позволять легко разрабатывать приложения нового поколения, иначе масса пользователей ее не примет. Что же такое Jasmine? Jasmine представляет собой полностью объектно-ориентированную среду программирования. Это первая в мире СУБД для сложных мультимедийных бизнес-приложений. Jasmine позволяет быстро собирать из объектов мощные, насыщенные мультимедийными элементами, приложения.
Вам не придется создавать разные версии приложения для использования на различных платформах. Приложение, разработанное один раз с помощью Jasmine, будет одинаково хорошо работать в любой среде - в Интернет, корпоративной сети интранет или экстранет, на автономной рабочей станции или в клиент-серверной системе. Jasmine обладает открытой архитектурой. Computer Associates понимает, как много вложений было сделано компаниями в различные системы и языки программирования. К базе данных Jasmine можно одинаково легко обращаться из приложений, написанных самыми разнообразными средствами - будь то Java, C, C++ или HTML, а также любым инструментарием, поддерживающим ActiveX или OLEDB таким как Visual Basic. Объектная модель Jasmine Имея в своей основе подлинно объектную модель, Jasmine обладает всеми теми функциями, которые делают объектно-ориентированные СУБД такими мощными. Это абстрактные классы, встраиваемость, классификация, наследование (единичное и множественное), уникальные идентификаторы объектов, методы (включая уровни экземпляра, класса и набора), полиморфизм и агрегация. Поскольку данные наследования хранятся вместе с другими типами метаданных, как и объекты в самой объектной базе, приложения Jasmine обеспечивают полный доступ к дереву наследования, даже в режиме выполнения. Методы хранятся в базе тоже как объекты определенного класса, поэтому они так же могут переопределяться в режиме выполнения, не требуя закрытия базы. Аналогичным образом приложения могут динамически модифицировать и расширять методы и свойства объектов на уровне класса и экземпляра. Объектная модель позволяет дополнять базу данных Jasmine новыми типами объектов без использования каких бы то ни было реляционных принципов преобразования типа "blades", "cartridges" или "extenders". В этом просто нет необходимости. База данных Jasmine "понимает" хранящиеся в ней объекты точно так же, как реляционная база понимает свои текстовые или числовые поля. В большой степени эффективность системы Jasmine объясняется наличием в ней библиотек предопределенных и многократно используемых классов, содержащих методы и свойства.
Эти классы обеспечивают широчайший набор функций, включая мощные служебные функции, такие как манипуляцию объектами и строками, обработку метаданных, управление наборами, сеансами и транзакциями, динамическую оптимизацию и многое другое. Имеется также мощная библиотека классов мультимедиа и библиотека классов SQL, позволяющая приложениям Jasmine обращаться к базам OpenIngres, Oracle, Sybase, Informix, Microsoft SQL Server, CA-IDMS, CA-Datacom, VSAM и другим. "Мы выбрали Jasmine в качестве основной СУБД для данных о нашей продукции по двум причинам: потому что это лучшая из объектно-ориентированных систем и она полностью поддерживает Web." Рамеш Редди (Ramesh Reddi), президент Infopike Наличие библиотек классов SQL в объектно-ориентированной системе позволяет легко работать с данными в существующих базах. Благодаря этому, пользователи могут смело переходить на объектную технологию, не принося в жертву вложения, сделанные ими в существующие системы. Библиотеки SQL также избавляют от необходимости переноса данных или приложений в объектную среду. Преимущества такой интеграции признают не только пользователи СА, но и независимые эксперты. Разработчики могут создавать дополнительные библиотеки классов для поддержки нестандартных типов данных или для полной интеграции с приложениями, данными и процессами, которые функционируют вне среды Jasmine. Библиотеки классов поддерживают любые источники информации, а запросы к данным за пределами Jasmine осуществляются с помощью методов. Работая на обычных персоналках, связанных с высокопроизводительным сервером базы данных, приложение Jasmine не занимает много локальных ресурсов. Производительность достигается за счет того, что методы выполняются на более мощном сервере. Так как методы встроены внутри данных, хранящихся в базе Jasmine, внешние приложения не нужно переписывать при изменении бизнес-логистики. Надежная платформа В отличие от многих других объектных СУБД, которые разрабатывались для академических или экспериментальных целей, система Jasmine с самого начала предназначалась для использования в бескомпромиссном мире бизнеса.
Поэтому она содержит в себе все функции, необходимые для промышленной эксплуатации, обеспечивая высокую степень безопасности, целостности и производительности. В СА накоплен богатый опыт по обеспечению больших и малых предприятий системами, способными работать безотказно. Весь этот опыт был использован и при разработке Jasmine. Первая версия этого продукта поддерживает SMP, онлайновое резервирование и восстановление, функции безопасности, полное управление транзакциями и распределенное хранение объектов. Сервер Jasmine управляет блокировкой записей и в целях повышения производительности поддерживает как совместную (для чтения), так и монопольную (для записи) блокировку. Имеются полноценные службы резервного копирования и восстановления, которые, естественно, могут работать при функционирующей базе данных. Кроме того, Jasmine содержит встроенную технологию защиты от сбоев носителей, позволяющую полностью восстановить базу в случае аппаратных сбоев носителей. Jasmine - подлинно объектная СУБД и, будучи таковой, она наиболее эффективна в тех сферах, где требуется точное отображение характера деятельности предприятия. Если реляционная база может легко "загнать" себя попытками соединения многочисленных реляционных таблиц и полей, то с Jasmine такого не произойдет никогда. Встроенные средства навигации по объектам позволяют Jasmine эффективно работать в среде Интернет или интранет, особенно в таких приложениях, где интенсивно используются сложные модели поведения при взаимодействии с пользователем, мультимедийные данные и другие характеристики "нового поколения". Функции навигации вместе с автоматической оптимизацией запросов обеспечивают непревзойденную производительность базы данных Jasmine. Многонитевая архитектура и поддержка SMP означают, что практически не может быть ограничений на количество пользователей при работе Jasmine в типичных бизнес-приложениях в среде Интернет или по традиционной двухуровневой схеме. Объекты Jasmine могут быть распределены по множеству дисков, что делает возможным использование этой системы в больших высокопроизводительных базах.
К тому же, сервер Jasmine для повышения производительности использует особые методы манипуляции объектами, которые позволяют передавать по сети только нужные клиенту объекты. Jasmine поддерживает кэширование и со стороны сервера, и со стороны клиента. Кэшированию подвергаются как "объекты классов" (метаданные), так и объекты экземпляров (данные). Для ускорения передачи мультимедийных данных в среде Web используются такие технологии, как итерационный доступ, интеллигентное кэширование и эвристическое сжатие данных.
Чтобы добавить свойство аудио (файл WAV), достаточно перетащить файл с рабочего стола на свойство объекта
Jasmine поставляется с полным набором интегрированных служб администрирования и управления, позволяющими легко выполнять резервное копирование и восстановление базы, устанавливать правила безопасности. Имеются также графические утилиты, позволяющие не только просматривать и выбирать содержимое в базе, но также редактировать, добавлять элементы в базу и даже формировать запросы. Добавление объекта или класса в базу Jasmine осуществляется лишь несколькими движениями мыши. Сложные данные (изображения, аудио, видео и другие типы файлов) попадают в базу путем их простого перетаскивания с рабочего стола в окно Jasmine. Существует распространенное заблуждение, что объектные СУБД якобы неспособны выполнять сложные запросы. В Jasmine запрос - сущий пустяк; нажав пару раз кнопкой мыши, вы получаете мощный и, вместе с тем, легко формируемый запрос. Computer Associates прекрасно понимает, что требования к информационной системе увеличиваются вместе с ростом предприятия. Свойственная Jasmine открытость, масштабируемость и поддержка различных платформ серверов делают эту СУБД превосходным решением как для небольших киосков в Интернет, так и для гигантских хранилищ информации. А многонитевые технологии управления базой и использование методов на сервере обеспечивают превосходную производительность любому приложению Jasmine.
Условия запроса включают: имя поля, логический оператор и значение поля.
Интегрированная простая среда разработки Разработчикам современных приложений приходится не только "писать коды". В их задачу также входят конструирование сцен и web-страниц, определение логики приложения, интеграция логики с существующими данными, подготовка готового приложения к установке. Этот процесс напоминает создание музыкального произведения: различные партии и мелодии, исполняемые на разных инструментах, должны быть саранжированы в законченное творение, подчиняющееся одному дирижеру. Среда разработки Jasmine Application Development Environment (JADS) поддерживает обычные операции перетаскивания мышью при создании мультимедийных приложений и манипуляции с данными в базе Jasmine. Простой для понимания интерфейс JADS, во многом сходный с Microsoft Windows Explorer, позволяет любому программисту быстро создать законченное приложение Jasmine, включая конструирование сцен и прототипа, разработку и тестирование приложения, формирование базы данных и внедрение конечного продукта. В среде JADS программист работает со "сценами". Сцена - это готовый экран приложения или Web-страница. Интеллектуальные редакторы и броузеры позволяют легко перетаскивать на экран сцены объекты, классы или запросы и определять их свойства и правила взаимодействия. Среда JADS позволяет также:
Выполнять функции администрирования базы данных - например, добавлять классы и объекты. Просматривать и изменять существующие классы и объекты. Просматривать и редактировать свойства классов и объектов. Просматривать, изменять и создавать методы и запросы.
"С помощью Jasmine нам удалось сделать великолепный прототип мультимедийного приложения для дилеров. Он приковывает взгляд покупателей, и они могут на основе стандартного изображения машины буквально своими руками создать автомобиль своей мечты. Простыми движениями мыши можно выбрать любой аксессуар и сразу же увидеть, как это будет выглядеть на машине. В результате у клиента появляется желание вместе с самим автомобилем купить для него и родные аксессуары." Кевин Смит (Kevin Smith), главный системный менеджер Toyota в Австралии Добавление графических изображений при разработке приложения происходит легко, благодаря функциям перетаскивания JADS.
Выборочное отображение объектов на экране также осуществляется в JADS без особых усилий, благодаря редактору запросов Jasmine. Computer Associates
Сергей Кузнецов
Тел./факс (095) 937-4850
URL:
| |
СУБД Teradata для OC UNIX
СУБД Teradata для OC UNIX С объявлением выпуска СУБД Teradata для ОС UNIX на машине WorldMark 5100 начинается самый драматический этап в истории постоянного совершенствования продукта, со времен первого выпуска в 1984 году. С появлением СУБД Teradata для ОС UNIX на машине WorldMark 5100 были сняты все ограничения, накладываемые мощностью аппаратных платформ, таким образом были полностью реализованы возможности архитектуры СУБД Teradata. Использование СУБД Teradata для ОС UNIX сразу же улучшило соотношение цена/производительность в три раза по сравнению с системой 3600. Система включает: автоматическое добавление/удаление процессоров при почти 100%-ой степени надежности системы; непрерывную масштабируемость от SMP через кластерные системы к MPP; поддержку дисковых массивом через шину SCSI и новую масштабируемую межпроцессорную шину (BYNET). В системе реализованы: виртуальные процессоры; 20-кратное увеличение хэш-корзин (hash buckets) для поддержки баз данных объемом свыше 100ТБ; работа с данными в блоках от 4КБ до 32 КБ, наличие доли свободного пространства в блоках данных и возможность освобождения страниц памяти, используемые для значительного улучшения работы систем с переменной нагрузкой; использование уже откомпилированных шагов по выполнению SQL запросов; автоматическое восстановление фрагментации; глобальное планирование приоритетов; локальная журналирование измененных строк; настраиваемые пользователем размеры кэша для наборов данных; увеличенные размеры кэша для поддержки большинства сложных SQL-запросов к промышленным базам данных; улучшенные формулы оптимизации запросов; улучшенная обработка битовых образов (bit maps); обработка ситуаций полного отключения питания; поддержка гигабайтов энергонезависимой памяти в системе; более быстрый доступ к данным по значению неуникального первичного индекса; более быстрая система передачи сообщений между процессами; и, наконец, увеличенная производительность при распределении строк. Завтра И это только начало. Дальнейшие усовершенствования возможностей, функций, производительности и готовности СУБД Teradata во второй половине 90-х годов будут идти в ускоренном режиме.
Соединения BYNET, мощность систем NCR WorldMark и базовая архитектура параллельного программного обеспечения позволят СУБД Teradata сохранить и укрепить позиции лидера в области промышленных реляционных СУБД, систем поддержки принятия решений и приложений для хранилищ данных. Архитектура программного обеспечения СУБД Teradata Секрет мощности СУБД Teradata кроется в ее архитектуре. Архитектура Teradata уникальна в своем роде. Разработанная для поддержки очень больших баз данных (Very Large Databases - VLDB), с которыми работают различные приложения по поддержке принятия решений (Decision Support - DSS) и приложения хранилищ данных (Data Warehousing - DW), СУБД Teradata построена на архитектуре "ничего не разделяется", с тщательно проработанным многомерным параллелизмом. Никакая другая СУБД в мире не может сравниться по мощности с СУБД Teradata. В архитектуре Teradata нет ничего однопотокового. При проектировании любых особенностей или утилит всегда принимался во внимание аспект параллелизма. С появлением версии СУБД Teradata для ОС UNIX был сделан значительный скачок вперед. Теперь Teradata работает на 32-х битовых современных машинах NCR серии WorldMark, 4700, 5150 и 5100. В системе параллельно выполняются все SQL операторы, форматирование, восстановление, загрузка и извлечение данных, управление приоритетами, инсталляция и обновление программного обеспечения, отладка, управление производительностью, доступ к словарям, блокировки, соединения таблиц, и все остальные задачи. Архитектура Teradata достаточно быстро расширяется, в то время как конкуренты при проектировании своих систем преодолевают каждый 100-гигабайтный барьер, и их системы никогда не смогут выдержать реальную нагрузку хранилищ данных.
| |
СУБД Teradata® для ОС UNIX®
Константин Лисянский, Дмитрий Слободяников, NCR
Постоянное совершенствование Компания Teradata была основана в 1979 году, как дочерняя фирма компании Citicorp Advanced Technology Group. Продукт данной фирмы был разработан специально для непрерывной обработки больших объемов данных. В 1984 году фирма Teradata выпустила первые системы массивно-параллельной обработки (massively parallel processing - MPP) - специализированный компьютер для баз данных первой модели (DBC Model 1). Teradata первой вышла на рынок MPP систем, опередив своих конкурентов более чем на десять лет. Начиная с того времени компания Teradata, а теперь и компания NCR (в 1991 году компания NCR купила компанию Teradata) выпускает один из лучших в мире продуктов для систем поддержки принятия решений и хранилищ данных. 80-ые годы Первая система Teradata отвечала архитектуре программного обеспечения "ничего не разделяется" ("Shared Nothing") и функционировала на соответствующей аппаратной платформе. В системе были реализованы : интеллектуальная межпроцессорная шина YNET; связующие каналы с мэйнфреймами; механизм защиты данных от сбоев (Fallback); мощный оптимизатор, оценивающий относительную "стоимость" выполнения SQL запроса, с возможностью выдачи подробных сведений о том, как выполнялся запрос. Все основные операции с данными выполнялись параллельно. Распараллеливались следующие операции и утилиты : INSERT, SELECT; UPDATE, DELETE; Nested Loop Join; Sort Merge Join; Hash Merge Join, архивация/восстановление данных; утилиты по загрузке данных; загрузчик программного обеспечения. К 90-му в году в СУБД Teradata были реализованы следующие возможности: устоявшиеся типы данных, соединения по локальной сети, кэширование шагов синтаксического разбора SQL запросов, объявляемые приоритеты, совместимость с базами данных DB2 и 10 уровней блокировок. Дополнительные, полностью распараллеленные возможности включали в себя : соединение операций по удалению записей (Delete Join), соединение операций по обновлению записей (Update Join), журналирование и утилиту параллельного обновления данных с возможностью обновления и вставки (UPSERT).
На аппаратных платформах DBC третьего поколения было достигнуто двукратное улучшение соотношения цена/производительность. В 80-ые годы непрерывное совершенствование СУБД Teradata стало неотъемлемой частью существования нашей компании. Размеры баз данных росли не по дням, а по часам. Первую систему, рассчитанную на объем данных в 100ГБ, Teradata выпустила в 1985, первую СУБД на 500ГБ - в 1987 году и, наконец, первую СУБД на 700 ГБ - в 1989 году. Тесты подтвердили, что мощность СУБД практически линейно зависит от числа процессоров, при увеличении числа процессоров до 300. В 1986 году журнал Forbes Magazine присудил продукту Teradata DBS награду "Продукт года", а в 1990 году в журнале INC Teradata была названа самой быстро развивающейся компанией в Америке. Начало 90-х годов Постоянное совершенствование продолжалось и в 90-ые годы, были добавлены следующие возможности : Teradata Manager (Клиентское ПО, предназначенное для администрирования СУБД с удаленного ПК, работающего под ОС Windows 95/NT), Диспетчер запросов к базам данных (Database Query Manager), параллельная утилита экспорта данных, разрешен доступ к таблицам БД во время архивации, увеличена в 20 раз скорость восстановления узлов после сбоев, введены поддержка дисковых массивов RAID, параллельные внешние соединения, а также поддержка запросов, связанных с многомерным анализом (OLAP), для оптимизации которых используется соединения таблиц по типу Звезда или Снежинка и параллельный оператор Hash Star Join. В 1991, когда был представлен компьютер DBC четвертого поколения, Electronic Business назвал компанию Teradata "самой быстро растущей компанией в области электроники". В 1992 году была выпущена первая система, оперирующая с 1 терабайтом данных. В 1993 году, согласно сведениям Smaby Group, доля NCR на рынке CPP составляла 80%. В 1994 году была выпущена первая система, работающая с несколькими терабайтами данных, и группа Gartner Group назвала компанию NCR "Лидером в параллельной промышленной обработке данных".
Опрос пользователей, проведенный в 1995 фирмой IDC и опубликованный в Computerworld, показал, что наша компания является компанией № 1 в области массивно-параллельной обработки. В 1997 году по результатам исследования проведенного компанией IDC по итогам 1996 года компания NCR занимает 50.5% рынка хранилища данных по поставкам и 40.9% по доходам по сравнению с ближайшими конкурентами DEC (поставки 16.8%, доходы 15.4) и IBM (поставки 10.1%, доходы 18.9%) соответственно. Сегодня Сегодня Teradata - единственный продукт, поддерживающий настоящие хранилища данных объемом свыше 500 ГБ и позволяющий реализовать системы с объемом пользовательских данных свыше 1 ТБ (1 триллион байтов). На СУБД Teradata реализована самое большое в мире промышленное хранилище данных с общим объемом в 24ТБ. Teradata является "сердцем" хранилищ данных таких крупнейших в мире компаний, как AT&T, Sprint, British Telecom, Swedish Post, Australian Telecom, Bank of America, Chemical Bank, Fidelity Investments, Proctor and Gamble, WalMart, Kmart, Sears, Otto Versand, Delta Airlines, Qantas, USAir и American Airlines, и это далеко не полный список. У одного из наших клиентов (не самого крупного) работает машина системы 3600, которая за день обрабатывает: 800000 "OLTP"-транзакций от 7500 пользователей со временем отклика меньше секунды; 2000 "OLCP"-транзакций от 400 пользователей с объемом данных до 70МБ на транзакцию и временем отклика от долей секунды до 20 минут; 40 сложных "нерегламентированных запросов DSS" от 6 пользователей-аналитиков; а также 25МБ транзакций, связанных с партиями товара, в базе данных объемом 750ГБ, содержащей 1300 таблиц. В самой большой таблице содержится 2.4 миллиарда строк. В двух других таблицах содержится по 300 миллионов строк, а в большинстве таблиц содержится от миллиона до 10 миллионов строк. Система работает 7 дней в неделю, 24 часа в сутки.
| |
WebSpeed2.0 - средства разработки
Ольга Твердова, CSBI EE
Progress совершенствует решение онлайновых бизнес-транзакций в режиме реального времени. Компания Progress Software (г. Бедфорд, США) - один из ведущих мировых производителей промышленных СУБД и средств разработки крупных информационных систем - летом 1996г. выпустил новую серию продуктов для создания информационных систем для Internet. Новый продукт от Progress оказался традиционно качественным, и сразу был взят на вооружение многими компаниями. В сентябре 1997 года Progress выпустил вторую версию продуктов WebSpeed, обзор которых мы вам предлагаем. Технология WebSpeed Одним из последних технологических достижений является Internet и средства, позволяющие вести разработку информационных приложений, ориентированных на транзакционную обработку через Internet/Intranet. Это один из наиболее эффективных путей по созданию информационных приложений, позволяющих пользователю, имея лишь простейшую клиентскую часть - броузер, работать с распределенными базами данных различных форматов, обеспечивать поддержку сложных транзакций и выполнение бизнес-логики на Internet-сервере. Транзакционная обработка подразумевает сохранение контекста данных, результатов предыдущих запросов, значений переменных для конкретного клиента при некоторой последовательности действий, и откат значений при заданных условиях. Так как при работе в среде Internet клиент не поддерживает постоянной связи с Web-сервером, в информационной системе должны быть реализованы специальные механизмы поддержки сессионных бизнес-транзакций. В основе технологии WebSpeed лежит наличие средств разработки и средств запуска приложений под Internet, выпускаемых компанией Progress Software Corp. Приложения, написанные на хорошо зарекомендовавшем себя языке 4GL Progress, запускаются через Internet/Intranet с клиентских компьютеров, оснащенных только лишь средствами доступа в Internet и Internet-броузером. Технология WebSpeed включает в себя два этапа - этап разработки и отладки приложения и этап его установки и запуска в промышленную эксплуатацию. Разработка приложения
1. Приложения могут создаваться как локально, так и удаленно, т.к. средства разработки запускаются через любой Web-браузер, поддерживающий JavaScript. Разработка приложения начинается с создания интерфейсных HTML-страниц при помощи любого предназначенного для этих целей средства или текстового редактора, например Hot MetalPro или Microsoft Front Page. Полученные при этом страницы сохраняются в HTML-формате и используются в дальнейшем Транзакционным Сервером в качестве шаблонов при динамической генерации результатов запросов пользователей. Большое количество волшебников позволяют быстро создавать все типичные бизнес-объекты (отчеты, формы, таблицы, навигационные панели и др.). 2. При помощи продукта WebSpeed Workshop осуществляется связь между полями форм/шаблонов созданных HTML-файлов и таблицами и полями СУБД, с которыми будет работать приложение. Здесь же добавляется логика, связанная с данными полями и реализуемая на 4GL Progress, SQL или JavaScript. Начало и конец транзакций определяются в Progress с помощью специальных команд, запускающих транзакционные механизмы. Результат в виде процедур на соответствующем языке сохраняется в том же HTML-файле, который будет в дальнейшем исполняться непосредственно на WEB-сервере Транзакционным Агентом. 3. HTML-шаблоны тестируются и компилируются. На этом этапе разработка приложения завершена и можно переходить непосредственно к эксплуатации информационной системы. Эксплуатация приложения
Транзакционный сервер WebSpeed работает под Windows NT 3.51 и выше (Intel и Digital Alpha), Digital Unix, IBM AIX, Sun Solaris (SPARC), HP-UX, SCO UnixWare и с любым Web-сервером, совместимым с ISAPI, NSAPI или CGI 1.1 интерфейсом. После размещения и отладки приложения на WEB-сервере процедура взаимодействия клиентов с приложением выглядит следующим образом: 1. На клиентской части запускается любой HTML-броузер v2.0 или выше, пользуясь которым пользователь при помощи URL-запроса выходит на WEB-сервер, с размещенным на нем приложением. 2.
На WEB- сервере запускается транзакционный сервер WebSpeed, который запускает Транзакционный Брокер. 3. Запрос от клиентской машины через оптимизированный API-интерфейс перехватывается Транзакционным Брокером, который в ответ на данный запрос запускает Транзакционного Агента как отдельный процесс Progress. Тот в свою очередь и исполняет разработанное приложение. Так как собственно приложение состоит из HTML-шаблонов и процедур на 4GL Progress, то оно способно осуществлять доступ и транзакционную обработку по любым, поддерживаемым Progress распределенным источникам данных. 4. Результат обработки запроса совместно с HTML-шаблонами передается на Генератор Страниц, который динамически генерирует HTML-страницу, содержащую требуемые данные. 5. HTML-страница передается на клиентскую часть по протоколу TCP/IP. Далее процедура, описанная в пп. 1-5 повторяется. Выводы К числу преимуществ реализации подхода, предложенного Progress Software Corp., для разработки информационных систем, ориентированных на работу через Internet/Intranet, следует отнести следующее:
Приложения для Internet создаются на 4GL Progress, традиционно сильном языке для архитектур Хост/Терминал, каковой, по сути, и является среда Internet. Транзакции, инициируемые клиентской машиной, могут включать в себя бизнес-логику и обработку данных из многих СУБД одновременно, причем различных форматов. Встроенная поддержка транзакционных механизмов позволяет быстро разрабатывать сложные приложения. Приложения для Internet создаются на 4GL Progress, с поддержкой всей многоплатформенности, присущей языку. Это позволяет сохранять инвестиции на разработку информационных систем при переходе на другие программно-аппаратные платформы. Приложения, написанные при помощи Progress, легко интегрируются с уже готовыми системами, разработанными на Progress, Oracle, Informix, Sybase, Clipper, FoxPro и др. Технология WebSpeed рентабельна с экономической точки зрения - на клиентской части необходимы лишь средства работы с Internet/Intranet и любой Internet-броузер.Нет необходимости в приобретении клиентской части Run-Time.
CSBI EE (Компьютерные Системы для Бизнеса) - Санкт-Петербург
Ольга Твердова
Тел. (812) 293-0544, 293-0521, 293-3480
Факс (812) 293-3513
E-mail: ,
| |
Совместное применение новых информационных технологий:
Совместное применение новых информационных технологий:
Технология хранилищ данных и оперативной аналитической обработки Технологии Web и Java
позволит создать информационную инфраструктуру корпорации и упростить доступ к данным для оперативного анализа.
Центр Информационных Технологий
Москва, Ленинские горы, МГУ им. М.В. Ломоносова, 2-ой учебный корпус
Тел.: (095) 932-9212, 932-9213, 939-0783
Факс: 939-3670, 939-0805
E-mail:
URL:
|