Similar presentations:
Постреляционные базы данных
1. Постреляционные базы данных возможности и перспективы
Ващило Владимир2. Истоки проблем
Существует класс бизнес задач, вкоторых идут обращения к
«бизнес объектам» - аналогам
реальных документов
(счета-фактуры, ордера, накладные)
Нормализация
на атомы
Вложенные
бизнес объекты
3. Основные проблемы
• Как работать с полями переменной длины игруппами
• Отношения «1-Много» и «Много-Много» между
таблицами и полями, целостность
• Невозможность адекватного отражения
семантического содержания в предметной области
• Управление отношениями через объединения –
Что это? Почему временно? Где целостность и
бизнес правила?
4. Решения
Postgress – Калифорнийскийуниверситет, г. Беркли, Стоунбрейкер
Cache – InterSystems, г. Кембридж
а также Teradata, UniVerse, UniData и
др.
5. Основные понятия
Реляционная БД – плоские таблицы,набор именованных полей, первичных
ключей и связей
Постреляционная БД – многомерные
таблицы и разрежённые данные +
реляционные возможности
6. Специализация Cache
ВысокопроизводительнаяСУБД
с максимальной
скоростью разработки
приложений
7. Архитектура Caché
Direct Objects SQL WEBCache Object Script
MD
Objects
MDS
Platforms
SQL
8. Платформы Caché
NetscapeMicrosoft IIS
Windows 95/98
Windows NT/2k
UNIX/Linux
Полная
кроссплатформенная
совместимость
Platforms
OpenVMS
Оптимизирована для
всех основных
платформ
Apache
Платформы Caché
9. Многомерное ядро
ColumnsR
o
w
s
Реляционное
Ограничено
упрощенной
двумерной моделью
Многомерное
Оптимизировано для
хранения данных
реального мира
10. Многомерные массивы Caché
Произвольнаяразмерность
Произвольный формат
индексов
Концепция разреженных
массивов
Элементы произвольной
длины
11. Многомерные массивы 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
12. Caché Direct
Доступ на уровнемногомерных
массивов
Максимальная
производительность
Максимальная
гибкость
Direct WEB ..
.
Cache Object Script
MD
Multidimensional
Data
MDS
Multidimensional Data Server
13. Caché Objects
Основа - ODMGJava, C++ и ActiveX
интерфейсы
Наследование,
инкапсуляция и
полиморфизм
C++
Java
ActiveX
Caché Objects
Caché
Objects
MDS
14. Caché SQL
SQL-92 + …Оптимизированна
для обработки
транзакций
Caché
SQL
MDS
15. Единая архитектура данных
CachéClass Table
Data
Единая
архитектура
данных
Другие СУБД
Class
Table
Data
или
Table
Class
Data
Многослойная
архитектура
16. Три типа доступа – одни данные
Прямой - критические участкиSQL - построение отчетов,
обратная совместимость
Объекты - бизнес логика, GUI
MD
SQL Objects
MDS
17. Cache’ Object Script
Манипулированиеданными в любом
представлении
Функциональная
полнота
Высокая
производительность
18. 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 записи.
19. 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)
20. Интерфейсы Caché
CachéObject
ODBC
OCI
JDBC
SQL
Web
Java
ActiveX
C++
CORBA
XML
Direct
Объекты в реляционных таблицах равноправны с обычными
21. Интерфейсы Caché
ObjectsКласс
Экземпляр
ID объекта
Свойство
Ссылка
Встраиваемый объект
Коллекция-список
Коллекция-массив
Поток данных
Индекс
Запрос
Метод класса
Relations
Таблица
Строка
ID-первичный ключ
Столбец
Внешний ключ
Индивидуальные столбцы
Столбец со списками
Подтаблица
blob
Индекс
Хранамая proc или view
Хранимая proc
22. Интерфейсы Caché
Cache’ Rose LinkCSP
Caché
DDL
23. Интерфейсы Caché
Web Клиент(HTTP, FTP,
SMTP, POP, TCP)
таблицы разных
других внешних
реляционных БД
SQL
Gateway
Caché
Object
SQL
Web
Object
Gateway
(CORBA)
24. Caché Server Pages для web приложений
CSP - идеальный инструмент для построенияинтерфейса
Динамическая генерация страниц
Компактный код, повторное использование (CSR,
наследование)
Скорость (код перекомпилирован на сервере)
Гипер-события для взаимодействия браузер - сервер
%session – Поддержка сессии
25. CSP. Как это работает?
BrowserCSP source
WebServer
CacheWebMS.dll
CacheServer
CSP.hello.Page()
CSP/object
compiler
Compiled classes
26. CSP vs ASP, EJB, JSP, …
EJB, JSP, ...vsHTTP
ASP
HTTP
App Server
Data
CSP
HTTP
Web Server
Web Server
Business logic
vs
Business logic
Web Server
Business logic
Data
Data
DB-Server
DB-Server
DB-Server
Fast: intra-process
Slow: inter-process
27. 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>
28. Web-Технологии Caché
HTTPДвунаправленный
Двунаправленный
XML
Двунаправленный
29. Caché – открытая технология
WEBДвунаправленный
SQL
Двунаправленный
Objects
Двунаправленный
30. Промышленная технология
НадежностьМасштабируемость
Производительность
Открытость
Переносимость
31. Надежность
Журналдо/после записи
Shadow Server
Репликация
Горячий Backup
Интеграция со средствами
системы
32. Надежность, которой доверяют
1010 лучших
лучших клиник
клиник
вв США
США
33 крупнейших
крупнейших
коммерческих
коммерческих
лаборатории
лаборатории вв США
США
66 из
из 10
10 ведущих
ведущих
поставщиков
поставщиков систем
систем
для
для медицины
медицины вв США
США
33. Масштабируемость
Сервермногомерных данных
Протокол распределенного кеша
NameSpace/DataSet, NWDS
34. Производительность
Сервермногомерных данных
Протокол распределенного кеша
Единая архитектура данных
35. Philippines Digitel
Переход сSybase на Caché
Построение отчета:
Sybase – 40 минут
Caché SQL – 30 секунд
Caché SQL+ COS - 8 секунд
36. Открытость
УтилитыGUI
CASE
Другие
серверные системы
Элементы OS
Интерфейс к словарю данных
Возможность создания
собственных интерфейсов
37. Переносимость
Windows95/98/NT/Alpha/2000UNIX/Linux
OpenVMS
Apache/Netscape/Microsoft
…
38. Транспорт
ОАО Восточный порт, ВрангельОАО Находкинский Морской Торговый Порт
ОАО Владивостокский Морской Торговый Порт
ОАО Петропавловск-Камчатский Морской Торговый Порт
Мариупольский Морской Торговый Порт
Московская Железная дорога
Ярославская Железная дорога
Аэропорт Сургут
и другие
39. Производство
Спасскцемент, г. СпасскБалабановская спичечная фабрика
Лиепаяс Металургс, Латвия
АО «Комитекс», г. Сыктывкар
АО «Завод Литий»
АО «Човью Лес»
Рослегпром
ОАО «ВИНАП», Новосибирск
ЦНИИ «Электроприбор»
КЖБИ N211
и другие
40. Нефте-газопереработка и энергетика
Московская нефтебазаНоябрьскнефтегаз
Ярославльнефтепродукт
НовосибирскЭнерго
Энергосбыт, Чебоксары
и другие
BP
Esso (Exxon)
Shell
APCO
Total
Petrobras
Chevron Research &
Technology Company
Elf Oil Deutschland GmbH
Petrofina
41. Гос. и муниципальные структуры
ЛенводоканалКомитет труда и занятости Волгоградской области
ГНИ Новгород
Служба соц. защиты Ленинградской области
Саратов-Терминал
Главное управление командования ВВ
и другие
42. Банки
Сбербанк РФГазпромбанк
Альфа-банк
Менатеп
Росбанк
а также
Первый Городской Банк
КрасБанк
Северо-Восточный Инвестиционный Банк
Морбанк
Chaze Manhattan
Lloyd’s bank
NatWest Bank
Deutsche Bank
Bulgarian National Bank
Ceska Sporitelna
и другие
43. Связь
«Уралсвязьинформ» Пермь«Электросвязь» Краснодар
«Яртелеком» Ярославль
«Электросвязь» Калуга
«Электросвязь» Оренбург
«Электросвязь» Владимир
«Связь информ» Смоленск
«Электросвязь» Тамбов
«Электросвязь» Ульяновск
«Связьинформ» Астрахань
«Электросвязь» Орел
«Электросвязь» Псков
AT&T
Irish Telecom
Chezh Telecom
Malaysian Telecom
Deutsche Telecom
...