Презентация "Постреляционные базы данных. Возможности и перспективы"
Подписи к слайдам:
Постреляционные базы данных.
Возможности и перспективы
- Ващило Владимир
- Существует класс бизнес задач, в которых идут обращения к «бизнес объектам» - аналогам реальных документов (счета-фактуры, ордера, накладные)
- Нормализация на атомы
- Вложенные бизнес объекты
- Как работать с полями переменной длины и группами
- Отношения «1-Много» и «Много-Много» между таблицами и полями, целостность
- Невозможность адекватного отражения семантического содержания в предметной области
- Управление отношениями через объединения – Что это? Почему временно? Где целостность и бизнес правила?
- Postgress – Калифорнийский университет, г. Беркли, Стоунбрейкер
- Cache – InterSystems, г. Кембридж
- а также Teradata, UniVerse, UniData и др.
- Реляционная БД – плоские таблицы, набор именованных полей, первичных ключей и связей
- Постреляционная БД – многомерные таблицы и разрежённые данные + реляционные возможности
- Высокопроизводительная СУБД
- с максимальной скоростью разработки приложений
- SQL
- MDS
- Objects
- Platforms
- MD
- Cache Object Script
- SQL
- Objects
- Direct
- WEB
- Оптимизирована для всех основных платформ
- Полная кроссплатформенная совместимость
- Platforms
- OpenVMS
- UNIX/Linux
- Windows NT/2k
- Windows 95/98
- Microsoft IIS
- Netscape
- Apache
- Columns
- R
- o
- w
- s
- Реляционное
- Ограничено упрощенной двумерной моделью
- Многомерное
- Оптимизировано для хранения данных реального мира
- Произвольная размерность
- Произвольный формат индексов
- Концепция разреженных массивов
- Элементы произвольной длины
- ^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
- Глобаль – часть данных, хранимых в виде разреженных массивов. Пример:
- Доступ на уровне многомерных массивов
- Максимальная производительность
- Максимальная гибкость
- MDS
- MD
- Cache Object Script
- Direct
- WEB
- ...
- Multidimensional Data Server
- Multidimensional Data
- Caché Objects
- MDS
- Основа - ODMG
- Java, C++ и ActiveX интерфейсы
- Наследование, инкапсуляция и полиморфизм
- ActiveX
- Java
- C++
- MDS
- Caché SQL
- SQL-92 + …
- Оптимизированна для обработки транзакций
- Другие СУБД
- Единая архитектура данных
- Caché
- Class
- Table
- Data
- Многослойная архитектура
- Table
- Class
- Data
- Class
- Table
- Data
- или
- Objects
- MDS
- SQL
- MD
- Прямой - критические участки
- SQL - построение отчетов, обратная совместимость
- Объекты - бизнес логика, GUI
- Манипулирование данными в любом представлении
- Функциональная полнота
- Высокая производительность
- Поддерживает все элементы 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 записи.
- Для поиска всех записей применяется курсор:
- &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)
- Web
- Caché
- SQL
- Object
- ODBC
- OCI
- JDBC
- Direct
- Объекты в реляционных таблицах равноправны с обычными
- ActiveX
- XML
- CORBA
- Java
- C++
- Objects
- Relations
- Класс
- Экземпляр
- ID объекта
- Свойство
- Ссылка
- Встраиваемый объект
- Коллекция-список
- Коллекция-массив
- Поток данных
- Индекс
- Запрос
- Метод класса
- Таблица
- Строка
- ID-первичный ключ
- Столбец
- Внешний ключ
- Индивидуальные столбцы
- Столбец со списками
- Подтаблица
- blob
- Индекс
- Хранамая proc или view
- Хранимая proc
- Caché
- DDL
- Cache’ Rose Link
- CSP
- Web
- Caché
- SQL
- Object
- Object
- Gateway
- (CORBA)
- SQL
- Gateway
- Web Клиент
- (HTTP, FTP,
- SMTP, POP, TCP)
- таблицы разных других внешних реляционных БД
- CSP - идеальный инструмент для построения интерфейса
- Динамическая генерация страниц
- Компактный код, повторное использование (CSR, наследование)
- Скорость (код перекомпилирован на сервере)
- Гипер-события для взаимодействия браузер - сервер
- %session – Поддержка сессии
- CacheWebMS.dll
- CSP source
- Compiled classes
- CSP/object compiler
- Cached
- Browser
- WebServer
- CacheServer
- CSP.hello.Page()
- 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
- Вывод значений свойств объекта, хранящегося в БД 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>
- Двунаправленный
- Двунаправленный
- Двунаправленный
- HTTP
- XML
- Двунаправленный
- Двунаправленный
- Двунаправленный
- WEB
- SQL
- Objects
- Надежность
- Масштабируемость
- Производительность
- Открытость
- Переносимость
- Журнал до/после записи
- Shadow Server
- Репликация
- Горячий Backup
- Интеграция со средствами системы
- 10 лучших клиник в США
- 3 крупнейших коммерческих лаборатории в США
- 6 из 10 ведущих поставщиков систем для медицины в США
- Сервер многомерных данных
- Протокол распределенного кеша
- NameSpace/DataSet, NWDS
- Сервер многомерных данных
- Протокол распределенного кеша
- Единая архитектура данных
- Построение отчета:
- 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
- ...