Презентация "Постреляционные базы данных. Возможности и перспективы"


Подписи к слайдам:
Новые технологии

Постреляционные базы данных. Возможности и перспективы

  • Ващило Владимир

Истоки проблем

  • Существует класс бизнес задач, в которых идут обращения к «бизнес объектам» - аналогам реальных документов (счета-фактуры, ордера, накладные)
  • Нормализация на атомы
  • Вложенные бизнес объекты

Основные проблемы

  • Как работать с полями переменной длины и группами
  • Отношения «1-Много» и «Много-Много» между таблицами и полями, целостность
  • Невозможность адекватного отражения семантического содержания в предметной области
  • Управление отношениями через объединения – Что это? Почему временно? Где целостность и бизнес правила?

Решения

  • Postgress – Калифорнийский университет, г. Беркли, Стоунбрейкер
  • Cache – InterSystems, г. Кембридж
  • а также Teradata, UniVerse, UniData и др.

Основные понятия

  • Реляционная БД – плоские таблицы, набор именованных полей, первичных ключей и связей
  • Постреляционная БД – многомерные таблицы и разрежённые данные + реляционные возможности

Специализация Cache

  • Высокопроизводительная СУБД
  • с максимальной скоростью разработки приложений

Архитектура Caché

  • SQL
  • MDS
  • Objects
  • Platforms
  • MD
  • Cache Object Script
  • SQL
  • Objects
  • Direct
  • WEB

Платформы Caché

  • Оптимизирована для всех основных платформ
  • Полная кроссплатформенная совместимость
  • Platforms
  • OpenVMS
  • UNIX/Linux
  • Windows NT/2k
  • Windows 95/98
  • Microsoft IIS
  • Netscape
  • Apache

Многомерное ядро

  • Columns
  • R
  • o
  • w
  • s
  • Реляционное
  • Ограничено упрощенной двумерной моделью
  • Многомерное
  • Оптимизировано для хранения данных реального мира

Многомерные массивы Caché

  • Произвольная размерность
  • Произвольный формат индексов
  • Концепция разреженных массивов
  • Элементы произвольной длины

Многомерные массивы Caché

  • ^car(“Mercedes”, “SL600”, “colors”)=3
  • ^car(“Mercedes”, “SL600”, “colors”,1)=“black”
  • ^car(“Mercedes”, “SL600”, “colors”,2)=“blue”
  • ^car(“Mercedes”, “SL600”, “colors”,3)=“white”
  • ^car(“Mercedes”, “SL600”, “black”)=10
  • Глобаль – часть данных, хранимых в виде разреженных массивов. Пример:

Caché Direct

  • Доступ на уровне многомерных массивов
  • Максимальная производительность
  • Максимальная гибкость
  • MDS
  • MD
  • Cache Object Script
  • Direct
  • WEB
  • ...
  • Multidimensional Data Server
  • Multidimensional Data

Caché Objects

  • Caché Objects
  • MDS
  • Основа - ODMG
  • Java, C++ и ActiveX интерфейсы
  • Наследование, инкапсуляция и полиморфизм
  • ActiveX
  • Java
  • C++

Caché SQL

  • MDS
  • Caché SQL
  • SQL-92 + …
  • Оптимизированна для обработки транзакций

Единая архитектура данных

  • Другие СУБД
  • Единая архитектура данных
  • Caché
  • Class
  • Table
  • Data
  • Многослойная архитектура
  • Table
  • Class
  • Data
  • Class
  • Table
  • Data
  • или

Три типа доступа – одни данные

  • Objects
  • MDS
  • SQL
  • MD
  • Прямой - критические участки
  • SQL - построение отчетов, обратная совместимость
  • Объекты - бизнес логика, GUI

Cache’ Object Script

  • Манипулирование данными в любом представлении
  • Функциональная полнота
  • Высокая производительность

Caché SQL

  • Поддерживает все элементы ANSI-стандартов, реализованных для SQL и SQL-92, а также встроенный Embedded SQL. Пример:
  • new id, Surname
  • Set Surname=“Ivanov”
  • &sql(SELECT ID into :id
  • FROM Person
  • WHERE Surname= :Surname)
  • Поиск первой записи Person с фамилией Ivanov.
  • Результат – в переменной id хранится ID записи.

Caché SQL

  • Для поиска всех записей применяется курсор:
  • &sql(DECLARE PersCur CURSOR
  • FOR SELECT Surname, DateOfBirth
  • FROM Person
  • WHERE Surname=“Ivanov”)
  • &sql(OPEN PersCur)
  • &sql(FETCH PersCur INTO :surname, :DateOB)
  • &sql(CLOSE PersCur)

Интерфейсы Caché

  • Web
  • Caché
  • SQL
  • Object
  • ODBC
  • OCI
  • JDBC
  • Direct
  • Объекты в реляционных таблицах равноправны с обычными
  • ActiveX
  • XML
  • CORBA
  • Java
  • C++

Интерфейсы Caché

  • Objects
  • Relations
  • Класс
  • Экземпляр
  • ID объекта
  • Свойство
  • Ссылка
  • Встраиваемый объект
  • Коллекция-список
  • Коллекция-массив
  • Поток данных
  • Индекс
  • Запрос
  • Метод класса
  • Таблица
  • Строка
  • ID-первичный ключ
  • Столбец
  • Внешний ключ
  • Индивидуальные столбцы
  • Столбец со списками
  • Подтаблица
  • blob
  • Индекс
  • Хранамая proc или view
  • Хранимая proc

Интерфейсы Caché

  • Caché
  • DDL
  • Cache’ Rose Link
  • CSP

Интерфейсы Caché

  • Web
  • Caché
  • SQL
  • Object
  • Object
  • Gateway
  • (CORBA)
  • SQL
  • Gateway
  • Web Клиент
  • (HTTP, FTP,
  • SMTP, POP, TCP)
  • таблицы разных других внешних реляционных БД

Caché Server Pages для web приложений

  • CSP - идеальный инструмент для построения интерфейса
    • Динамическая генерация страниц
    • Компактный код, повторное использование (CSR, наследование)
    • Скорость (код перекомпилирован на сервере)
    • Гипер-события для взаимодействия браузер - сервер
    • %session – Поддержка сессии

CSP. Как это работает?

  • CacheWebMS.dll
  • CSP source
  • Compiled classes
  • CSP/object compiler
  • Cached
  • Browser
  • WebServer
  • CacheServer
  • CSP.hello.Page()

CSP vs ASP, EJB, JSP, …

  • Fast: intra-process
  • Slow: inter-process
  • ASP
  • CSP
  • vs
  • Web Server
  • DB-Server
  • Data
  • HTTP
  • Business logic
  • DB-Server
  • Data
  • Business logic
  • Web Server
  • HTTP
  • Web Server
  • HTTP
  • DB-Server
  • Data
  • App Server
  • Business logic
  • EJB, JSP, ...
  • vs

CSP. Пример

  • Вывод значений свойств объекта, хранящегося в БД Cache:
  • <html>
  • <head></head>
  • <body>
  • <script language=“Cache” runat=“Server”>
  • set obj=##class(Sample.Person).%OpenId(1)
  • write obj.Name, “<br>”
  • write obj.Age, “<br>”
  • do obj.%Close()
  • </script>
  • </body>
  • </html>

Web-Технологии Caché

  • Двунаправленный
  • Двунаправленный
  • Двунаправленный
  • HTTP
  • Mail
  • XML

Caché – открытая технология

  • Двунаправленный
  • Двунаправленный
  • Двунаправленный
  • WEB
  • SQL
  • Objects

Промышленная технология

  • Надежность
  • Масштабируемость
  • Производительность
  • Открытость
  • Переносимость

Надежность

  • Журнал до/после записи
  • Shadow Server
  • Репликация
  • Горячий Backup
  • Интеграция со средствами системы

Надежность, которой доверяют

  • 10 лучших клиник в США
  • 3 крупнейших коммерческих лаборатории в США
  • 6 из 10 ведущих поставщиков систем для медицины в США

Масштабируемость

  • Сервер многомерных данных
  • Протокол распределенного кеша
  • NameSpace/DataSet, NWDS

Производительность

  • Сервер многомерных данных
  • Протокол распределенного кеша
  • Единая архитектура данных

Philippines Digitel

  • Построение отчета:
  • Sybase – 40 минут
  • Caché SQL – 30 секунд
  • Caché SQL+ COS - 8 секунд
  • Переход с Sybase на Caché

Открытость

  • Утилиты GUI
  • CASE
  • Другие серверные системы
  • Элементы OS
  • Интерфейс к словарю данных
  • Возможность создания собственных интерфейсов

Переносимость

  • Windows95/98/NT/Alpha/2000
  • UNIX/Linux
  • OpenVMS
  • Apache/Netscape/Microsoft …

Транспорт

  • ОАО Восточный порт, Врангель
  • ОАО Находкинский Морской Торговый Порт
  • ОАО Владивостокский Морской Торговый Порт
  • ОАО Петропавловск-Камчатский Морской Торговый Порт
  • Мариупольский Морской Торговый Порт
  • Московская Железная дорога
  • Ярославская Железная дорога
  • Аэропорт Сургут
  • и другие

Производство

  • Спасскцемент, г. Спасск
  • Балабановская спичечная фабрика
  • Лиепаяс Металургс, Латвия
  • АО «Комитекс», г. Сыктывкар
  • АО «Завод Литий»
  • АО «Човью Лес»
  • Рослегпром
  • ОАО «ВИНАП», Новосибирск
  • ЦНИИ «Электроприбор»
  • КЖБИ N211
  • и другие

Нефте-газопереработка и энергетика

  • Московская нефтебаза
  • Ноябрьскнефтегаз
  • Ярославльнефтепродукт
  • НовосибирскЭнерго
  • Энергосбыт, Чебоксары и другие
  • BP
  • Esso (Exxon)
  • Shell
  • APCO
  • Total
  • Petrobras
  • Chevron Research & Technology Company
  • Elf Oil Deutschland GmbH
  • Petrofina

Гос. и муниципальные структуры

  • Ленводоканал
  • Комитет труда и занятости Волгоградской области
  • ГНИ Новгород
  • Служба соц. защиты Ленинградской области
  • Саратов-Терминал
  • Главное управление командования ВВ
  • и другие

Банки

  • Сбербанк РФ
  • Газпромбанк
  • Альфа-банк
  • Менатеп
  • Росбанк а также
  • Первый Городской Банк
  • КрасБанк
  • Северо-Восточный Инвестиционный Банк
  • Морбанк
  • Chaze Manhattan
  • Lloyd’s bank
  • NatWest Bank
  • Deutsche Bank
  • Bulgarian National Bank
  • Ceska Sporitelna
  • и другие

Связь

  • «Уралсвязьинформ» Пермь
  • «Электросвязь» Краснодар
  • «Яртелеком» Ярославль
  • «Электросвязь» Калуга
  • «Электросвязь» Оренбург
  • «Электросвязь» Владимир
  • «Связь информ» Смоленск
  • «Электросвязь» Тамбов
  • «Электросвязь» Ульяновск
  • «Связьинформ» Астрахань
  • «Электросвязь» Орел
  • «Электросвязь» Псков
  • AT&T
  • Irish Telecom
  • Chezh Telecom
  • Malaysian Telecom
  • Deutsche Telecom
  • ...

Приложения

Приложения

Приложения

спасибо за внимание