Adabas — основа технологий software ag

Мультимодельность

Термин «многовариантное хранение» вошел в обиход в 2011 году. Осознание проблем подхода и поиск решения заняли несколько лет, и к 2015 году устами аналитиков Gartner ответ был сформулирован:

  • Из «Market Guide for NoSQL DBMSs — 2015»:
  • Из «Magic Quadrant for ODBMS — 2016»:

Похоже, что в этот раз аналитики Gartner с прогнозом не ошиблись. Если зайти на страницу с основным рейтингом СУБД на DB-Engines, можно увидеть, что большая часть его лидеров позиционирует себя именно как мультимодельные СУБД. То же можно увидеть и на странице с любым частным рейтингом.

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

СУБД Изначальная модель Дополнительные модели
Oracle Реляционная Графовая, документная
MS SQL Реляционная Графовая, документная
PostgreSQL Реляционная Графовая*, документная
MarkLogic Документная Графовая, реляционная
MongoDB Документная Ключ-значение, графовая*
DataStax Wide-column Документная, графовая
Redis Ключ-значение Документная, графовая*
ArangoDB Графовая, документная
OrientDB Графовая, документная
Azure CosmosDB Графовая, документная, реляционная

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

Какие задачи решаем?

Наша услуга сокращает эксплуатационные затраты, в которые среди прочего входят зарплаты администраторов БД (например, в Московском регионе зарплата Oracle DBA в месяц может доходить до 200 т.р.), а также снижает риски, связанные с инфраструктурой, на которой развернуты БД. Ее можно использовать для запуска новых или обновления существующих бизнес-приложений, таких как корпоративная система электронной почты, системы CRM и HRM, бухгалтерское, складское, финансовое и аналитическое ПО.

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

Для разных приложений у нас типовые конфигурации:

Распространенные варианты использования DBaaS — создание тестовых сред для функционального и нагрузочного тестирования, разовые проекты со сжатыми сроками, решение проблемы эпизодических «пиковых нагрузок», например, формирование аналитической или финансовой отчетности.

История

Adabas был разработан для устранения недостатков СУБД, хранящих данные в третья нормальная форма. Adabas может хранить несколько взаимосвязей данных в одной таблице.

Первоначально выпущено Software AG в 1971 г. на Мэйнфрейм IBM системы, использующие DOS / 360, ОС / MFT, или OS / MVT, Adabas в настоящее время доступен в ряде корпоративных систем, включая BS2000, z / VSE, z / OS, Unix, Linux, и Майкрософт Виндоус. Adabas часто используется вместе с языком программирования Software AG. ; многие приложения, использующие Adabas в качестве базы данных на сервере, разрабатываются с помощью Natural. В 2016 году Software AG объявила, что поддержка Adabas и Natural будет поддерживаться до 2050 года и далее.

Адабас — один из трех основных перевернутый список Пакеты СУБД, два других — Computer Corporation of America Модель 204 и ADR Датаком / БД.

Миграция в облако

Часто возникает вопрос, как перенести БД в облако. Мы разработали сценарии миграции данных на облачную инфраструктуру с использованием технологий Microsoft Mirroring и Always On Availability Groups, Oracle Data Guard, Oracle Golden Gate, Oracle Dbvision. Миграция включает в себя:

• Анализ с выбором методов решения задачи.
• Исследование на готовность системы.
• Рекомендации по подготовки системы.
• Составление детального плана.
• Тестирование процедуры миграции.
• Актуализацию результатов.
• Тестирование перед запуском в эксплуатацию.
• Финальную миграцию.
• Сопровождение постмиграционного периода.
• Решение проблемных вопросов.
• Контроль качества на всех этапах работ.
• Учет всех требований по простою системы, методик и оформления миграционных процедур.

Сколько это стоит?

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

Вариант 1. Функциональное тестирование на СУБД PostgreSQL для разработчиков конфигурации «1С: Зарплата и кадры», эксплуатируемой в сети автосервисов.

Вариант 2. Пример расчета стоимости сервиса БД MS SQL для ERP MS Axapta эксплуатируемой в сети магазинов детских игрушек.

Вариант 3. Пример расчета стоимости сервиса БД Oracle для системы поддержки туристического бизнеса используемой туристическим оператором и его агентствами.

У нас на сайте можно рассчитать стоимость услуги с помощью .

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

Polyglot persistence

Сказанное выше приводит к тому, что порою в рамках даже одной системы приходится для хранения данных и решения различных задач по их обработке использовать несколько различных СУБД, каждая из которых поддерживает свою модель данных. С легкой руки М. Фаулера, автора ряда известных книг и одного из соавторов Agile Manifesto, такая ситуация получила название многовариантного хранения («polyglot persistence»).

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

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

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

  • Объем кода, выполняющего сохранение данных, растет пропорционально числу используемых СУБД; объем кода, синхронизирующего данные, — хорошо если не пропорционально квадрату этого числа.
  • Кратно числу используемых СУБД возрастают затраты на обеспечение enterprise-характеристик (масштабируемости, отказоустойчивости, высокой доступности) каждой из используемых СУБД.
  • Невозможно обеспечить enterprise-характеристики подсистемы хранения в целом — особенно транзакционность.

С точки зрения директора зоопарка все выглядит так:

  • Кратное увеличение стоимости лицензий и техподдержки от производителя СУБД.
  • Раздутие штата и увеличение сроков.
  • Прямые финансовые потери или штрафные санкции из-за несогласованности данных.

Имеет место значительный рост совокупной стоимости владения системой (TCO). Есть ли из ситуации «многовариантного хранения» какой-то выход?

ADABAS — адаптивная многомодельная СУБД

Прежде всего в своем основном продукте — базах данных — SOFTWARE AG
никогда не выступала адептом какой-либо одной, можно сказать, какой-либо
конкретной модели данных. Компания старалась придать как можно больше гибкости
своим продуктам. Свою приверженность идее гибкого адаптивного матобеспечения
компания зафиксировала в названии своего ключевого продукта — Adaptable
DAta BASe. ADABAS можно использовать для реализации практически любой специфической
модели данных.

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

Кроме того, SOFTWARE AG не ограничивает себя работой с одной и только
с одной системой управления базами данных. Так, системы обеспечения принятия
решений, используемые конечными пользователями, работают в основном с традиционными
SQL-базами данных. Хотя при этом поставщики подобных СУБД начинают отдавать
себе отчет в том, что трудно представлять живое многообразие предметных
областей в виде совокупности простейших двумерных таблиц. Вместе с тем
справедливо и другое: конечного пользователя мало заботит, где же, собственно,
находятся нужные ему данные. Понимание этого факта нашло отражение в разработке
технологии активных подсхем данных, которая в настоящее время реализована
не только в виде развитой концепции объединенного хранилища данных или
Data Warehouse, но и позволила сформировать на ее основе действующую проектную
методологию для создания, сопровождения и использования соответствующих
информационных технологий. Мы надеемся более подробно остановиться на этой
актуальной теме в следующих публикациях.

Объектные

Данный тип СУБД предназначен для хранения и работы с объектами, у которых имеются свойства и методы. Основная задача таких СУБД заключается в избавлении разработчиков, использующих ООП, от необходимости трансформировать объекты в таблицы/строки и обратно. В объектных СУБД реализованы инкапсуляция и полиморфизм. Среди популярных СУБД этого типа можно назвать MongoDB Realm, InterSystems Caché, ObjectStore, Actian NoSQL DB, Objectivity/DB.

БД как сервис

  • MS SQL Web;
  • MS SQL Standard;
  • PostgreSQL (typical);
  • PostgreSQL (high availability);
  • MySQL (typical);
  • MySQL (high availability).


Тип СУБД


Когда выбирать


Популярные СУБД данного типа

1

Реляционные

Нужна транзакционность; высокая нормализация; большая доля операций на вставку

Oracle, MySQL, Microsoft SQL Server, PostgreSQL, IBM DB2, SQLite

2

Ключ-значение

Задачи кэширования и брокеры сообщений

Redis, Memcached, etcd

3

Документные

Для хранения объектов в одной сущности, но с разной структурой; хранение структур на основе JSON

Couchbase, MongoDB, Amazon DocumentDB

4

Графовые

Задачи подобные социальным сетям; системы оценок и рекомендаций

Neo4j, Amazon Neptune, InfiniteGraph, TigerGraph

5

Колоночные

Хранилища данных; выборки со сложными аналитическими вычислениями; количество строк в таблице превышает сотни миллионов

Vertica, ClickHouse, Google BigQuery, Sybase \ SAP IQ, InfoBright

6

Time series

Системы мониторинга, сбора телеметрии, и финансовые системы, с привязкой к временным меткам или временным рядам

InfluxDB, Kdb+, Prometheus, TimescaleDB, QuestDB, AWS Timestream, OpenTSDB, GridDB

7

Объектные

Высокопроизводительная обработка данных, имеющих сложную структуру, с использованием языков объектно ориентированного программирования

MongoDB Realm, InterSystems Caché, ObjectStore, Actian NoSQL DB, Objectivity/DB

8

Search engine

Системы полнотекстового поиска

Apache Solr, Elasticsearch, Splunk

9

Spatial

GIS-решения, работа с геометрическими объектами

Oracle Spatial, Microsoft SQL, PostGIS, SpatialLite

Возможности и виды СУБД

ТОП-30 IT-профессий 2022 года с доходом от 200 000 ₽

Команда GeekBrains совместно с международными специалистами по развитию карьеры
подготовили материалы, которые помогут вам начать путь к профессии мечты.

Подборка содержит только самые востребованные и высокооплачиваемые специальности
и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились
с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Александр Сагун
Исполнительный директор Geekbrains

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Получить подборку бесплатно

pdf 3,7mb
doc 1,7mb

Уже скачали 16914

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

СУБД содержит в себе ряд элементов:

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

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

Возможности и виды СУБД

Основными назначениями СУБД являются:

  • обеспечение корректной работы языков БД;
  • регулирование рабочих процессов с данными во внешней памяти;
  • регулирование рабочих процессов с данными в ОЗУ и сохранение дисковой памяти;
  • сохранение редактирований, произведенных в БД;
  • создание резервных копий и восстановление информации после сбоев.

Только до 26.12

Как за 3 часа разбираться в IT лучше, чем 90% новичков и выйти надоход в 200 000 ₽?

Приглашаем вас на бесплатный онлайн-интенсив «Путь в IT»! За несколько часов эксперты
GeekBrains разберутся, как устроена сфера информационных технологий, как в нее попасть и
развиваться.

Интенсив «Путь в IT» поможет:

  • За 3 часа разбираться в IT лучше, чем 90% новичков.
  • Понять, что действительно ждет IT-индустрию в ближайшие 10 лет.
  • Узнать как по шагам c нуля выйти на доход в 200 000 ₽ в IT.

При регистрации вы получите в подарок:

«Колесо компетенций»

Тест, в котором вы оцениваете свои качества и узнаете, какая профессия в IT подходит именно вам

«Критические ошибки, которые могут разрушить карьеру»

Собрали 7 типичных ошибок, четвертую должен знать каждый!

Тест «Есть ли у вас синдром самозванца?»

Мини-тест из 11 вопросов поможет вам увидеть своего внутреннего критика

Хотите сделать первый шаг и погрузиться в мир информационных технологий? Регистрируйтесь и
смотрите интенсив:

Только до 26 декабря

Получить подборку бесплатно

pdf 4,8mb
doc 688kb

Осталось 17 мест

СУБД принято классифицировать по принципу совокупности структур данных, т.е. по модели данных, с которой работает СУБД:

  • Иерархическая. Структура БД – древовидная, т.е. имеет иерархию из объектов разного уровня.
  • Сетевая. По сути, это более расширенная иерархическая структура, но она придерживается принципа отношения данных «многие ко многим».
  • Реляционная. Данные представлены в виде простых таблиц из столбцов и строк.
  • Объектно-ориентированная. Такая СУБД управляет БД, в которых информация моделируется как объекты, методы и классы.
  • Объектно-реляционная. Это реляционная СУБД, которая поддерживает некоторые технологии объектно-ориентированной СУБД.

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

Отвечая на вызов времени

У значительной части российской компьютерной общественности, внимательно
следящей за развитием событий в мире независимых изготовителей программного
обеспечения для открытых систем, сложилось устойчивое представление, что
Software AG вообще, а ADABAS в частности, имеет мало общего с общепринятыми
ценностями, в разной степени реализованными в продуктах других фирм; что
ADABAS концептуально замер на уровне больших ЭВМ, рынок которых постоянно
сокращается; что мало просто повторить существующий продукт для большой
ЭВМ на общепризнанных платформах открытых систем.

Отвечая на этот вызов не в порядке полемики, хотелось бы отметить те
возможности, которые уже реализованы в современных версиях ADABAS.

Поддержка SMP и MPP архитектур

Такой подход к распараллеливанию обработки команд, как мультипотоковая
архитектура, был реализован в ADABAS на рубеже 80-х годов, в версии 4.
Логическим развитием этого направления стало объявление в конце 1994 года
нового продукта ADAPLEX+, поддерживающего SMP-архитектуру IBM на базе новейших
продуктов IBM 9672 (Parallel Transaction Server) и IBM 9674 (Coupling Facility).
При этом сохранен прежний интерфейс с приложениями. То есть, перенос базы
данных в эту среду выполняется незаметно для прикладных систем.

Выпуск такого продукта был бы невозможен без тесного сотрудничества
Software AG и IBM. Это сотрудничество для поддержки мультипроцессорных
систем продолжает развиваться. Так, в конце 1994 года эти же фирмы объявили
о совместном проекте по развитию своих продуктов для платформ SP1 и SP2.

В рамках Европейской программы Esprit две европейские компании Software
AG и ICL объявили о сотрудничестве в области поддержки MPP-архитектуры
на платформе ICL GOLDRUSH MegaSERVER. Прототип ADABAS»a на MPP-платформе
был уже продемонстрирован на выставке CeBIT»95.

Расширения языка манипулирования данными (SQL, ODBC, DDE)

Наряду с поддержкой традиционного (и хорошо известного) языка манипулирования
данными, включая поддержку ANSI SQL, Software AG оснастил ADABAS новым
языком манипулирования данными в рамках продукта ADABAS ODBC Client в среде
Windows. Он обеспечивает прямой доступ к СУБД ADABAS, расположенной на
сервере базы данных, из таких популярных продуктов для Windows, как Microsoft
ACCESS, EXCEL и VISUAL BASIC, а также Power Builder фирмы Powersoft. ADABAS
ODBC Client состоит из двух компонент: ADABAS ODBC и ADABAS DDE Server.

Поскольку в основе ODBC-интерфейса лежит SQL, который соответствует
CLI-спецификациям SQL Access Group, а, как уже упоминалось, основная модель
данных ADABAS допускает вложенность таблиц, Software AG планирует уже в
этом году обеспечить возможность работы с вложенными таблицами, используя
ODBC-протокол.

ADABAS DDE Server также обеспечивает прямой доступ к базам данных ADABAS
из приложений в среде Windows. В отличие от ODBC приложения обращаются
к данным, используя язык манипулирования, практически совпадающий с аналогичными
по назначению операторами NATURAL, что обеспечивает полную поддержку основной
модели данных ADABAS.

Обработка транзакций (2 PC, XA-стандарт, репликатор)

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

Осознавая важность обеспечения
целостности баз данных и в мире открытых систем, SOFTWARE AG обеспечила
работу своих продуктов в соответствии с концепцией глобальных транзакций,
изложенной в X/Open CAE Specification on Distributed Transaction Processing
(X/Open Doc. No

XO/CAE/91/300). По мере внедрения интерфейсов открытых
систем на платформы традиционных больших ЭВМ (IBM) планируется обеспечение
поддержки указанной концепции и на этих платформах.

В то же время компания давно поняла необходимость поиска альтернативных
решений, менее зависящих от качества сетевых коммуникаций. Еще в середине
80-х годов, реализуя большую территориально распределенную сеть в Италии,
фирма нашла решение, которое потом в 1992 году было оформлено в изделие
ENTIRE TRANSACTION PROPAGATOR. Аналогичные изделия сегодня называются репликаторами
данных. Отличие репликатора SOFTWARE AG состоит в том, что он работает
на всех платформах серверов ADABAS, начиная от OS/2, через UNIX и OpenVMS
и до больших ЭВМ.




<< ПРЕДЫДУЩАЯ СТАТЬЯ ][ СЛЕДУЮЩАЯ СТАТЬЯ >>

Нереляционный

В официальном документе IBM за 2015 год говорится, что «приложения, написанные в реляционной базе данных, такой как Adabas, больше не являются массовыми и не соответствуют принятым отраслевым стандартам ИТ». Однако базу данных Adabas можно спроектировать в соответствии с реляционной моделью. Хотя существуют инструменты и службы, облегчающие преобразование Adabas в различные реляционные базы данных, такие миграции обычно дороги.

Аппаратное усиление zIIP

IBM zIIP (Интегрированный информационный процессор System z) специальные процессоры обеспечивают «прямой SQL-доступ в реальном времени к Adabas» (даже если данные могут по-прежнему храниться в нереляционной форме).

Примеры современных СУБД

  • Oracle Database — объектно-реляционная клиент-серверная СУБД, одна из первых и самых популярных в мире. Платная, сложная, подходит для больших проектов.
  • PostgreSQL — объектно-реляционная СУБД клиент-серверного типа, которую иногда называют бесплатным аналогом Oracle. Масштабная, рассчитана на высоконагруженные проекты, содержит огромное количество функций и распространяется бесплатно.
  • MySQL — реляционная клиент-серверная СУБД. Популярный выбор для проектов небольшого и среднего размера. Легкая, гибкая и довольно простая в использовании. Она бесплатная, хорошо подходит для обучения и веб-проектов.
  • MongoDB — документно-ориентированная NoSQL-СУБД, где данные хранятся в JSON-подобных файлах. Тоже бесплатная, а внутренний язык запросов основан на JavaScript.
  • SQLite — маленькая и легкая встраиваемая СУБД, которая активно применяется в локальных проектах.

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

Рынок DBaaS

Вначале коротко о рынке. Если вы уже знакомы с этой информацией, переходите сразу к блоку «Четыре в одном», но нам показалось, эти данные довольно интересны.

По прогнозу Technavio, в ближайшие годы мировой рынок DBaaS будет демонстрировать экспоненциальный рост — более чем на 65% ежегодно. Вместо того, чтобы вкладывать большие средства в аппаратные платформы, многие компании склонны инвестировать средства в услуги с еженедельной, ежеквартальной или ежегодной оплатой по подписке.

Объем работ по поддержке собственных многочисленных баз данных и серверов может быть весьма серьезным. Стандартизация, когда все в одной среде, переводит процесс на уровень выше и упрощает работу с БД. Тут ключевое слово – «упрощает», отмечают аналитики IDC.

Судя по результатам опросов, реляционные облачные СУБД – в числе самых популярных сервисов публичных облаков. Их используют 35% респондентов, экспериментируют -14%, планируют внедрение – 12% (источник – RightScale).

Более того, переход на облачные вычисления снижает затраты за счет консолидации ресурсов, повышая эффективность ИТ-инфраструктуры. Благодаря консолидации ресурсов можно также предоставить заказчикам дополнительную производительность и повысить управляемость.

По данным Forrester, AWS – лидер рынка DBaaS. Amazon Relational Database Service позволяет работать с БД Oracle, Microsoft SQL Server, MySQL, MariaDB и PostgreSQL в среде EC2. Из 100 тыс. исследованных 2ndWatch экземпляров БД 67% представляли Amazon RDS.

Рост оборота мирового рынка DBaaS в млн. долларов (по данным 451 Research).

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

Рост сервиса Oracle DBaaS в мире.

Аналитики Markets&Markets прогнозируют, что рынок облачных СУБД/DBaaS вырастет с 1,07 млрд. долларов в 2014 году до 14,05 млрд. долларов к 2019 году при ежегодных темпах роста (CAGR) в 46%.

Интеграция и открытость

Чтобы выжить в 90-е годы, организации должны больше, чем когда-либо
прежде, признавать и учитывать наличие конкуренции. Решающим фактором успеха
при этом будет информация. Без нее нельзя оптимизировать свою деятельность
и адаптироваться к новым потребностям рынка.

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

В соответствии с этим в 1987 году SOFTWARE AG объявила о предложении
открытой Интегрированной программной архитектуры (ISA-архитектура). Концепции,
заложенные в ее основу, служат ориентиром развития изделий Software AG
и сегодня.

Если в прошлом оригинальные архитектуры вычислительных систем играли
главенствующую роль в коммерческой обработке данных, что неизменно привязывало
заказчика к одной программно-технической среде, то появление новых платформ
вычислительных машин и операционных систем, таких как UNIX, дало импульс
движению в сторону «открытых» архитектур. И хотя некоторые отождествляли
только UNIX с понятием «открытой системы», все больше пользователей
склоняются к тому, что одного UNIX»а все-таки недостаточно. Это привело
SOFTWARE AG в 1990 году к созданию нового семейства продуктов ENTIRE, относящегося
к программному обеспечению промежуточного слоя, получившему в современной
литературе обобщенное название Middleware.

Семейство продуктов ENTIRE представляется фирмой логическим развитием
и продолжением концепций ISA-архитектуры применительно к сетям ЭВМ. Оно
обеспечивает техническую инфраструктуру работы приложений в распределенных
вычислительных системах за счет создания однородной виртуальной вычислительной
среды их функционирования. При этом от прикладной программы, и тем более
от пользователя, полностью скрыты такие детали его системы, как используемые
коммуникационные протоколы (TCP/IP, SNA, DECnet, SPX/IPX, Banyan, NETBIOS
и др.), операционные системы (MVS, VM, VSE, VMS, семейство UNIX, Windows,
OS/2 и др.) и системы хранения и управления данными (ADABAS, IMS/DB, DL/1,
SQL/DS, VSAM, IDMS, DB/2X, Rdb, RMS, Infornix, Oracle, Sybase, CA-Ingres,
Leasy, Sesam, DMS, совместимые с Microsoft/ODBC и др.)

На основе этих продуктов реализуются предлагаемые фирмой программы и
технологии перевода существующих приложений для больших ЭВМ на менее мощные
(Downsizing) и оптимального согласования мощностей ЭВМ с задачами предприятия
(Rightsizing).

Объявив в 1991 году о создании продуктов для рабочих станций клиента,
фирме последовательно удалось осуществить современные концепции обработки
данных:

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

В полном соответствии с идеологией открытости фирма SOFTWARE AG обеспечила
функционирование практически всех своих основных изделий на наиболее массовых
типах ЭВМ, производимых фирмами IBM, Amdahl, Hitachi, Comparex, NAS, Siemens,
DEC, Wang, Hewlett-Packard, Sun и других UNIX-ЭВМ, а также на персональных
ЭВМ, совместимых с IBM/PC/PS и Apple Macintosh. Существенно и то, что обеспечивается
переносимость разработанных на базе изделий SOFTWARE AG прикладных систем/программ
с одного типа ЭВМ на другой. Это достигнуто за счет использования единого
языка программирования и средств технологической и проектной оснастки высокого
уровня, никак не связанных с особенностями конкретного типа ЭВМ.

Это означает, что изделия фирмы обладают важнейшим свойством открытых
систем — они дают заказчику свободу в выборе оборудования и программного
обеспечения, причем свободу, в самом широком смысле. С точки же зрения
мышления в терминах «открытых систем» основным для SOFTWARE AG
является акцент на эволюционные (постепенные), а не революционные изменения
вычислительной среды предприятия.

Из чего состоят системы управления базами данных

Если база — это хранилище, то СУБД — комплекс средств для обслуживания хранилища. СУБД имеет сложное устройство.

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

Процессор языка или компилятор обрабатывает запросы. Обычно СУБД реляционного, объектно-ориентированного и объектно-реляционного типа поддерживают язык SQL и внутренние языки запросов.

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

Устройство СУБД

Мультимодельные СУБД на основе реляционной модели

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

Автору, однако, больше нравится реализация мультимодельности в Microsoft SQL Server, на примере которого поддержка РСУБД документной и графовой моделей и будет описана.

Документная модель в MS SQL Server

О том, как в MS SQL Server реализована поддержка документной модели, на Хабре уже было две отличных статьи, ограничусь кратким пересказом и комментарием:

  • Работаем с JSON в SQL Server 2016
  • SQL Server 2017 JSON

Способ поддержки документной модели в MS SQL Server достаточно типичен для реляционных СУБД: JSON-документы предлагается хранить в обычных текстовых полях. Поддержка документной модели заключается в предоставлении специальных операторов для разбора этого JSON:

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

Вторым аргументом обоих операторов является выражение в JSONPath-подобном синтаксисе.

Абстрактно можно сказать, что хранимые таким образом документы не являются в реляционной СУБД «сущностями первого класса», в отличие от кортежей. Конкретно в MS SQL Server в настоящее время отсутствуют индексы по полям JSON-документов, что делает затруднительными операции соединения таблиц по значениям этих полей и даже выборку документов по этим значениям. Впрочем, возможно создать по такому полю вычислимый столбец и индекс по нему.

Дополнительно MS SQL Server предоставляет возможность удобно конструировать JSON-документ из содержимого таблиц с помощью оператора — возможность, в известном смысле противоположную предыдущей, обычному хранению. Понятно, что какой бы быстрой ни была РСУБД, такой подход противоречит идеологии документных СУБД, по сути хранящих готовые ответы на популярные запросы, и может решать лишь проблемы удобства разработки, но не быстродействия.

Наконец, MS SQL Server позволяет решать задачу, обратную конструированию документа: можно разложить JSON по таблицам с помощью . Если документ не совсем плоский, потребуется использовать .

Графовая модель в MS SQL Server

Поддержка графовой (LPG) модели реализована в Microsoft SQL Server тоже вполне предсказуемо: предлагается использовать специальные таблицы для хранения узлов и для хранения ребер графа. Такие таблицы создаются с использованием выражений и соответственно.

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

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

Проиллюстрируем сказанное примером. Пусть графовые данные имеют схему как на приведенном рисунке. Тогда для создания соответствующей структуры в базе данных нужно выполнить следующие DDL-запросы:

Основная специфика таких таблиц заключается в том, что в запросах к ним возможно использовать графовые паттерны с Cypher-подобным синтаксисом (впрочем, «» и пр. пока не поддерживаются). Также на основе измерений производительности можно предположить, что способ хранения данных в этих таблицах отличен от механизма хранения данных в обычных таблицах и оптимизирован для выполнения подобных графовых запросов.

Более того, довольно трудно при работе с такими таблицами эти графовые паттерны не использовать, поскольку в обычных SQL-запросах для решения аналогичных задач потребуется предпринимать дополнительные усилия для получения системных «графовых» идентификаторов узлов (, , ; по этой же причине запросы на вставку данных не приведены здесь как слишком громоздкие).

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: