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

Подписи к слайдам:
Постреляционные базы данных. Возможности и перспективы
  • Ващило Владимир
Истоки проблем
  • Существует класс бизнес задач, в которых идут обращения к «бизнес объектам» - аналогам реальных документов (счета-фактуры, ордера, накладные)
  • Нормализация на атомы
  • Вложенные бизнес объекты
Основные проблемы
  • Как работать с полями переменной длины и группами
  • Отношения «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
  • ...
Приложения Приложения Приложения спасибо за внимание