Похожие презентации:
Постреляционные базы данных. Возможности и перспективы
1. Постреляционные базы данных. Возможности и перспективы
Ващило Владимир2. Истоки проблем
Существует класс бизнес задач, вкоторых идут обращения к
«бизнес объектам» - аналогам
реальных документов
(счета-фактуры, ордера, накладные)
Нормализация
на атомы
Вложенные
бизнес объекты
3. Основные проблемы
• Как работать с полями переменной длины игруппами
• Отношения «1-Много» и «Много-Много» между
таблицами и полями, целостность
• Невозможность адекватного отражения
семантического содержания в предметной области
• Управление отношениями через объединения –
Что это? Почему временно? Где целостность и
бизнес правила?
4. Решения
Postgress – Калифорнийскийуниверситет, г. Беркли, Стоунбрейкер
Cache – InterSystems, г. Кембридж
а также Teradata, UniVerse, UniData и
др.
5. Основные понятия
Реляционная БД – плоские таблицы,набор именованных полей, первичных
ключей и связей
Постреляционная БД – многомерные
таблицы и разрежённые данные +
реляционные возможности
6. Специализация Cache
ВысокопроизводительнаяСУБД
с максимальной
скоростью разработки
приложений
7. Архитектура Caché
Direct Objects SQLWEB
Cache 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
Table или Class
Data
Data
Единая
архитектура
данных
Многослойная
архитектура
16. Три типа доступа – одни данные
Прямой - критические участкиSQL - построение отчетов,
обратная совместимость
Объекты - бизнес логика, GUI
MD
SQL
MDS
Objects
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, ... vsASP
HTTP
HTTP
CSP
HTTP
Web Server
Web Server
Business logic
Business logic
App Server
Web Server
Data
vs
Data
Business logic
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. Надежность, которой доверяют
10 лучших клиникв США
3 крупнейших
коммерческих
лаборатории в США
6 из 10 ведущих
поставщиков систем
для медицины в США
33. Масштабируемость
Сервер многомерных данныхПротокол распределенного кеша
NameSpace/DataSet, NWDS
34. Производительность
Сервер многомерных данныхПротокол распределенного кеша
Единая архитектура данных
35. Philippines Digitel
Переход сSybase на Caché
Построение отчета:
Sybase – 40 минут
Caché SQL – 30 секунд
Caché SQL+ COS - 8 секунд
36. Открытость
Утилиты GUICASE
Другие серверные системы
Элементы 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
...