
- •Современные исследования в области бд
- •1.Введение
- •1.1.Реляционные системы
- •Интеграция и интероперабельность
- •1.2.Постреляционные системы
- •Активные бд
- •Дедуктивные бд
- •Темпоральные бд
- •Субд следующего поколения
- •Объектно-ориентированные базы данных
- •1.3.Распределенные субд
- •Распределенные и параллельные системы баз данных
- •Обзор известных механизмов репликации данных (тиражирование)
- •Тиражирование слиянием
- •Тиражирование моментального снимка данных
- •Тиражирование транзакций
- •Обновление на подписчике
- •Распределенные транзакции
- •Общие замечания
- •Тиражирование в sql Server 7.0
- •Оперативная аналитическая обработка данных
- •Способы аналитической обработки данных
- •Оперативная аналитическая обработка данных
- •Интеллектуальный анализ данных
- •Интеграция olap и иад
- •Критерии оценки существующих продуктов
- •1. Общее понятие
- •1.1 Архитектуры управления данными
- •1.2 План работ в области пространств данных
- •2. Примеры
- •3. Пространства данных
- •3.1 Логические компоненты пространств данных
- •3.2 Сервисы пространства данных
- •3.3 Системы пространств данных
- •4. Исследовательские проблемы
- •4.1 Модели данных и запросы в dssp
- •4.2 Раскрытие пространства данных
- •4.3 Повторное использование человеческого труда
- •4.4 Хранение и индексирование пространств данных
- •4.5 Гарантии корректности
- •4.6 Теоретические основы
- •5. Перспективы
- •5.1 Связь с другими областями
- •5.2 Обучение пространствам данных
- •5.3 Промышленные перспективы
- •6. Заключение
Современные исследования в области бд
1.Введение
Будучи основным инструментальным средством построения информационных систем, используемых в производстве, бизнесе и научной деятельности, базы данных и системы управления базами данных сами составляют обширную область исследований. Эта область на сегодняшний день является одной из наиболее интересных среди всех научных областей, связанных с применением компьютеров. В исследованиях и экспериментальных разработках СУБД применяются практически все известные подходы и методы, используемые в смежных областях. Однако, имеется масса нерешенных проблем, требующих создания новых подходов и методов.
Во всех научных направлениях исследования ведутся в университетах и научно-исследовательских лабораториях коммерческих компаний. Обычно в университетах проводятся наиболее фундаментальные и теоретические исследования, заканчивающиеся созданием экспериментальных прототипов систем, а исследования, выполняемые в лабораториях коммерческих компаний, более ориентированы на расширение возможностей и повышение качества коммерчески доступных систем. Не является исключением и научная, и коммерческая деятельность, связанная с базами данных.
1.1.Реляционные системы
Широкое распространение и мощь современных реляционных СУБД заставляет, в первую очередь, поговорить о проблемах и путях развития реляционных БД.
Многие полагают, что реляционные СУБД, являясь наиболее распространенным современным аппаратом построения информационных систем, не представляют уже интереса в научном отношении. Однако, и в этой области остается еще много нерешенных или решенных не полностью проблем. Об этом свидетельствуют появляющиеся по-прежнему научные статьи, посвященные тематике чисто реляционных систем, а также активная научно-практическая деятельность компаний-производителей коммерческих реляционных систем, стремящихся улучшать свои продукты и придавать им новые качества.
Продолжающаяся работа исследователей (главным образом, университетских) затрагивает вопросы оптимизации запросов, новых алгоритмов выполнения реляционных операций, оптимизации структур хранения данных и другие аспекты, непосредственно определяющие эффективность СУБД. Те же самые вопросы занимают и разработчиков коммерческих СУБД, которые, кроме того, (и в большей степени) озабочены и более прикладными проблемами. Рассмотрим немного подробнее существо некоторых из этих вопросов и то, каким образом они решаются в наиболее развитых коммерческих продуктах.
Развитие и стандартизация SQL
Для всех современных коммерческих реляционных СУБД базовым средством доступа к базам данных является язык SQL. В 1989 г. появился первый международный стандарт этого языка, и большинство производителей СУБД объявило свои системы соответствующими этому стандарту. Но стандарт 1989 г. был довольно ограниченным (например, в него не входили средства манипулирования схемой БД, динамический SQL и т.д.), а многие вошедшие в стандарт аспекты языка были специфицированы недостаточно строго. Поэтому в разных текущих реализациях различаются очень существенные аспекты.
В 1992 г. был принят новый стандарт SQL-92. Этот язык существенно более сложен, чем SQL-89, а конструкции SQL-92 специфицированы в стандарте существенно более полно. Первой компанией, которая объявила о соответствии своего продукта новому стандарту, была компания Oracle со своей седьмой версией (это произошло также в 1992 г.).
Кроме того, как это бывает всегда, производители стремятся добавить к своим продуктам качества, превышающие требования стандарта. Например, современные версии Oracle и Ingres содержат некоторые возможности определения триггеров, не предусмотренные действующим стандартом, но очень полезные и привлекательные для разработчиков прикладных систем; в системе uniVerse компании VMark поддерживается расширенная ненормализованная реляционная модель и т.д. Другими словами, (поскольку стандарты почти всегда принимаются по итогам «полезности и популярности», а следовательно, хотя и вносят строгость в основу, всегда отстают от текущих требований) компании стремятся смотреть в будущее, предвидя требования следующего стандарта SQL. К слову сказать, работа в комитете по стандартизации языка SQL является очень существенной частью научно-практической деятельности компаний.
Параллельные серверы баз данных
Практически все развитые коммерческие СУБД основываются на архитектуре клиент-сервер. При этой организации наиболее трудоемкие операции над базами данных выполняются на сервере, который должен быть достаточно мощным и обладать соответствующим набором ресурсов основной и внешней памяти. До поры серверная часть СУБД обладала простой организацией: запросы, поступающие из клиентских частей системы, обрабатывались последовательно с небольшой оптимизацией для совмещения процессорной работы с работой устройств внешней памяти.
Однако с появлением на рынке мультипроцессорных симметричных аппаратных архитектур, производители СУБД были вынуждены пересмотреть организацию своих серверов, допустив в них внутреннюю параллельность, т.е. разбиение запроса к БД на части, которые можно выполнять параллельно. Естественно, это требует очень основательного перепроектирования системы с ее существенным усложнением. Идея использовать специальные свойства аппаратуры для повышения эффективности систем баз данных не является новой. Несколько лет назад очень популярным направлением в области баз данных были специализированные аппаратно-программные «машины баз данных».
Но в сегодняшней ситуации имеется большое отличие. Направление параллельных серверов баз данных гораздо ближе к подходу «Открытых Систем», одним из базовых свойств которых является масштабируемость аппаратно-программных продуктов, т.е. свойство сохранять функциональность при минимальном наборе аппаратных средств.
Заметим, что в большинстве случаев компании пошли на это после появления в ОС UNIX механизма легковесных процессов (threads). О серьезности этой работы говорит тот факт, что, например, в компании Informix было образовано новое подразделение, занимающееся исключительно вопросами распараллеливания работы серверов. Одной из проблем коммерческих компаний, разрабатывающих мобильные параллельные серверы баз данных, является отсутствие стандарта механизма легковесных процессов.