intersystems caché. Промышленная СУБД для web 2.0

26
[email protected] InterSystems Caché. InterSystems Caché. Промышленная СУБД Промышленная СУБД для Web 2.0 для Web 2.0 Database as a Service

Upload: reece-watkins

Post on 02-Jan-2016

76 views

Category:

Documents


1 download

DESCRIPTION

InterSystems Caché. Промышленная СУБД для Web 2.0. Database as a Service. [email protected]. В следующие 45 минут. Что нового в InterSystems Cache? Приложения эпохи Web 2.0 и кризис традиционного подхода к работе с СУБД InterSystems Caché как Application Database - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: InterSystems Caché. Промышленная СУБД  для Web 2.0

[email protected]

InterSystems Caché. InterSystems Caché. Промышленная СУБД Промышленная СУБД

для Web 2.0для Web 2.0Database as a Service

Page 2: InterSystems Caché. Промышленная СУБД  для Web 2.0

В следующие 45 минут

• Что нового в InterSystems Cache?Что нового в InterSystems Cache?

• Приложения эпохи Web 2.0 и кризис традиционного Приложения эпохи Web 2.0 и кризис традиционного подхода к работе с СУБДподхода к работе с СУБД

• InterSystems Caché как Application DatabaseInterSystems Caché как Application Database

• InterSystems Caché в инфраструктуре Web 2.0InterSystems Caché в инфраструктуре Web 2.0

• Caché и Enterprise 2.0Caché и Enterprise 2.0

• Что дальше? Требования к СУБД в эпоху Web 3.0Что дальше? Требования к СУБД в эпоху Web 3.0

Page 3: InterSystems Caché. Промышленная СУБД  для Web 2.0

Успешная компания с 1978 года

•Штаб-квартира – Кембридж, Штаб-квартира – Кембридж, Массачусетс, СШАМассачусетс, США

•Постреляционная СУБД Caché + Постреляционная СУБД Caché + платформа для интеграции Ensemble + платформа для интеграции Ensemble + платформа для обмена медицинской платформа для обмена медицинской информацией HealthShareинформацией HealthShare

•Оборот компании стабильно растетОборот компании стабильно растет•Офисы в 22 странах мираОфисы в 22 странах мира

Page 4: InterSystems Caché. Промышленная СУБД  для Web 2.0

Продукты InterSystems

Page 5: InterSystems Caché. Промышленная СУБД  для Web 2.0

Продукты InterSystems

Высокопроизводительная СУБДВысокопроизводительная СУБД

Быстрая разработка Быстрая разработка приложенийприложений

Быстрая интеграция приложенийБыстрая интеграция приложений

Быстрая разработка Быстрая разработка композитных приложенийкомпозитных приложений

Page 6: InterSystems Caché. Промышленная СУБД  для Web 2.0

InterSystems. Что нового?

• В прошлом году исполнилось 30 лет компанииВ прошлом году исполнилось 30 лет компании

• Исполнилось 10 лет и филиалу в РоссииИсполнилось 10 лет и филиалу в России

• Gartner опять назвал Ensemble лучшим продуктом среди интеграционных Gartner опять назвал Ensemble лучшим продуктом среди интеграционных платформ для композитных приложенийплатформ для композитных приложений

• Вышел InterSystems DeepSee - embeded, realtime, actionable BIВышел InterSystems DeepSee - embeded, realtime, actionable BI

• Выходит Cache 2009.1Выходит Cache 2009.1• Еще быстрееЕще быстрее• Еще более открытаяЕще более открытая• .Net и Java Gateways.Net и Java Gateways

• В планах на будщееВ планах на будщее• Identity ManagementIdentity Management• Cache Extreme. Самая быстрая СУБД для JavaCache Extreme. Самая быстрая СУБД для Java

• Google открыл офис рядом с намиGoogle открыл офис рядом с нами

Page 7: InterSystems Caché. Промышленная СУБД  для Web 2.0

Приложения Web 2.0

• Интернет в режиме Read Write Интернет в режиме Read Write • приложения в своей работе используют информацию, предоставляемую и приложения в своей работе используют информацию, предоставляемую и

создаваемую пользователямисоздаваемую пользователями• уникальный пользовательский контент и сообщество становятся уникальный пользовательский контент и сообщество становятся

конкурентным преимуществом - воспроизвести функциональность конкурентным преимуществом - воспроизвести функциональность приложения можно, данные и пользователей - нетприложения можно, данные и пользователей - нет

• Доставка и развертывание приложенийДоставка и развертывание приложений• cеть как платформаcеть как платформа

• повторное использование специализированных интернет сервисовповторное использование специализированных интернет сервисов• software as a servicesoftware as a service• различные устройства доступаразличные устройства доступа• готовность к ростуготовность к росту

• Процесс разработки - постоянно в beta версииПроцесс разработки - постоянно в beta версии• скорость внесения изменений в условиях открытой конкуренции скорость внесения изменений в условиях открытой конкуренции • упрощенный процессупрощенный процесс

Page 8: InterSystems Caché. Промышленная СУБД  для Web 2.0

Требования к СУБД

• Природа данных претерпела измененияПрирода данных претерпела изменения

• Взаимодействие с приложением - смена приоритетовВзаимодействие с приложением - смена приоритетов

• СУБД не должна снижать скорость изменений, вносимых в СУБД не должна снижать скорость изменений, вносимых в приложения или делать ее непредсказуемойприложения или делать ее непредсказуемой

• Готовность к большому взрыву в случае лавинообразного Готовность к большому взрыву в случае лавинообразного роста пользователейроста пользователей

• Постоянная стоимость за ресурс. Easy come - easy go.Постоянная стоимость за ресурс. Easy come - easy go.

Page 9: InterSystems Caché. Промышленная СУБД  для Web 2.0

Модели данных Web 2.0

• Природа данных эпохи Web 2.0 претерпела изменения, Природа данных эпохи Web 2.0 претерпела изменения, которые делают РСУБД менее эффективнымикоторые делают РСУБД менее эффективными

• отказ от контроля модели данных средствами СУБД - либо отказ от контроля модели данных средствами СУБД - либо данные достаточно просты, пример c MySQLданные достаточно просты, пример c MySQL

• модель не укладывается в табличное представление и модель не укладывается в табличное представление и требуется логика приложения для ее дополнительной требуется логика приложения для ее дополнительной интерпретацииинтерпретации

• Модель предметной областиМодель предметной области• работа с полуструктурированными даннымиработа с полуструктурированными данными• широкое использование информационнх объектов, широкое использование информационнх объектов, имеющих иерархическую структуру (документы, сообщения, имеющих иерархическую структуру (документы, сообщения, DOM)DOM)

• выбор графового представления как естественноговыбор графового представления как естественного

Page 10: InterSystems Caché. Промышленная СУБД  для Web 2.0

Application Database vs. Integration Database

• Мартин Фаулер о корпоративных приложениях и СУБДМартин Фаулер о корпоративных приложениях и СУБД• Application Database - одно приложение, одна БДApplication Database - одно приложение, одна БД

• Логика и метаданные целиком в приложении. СУБД не разделяемый ресурсЛогика и метаданные целиком в приложении. СУБД не разделяемый ресурс• Контроль данных в приложении, СУБД концентруется на инфраструктурных Контроль данных в приложении, СУБД концентруется на инфраструктурных

задачахзадачах• Доступ всегда через сервисы, APIДоступ всегда через сервисы, API

• Integration Database - много приложений, одна БДIntegration Database - много приложений, одна БД• Логика и метаданные в БДЛогика и метаданные в БД• Контроль данных в СУБД, двойная работаКонтроль данных в СУБД, двойная работа• Прямой доступПрямой доступ

• Взаимодействие приложений Web 2.0 и Application DatabaseВзаимодействие приложений Web 2.0 и Application Database• технологии доступа удобные для приложения, не СУБДтехнологии доступа удобные для приложения, не СУБД• СУБД предоставляет специализированные сервисыСУБД предоставляет специализированные сервисы• HTTP - транспорт, сообщения - в XML или JSON, протоколы - SOAP, HTTP - транспорт, сообщения - в XML или JSON, протоколы - SOAP,

REST, свои; специализированные протоколы (AMF3)REST, свои; специализированные протоколы (AMF3)

Page 11: InterSystems Caché. Промышленная СУБД  для Web 2.0

Caché как Application Database для Web 2.0

Page 12: InterSystems Caché. Промышленная СУБД  для Web 2.0

Caché как Application Database для Web 2.0

• Модели данныхМодели данных• Caché - готовая платформа для разработки специализированных Caché - готовая платформа для разработки специализированных

хранилищ, устойчивых к нагрузке и масштабируемыххранилищ, устойчивых к нагрузке и масштабируемых• позволяет сосредоточиться разработчикам на создании СУБД со своей, позволяет сосредоточиться разработчикам на создании СУБД со своей,

характерной, моделью данныххарактерной, моделью данных• при этом обеспечивает полностью все необходимые инфраструктурные при этом обеспечивает полностью все необходимые инфраструктурные

элементы для такой заказной СУБДэлементы для такой заказной СУБД• Caché - три вида моделей представленияCaché - три вида моделей представления

• Прямой - ассоциативные массивы (глобалы) и узлыПрямой - ассоциативные массивы (глобалы) и узлы• Объектный - классы и объектыОбъектный - классы и объекты• Реляционный - таблицы и записиРеляционный - таблицы и записи• Комбинированный и ваш собственныйКомбинированный и ваш собственный

• Базисные операции над глобалами не простые, а очень простыеБазисные операции над глобалами не простые, а очень простые

• Caché - “СУБД на байткоде” Caché - “СУБД на байткоде”

Page 13: InterSystems Caché. Промышленная СУБД  для Web 2.0

Квазиструктурированные и графовые объекты в Caché

Page 14: InterSystems Caché. Промышленная СУБД  для Web 2.0

Скорость изменений: чем проще, тем лучше

• Работа с глобаламиРабота с глобалами• глобалы Cachéглобалы Caché

•set ^account(“olenin”,”pwd”) = “******”set ^account(“olenin”,”pwd”) = “******”

• так могло быть в PHP или Javascriptтак могло быть в PHP или Javascript• в Javascript скоро так и будетв Javascript скоро так и будет

• Глобалы позволяют хранить и обрабатывать Глобалы позволяют хранить и обрабатывать полуструткурированные данные, в том числе объекты с переменным полуструткурированные данные, в том числе объекты с переменным количеством атрибутовколичеством атрибутов

• Могут быть использованы для представления данных, имеющих Могут быть использованы для представления данных, имеющих иерархическую природу, например, навигации, структуры форумов, иерархическую природу, например, навигации, структуры форумов, страниц; категории, таксономии; модели социальных сетейстраниц; категории, таксономии; модели социальных сетей

• Естественная работа - данные, структура, запросы, индексыЕстественная работа - данные, структура, запросы, индексы

Page 15: InterSystems Caché. Промышленная СУБД  для Web 2.0

Просто скорость тоже важна

• сохранение 10 000 узлов глобала на этом ноутбуке сохранение 10 000 узлов глобала на этом ноутбуке занимает порядка 0.02 секунды, чтение - порядка 0.01 занимает порядка 0.02 секунды, чтение - порядка 0.01 секундысекунды

• задачи обработки биржевых данныхзадачи обработки биржевых данных• 30 000 - 40 000 ticks / sec - low cost Linux сервера30 000 - 40 000 ticks / sec - low cost Linux сервера• более 80 000 ticks / sec - high end Linux сервераболее 80 000 ticks / sec - high end Linux сервера• ““Игрок” - 6 000 FIX / secИгрок” - 6 000 FIX / sec

• скорость установки - 15 минутскорость установки - 15 минут

• скорость настройки кластера - полчаса вместе с скорость настройки кластера - полчаса вместе с тестированиемтестированием

Page 16: InterSystems Caché. Промышленная СУБД  для Web 2.0

Доступ к Caché

• TCP сервер сохраняющий данные в глобал - 10 строкTCP сервер сохраняющий данные в глобал - 10 строк

• Доступ через HTTPДоступ через HTTP

• Поддержка XML, SOAP, JSONПоддержка XML, SOAP, JSON

• Cache Server Pages, Zen Ajax frameworkCache Server Pages, Zen Ajax framework

• CSP GatewayCSP Gateway

• Механизм проекций: java, c++, .net, python, perl, COMМеханизм проекций: java, c++, .net, python, perl, COM

Page 17: InterSystems Caché. Промышленная СУБД  для Web 2.0

Технологии InterSystems Caché

Page 18: InterSystems Caché. Промышленная СУБД  для Web 2.0

Caché как платформа инфраструктурных сервисов Web 2.0• общедоступные специализированные сервисы, которые общедоступные специализированные сервисы, которые

позволяют работать с определенными типами данных как позволяют работать с определенными типами данных как приложениям, так и пользователямприложениям, так и пользователям• Flickr, Google Maps, YouTubeFlickr, Google Maps, YouTube

• принцип Database as a Serviceпринцип Database as a Service• скорость развертывания, zero cost сопровождение, скорость развертывания, zero cost сопровождение,

быстрый выход из игрыбыстрый выход из игры• Примеры Примеры

• сервисы Amazon SimpleDB и Amazon S3. Достоинство - сервисы Amazon SimpleDB и Amazon S3. Достоинство - нереляционная модельнереляционная модель

• проект M/DB - полный аналог SimpleDB, превышающий проект M/DB - полный аналог SimpleDB, превышающий Amazon SimpleDB по ряду параметровAmazon SimpleDB по ряду параметров

• M/DB успешно функционирует на InterSystems CachéM/DB успешно функционирует на InterSystems Caché

Page 19: InterSystems Caché. Промышленная СУБД  для Web 2.0

Построение распределенных баз данных на Caché. Принципы.• Легкость конфигурации достигается с помощью Легкость конфигурации достигается с помощью

использования принципа отделения логического доступа к использования принципа отделения логического доступа к программам и данным от физического их расположенияпрограммам и данным от физического их расположения

• Особенность Caché - отсутствие различия между Особенность Caché - отсутствие различия между функционированием сервера Caché как сервера приложений функционированием сервера Caché как сервера приложений и сервером данныхи сервером данных

• Subscript Level Mapping - распределение записей по разным Subscript Level Mapping - распределение записей по разным базам данных в зависимости от значения полей записибазам данных в зависимости от значения полей записи• партиционирование данных партиционирование данных • сохранять данные в зависимости от контекста сохранять данные в зависимости от контекста

распределеннораспределенно

• Enterprise Cache Protocol Enterprise Cache Protocol

Page 20: InterSystems Caché. Промышленная СУБД  для Web 2.0

Абстракция доступа

Page 21: InterSystems Caché. Промышленная СУБД  для Web 2.0

• ECP поволяет конструировать различные по архитектуре и топологии кластера:ECP поволяет конструировать различные по архитектуре и топологии кластера:• Распределения вычислительной нагрузки среди нескольких серверов Распределения вычислительной нагрузки среди нескольких серверов

приложений Caché. приложений Caché. • Преодоления ограничений по размерам оперативной памяти одного сервера Преодоления ограничений по размерам оперативной памяти одного сервера

при работе нескольких приложений с большим объемом кэшируемых в ОЗУ при работе нескольких приложений с большим объемом кэшируемых в ОЗУ данных.данных.

• Распределения хранимых данных между несколькими серверами данныхРаспределения хранимых данных между несколькими серверами данных• Создания географически распределенной базы данных с возможностью Создания географически распределенной базы данных с возможностью

распространения изменений в реальном временираспространения изменений в реальном времени• Создания отказоустойчивого решения с дублированием серверных ресурсовСоздания отказоустойчивого решения с дублированием серверных ресурсов

• ECP - гетерогенная технология. Увеличение мощностей по требованиюECP - гетерогенная технология. Увеличение мощностей по требованию

• На практике, при использовании кластеров Caché обеспечивается На практике, при использовании кластеров Caché обеспечивается одновременная работа нескольких тысяч конкурентных пользователей с одновременная работа нескольких тысяч конкурентных пользователей с кластеромкластером

• ECP - простая в настройке технологияECP - простая в настройке технология

Page 22: InterSystems Caché. Промышленная СУБД  для Web 2.0

Enterprise Cache Protocol

Page 23: InterSystems Caché. Промышленная СУБД  для Web 2.0

ECP и SLM вместе

Page 24: InterSystems Caché. Промышленная СУБД  для Web 2.0

Caché и Enterprise 2.0

• Общая тенденция развития веб приложений сравнимы с Общая тенденция развития веб приложений сравнимы с тем, к чему стремиться IT архитектура предприятий. тем, к чему стремиться IT архитектура предприятий. • приложения, использующие общие инфраструктурные приложения, использующие общие инфраструктурные

сервисы, сервисы, • доступные по требованию в любое время и с любого доступные по требованию в любое время и с любого

места места • практики SOAпрактики SOA

• В случае предприятия SOA часто сводится к построению В случае предприятия SOA часто сводится к построению оптимальной инфраструктуры оптимальной инфраструктуры

Page 25: InterSystems Caché. Промышленная СУБД  для Web 2.0

Caché и Enterprise 2.0

• Caché в инфраструктуре предприятияCaché в инфраструктуре предприятия• специализированный модуль инфраструктурыспециализированный модуль инфраструктуры

• повышенные требования по производительностиповышенные требования по производительности• необычность и сложность задачинеобычность и сложность задачи

• альтернатива Java EE серверамальтернатива Java EE серверам• архитектурно - сервер приложенийархитектурно - сервер приложений• реализованы технологии интеграцииреализованы технологии интеграции• все рядом и проще - быстрое средство разработкивсе рядом и проще - быстрое средство разработки

Page 26: InterSystems Caché. Промышленная СУБД  для Web 2.0

Спасибо, пишитеСпасибо, пишите

[email protected]