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

Презентация:



Advertisements
Похожие презентации
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Advertisements

База данных и СУБД: основные понятия. База данных: общее понятие База данных: хранилище информации отражает объект реального мира имитирует деятельность.
Администрирование информационных систем Лекция 4. Система управления базами данных.
Чувашский Государственный педагогический университет имени И.я.Яковлева Тема учебного проекта: Базы данных в сети Интернет Автор: Студент ФМФ 5-го курса.
Лекция 29 Лекция 29 Обзор СУБД (MS SQL Server, Oracle Database, MS Access, MS Visual FoxPro, Progress, MySQL, Postgres, Cache, Universe, DB2 Universal.
SQL-Solutions Sybase Data Warehouse Program. SQL-Solutions Распределенный анализ Централизованный сбор данных Функции хранилищ данных Собирание данных.
Автоматизированная система контроля и учета расхода электроэнергии Real.Net АСКУЭ Real.Net.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
Работу выполнила студентка гр. 9 Бд 111 Евженко Дарья.
Базы данных Урок информатики и ИКТ, 11 класс Автор: Буравцова Ксения Валерьевна, учитель информатики и ИКТ МАОУ лицея 82 г. Челябинска.
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
Базы данных Лекция 01 Информационные технологии баз данных.
1 Объектно-ориентированные возможности Oracle8. 2 Введение Зачем все это нужно? –Объектно-ориентированные языки (C++, Java) не обеспечивают надежного.
База данных и СУБД: основные понятия. В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят.
КАФЕДРА СИСТЕМ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ (САПР) УПРАВЛЕНИЕ БАЗАМИ ДАННЫХ.
Лекция 2. Тема « Новые технологии и тенденции развития Интернет »
OLAP и OLTP системы OLTP – оперативная транзакционная обработка данных OLAP – оперативная аналитическая обработка данных.
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Object Relational Mapping (ORM) Объектно-реляционное отображение.
Транксрипт:

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

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

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

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

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

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

Архитектура Caché SQLSQL MDSMDS ObjectsObjects PlatformsPlatforms MDMD Cache Object Script SQLSQLObjectsObjectsDirectDirectWEBWEB

Платформы Caché Оптимизирована для всех основных платформ Оптимизирована для всех основных платформ Полная кроссплатформенная совместимость Полная кроссплатформенная совместимость Оптимизирована для всех основных платформ Оптимизирована для всех основных платформ Полная кроссплатформенная совместимость Полная кроссплатформенная совместимость PlatformsPlatforms OpenVMSOpenVMSUNIX/LinuxUNIX/Linux Windows NT/2k Windows 95/98 Microsoft IIS NetscapeNetscapeApacheApache

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

Многомерные массивы 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 Доступ на уровне многомерных массивов Доступ на уровне многомерных массивов Максимальная производительность Максимальная производительность Максимальная гибкость Максимальная гибкость Доступ на уровне многомерных массивов Доступ на уровне многомерных массивов Максимальная производительность Максимальная производительность Максимальная гибкость Максимальная гибкость MDSMDS MDMD Cache Object Script DirectDirectWEBWEB... Multidimensional Data Server Multidimensional Data

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

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

Единая архитектура данных Другие СУБД Единая архитектура данных Единая архитектура данных Caché ClassClassTableTable DataData Многослойная архитектура Многослойная архитектура TableTable ClassClass DataData ClassClass TableTable DataData или

Три типа доступа – одни данные ObjectsObjects MDSMDS SQLSQLMDMD Прямой - критические участки Прямой - критические участки SQL - построение отчетов, обратная совместимость SQL - построение отчетов, обратная совместимость Объекты - бизнес логика, GUI Объекты - бизнес логика, GUI Прямой - критические участки Прямой - критические участки SQL - построение отчетов, обратная совместимость SQL - построение отчетов, обратная совместимость Объекты - бизнес логика, GUI Объекты - бизнес логика, 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é WebWeb CachéCaché SQLSQL ObjectObject ODBCODBC OCIOCI JDBCJDBC DirectDirect Объекты в реляционных таблицах равноправны с обычными ActiveXActiveX XMLXML CORBACORBA JavaJava C++C++

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

Интерфейсы Caché CachéCaché DDLDDL Cache Rose Link CSPCSP

Интерфейсы Caché WebWeb CachéCaché SQLSQL ObjectObject ObjectGateway(CORBA)ObjectGateway(CORBA)SQLGatewaySQLGateway Web Клиент (HTTP, FTP, SMTP, POP, TCP) Web Клиент (HTTP, FTP, SMTP, POP, TCP) таблицы разных других внешних реляционных БД

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

CSP. Как это работает? CacheWebMS.dll CSP source Compiled classes CSP/object compiler Browser WebServer CacheServer CSP.hello.Page()

CSP vs ASP, EJB, JSP, … Fast: intra-process Slow: inter-process ASPCSP vs WebServer DB-ServerDB-Server DataData HTTPHTTP Business logic DB-ServerDB-Server DataData WebServer HTTPHTTP HTTPHTTP DB-ServerDB-Server DataData App Server App Server Business logic EJB, JSP,... vs

CSP. Пример Вывод значений свойств объекта, хранящегося в БД Cache: set obj=##class(Sample.Person).%OpenId(1) write obj.Name, write obj.Age, do obj.%Close()

Web-Технологии Caché Двунаправленный Двунаправленный ДвунаправленныйHTTPHTTP MailMail XMLXML

Caché – открытая технология Двунаправленный Двунаправленный ДвунаправленныйWEBWEB SQLSQL ObjectsObjects

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

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

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

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

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

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

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

Переносимость Windows95/98/NT/Alpha/2000 Windows95/98/NT/Alpha/2000 UNIX/Linux UNIX/Linux OpenVMS OpenVMS Apache/Netscape/Microsoft … Apache/Netscape/Microsoft …

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

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

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

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

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

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

Приложения

Приложения

Приложения

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