SlideShare a Scribd company logo
1 of 34
Download to read offline
Ключевые изменения в 2015
Что нового и куда движутся
технологии InterSystems
Шваров Евгений
Новое в Caché
Что нового в Caché 2015
• Если ранее 1-2 релиза в
год
• В 2015-м – релизы
каждый квартал!
• Сейчас есть 2015.1 релиз
и 2015.2 FT.
Релизы Caché каждый квартал
• Рост производительности
до 2,5 раз по сравнению с
Caché 2014
• Наибольший эффект
наблюдается для
многопроцессорных
систем и для больших ECP
конфигураций
Ускорение работы в Caché 2015
• Глобалы (NoSQL доступ)
• SQL – таблицы
• Объекты
• XML Projection
• Caché 2015 – DocDB!
Новое представление и способ работы с данными
DocDB - подробности
• Теперь ваши данные
можно представить и
как документы
• CRUD и запросы к
данным как к
документам
• Манипуляция данными в
JSON
• DocDB ~ MongoDB
##class(%Dynamic.Object).%New()
##class(%Dynamic.Array).%New()
##class(%Dynamic.AbstractVector).%ParseJSON()
DocDB - подробности
• Создан специальный
пакет классов %Dynamic
• Релиз в 2015.3?
##class(%Dynamic.Object).%New()
##class(%Dynamic.Array).%New()
##class(%Dynamic.AbstractVector).%ParseJSON()
Расширенная поддержка JSON
• Изменения в COS
• Изменения в SQL
• Изменения в ядре
Расширенная поддержка JSON. COS
Set array=[ 1,2,3,4 ]
Set array=[ 1,x,y*2,"string",x_","_y ]
Set object={ "forename":"Joe", surname:"Blogs" }
Set object={ sum: var1+var2, type: $select(x=1:"one",x=2:"two") }
Set array=[ (a]b) , (a]]b) ]
Set object={ var : (a]b) }
Set array=[ 1, { name : forename_" "_surname } , val**2, { var : [ 1, x*y ] } ]
Set object={ name : forename_" "_surname, sub : [ { var : "val" }, 5, (a]b) ] }
Do ..Method([1,2,3], { var:"val" })
Создать инстанс %Zen.ProxyObject можно с помощью set
JSON расширения в Caché SQL. Хранение данных
• Никаких новых типов данных SQL не предлагается
• JSON документы хранятся как значения строчного типа,
например,VARCHAR, CLOB, VARBINARY, или BLOB и т.п.
CREATE TABLE employees (
emp_id INTEGER,
department INTEGER,
emp_json VARCHAR (5000) )
JSON расширения в Caché SQL. Запросы
• Добавлены новые ключевые слова:
– JSON_OBJECT
– JSON_OBJECTAGG
– JSON_ARRAY
– JSON_ARRAYAGG
• Этот запрос возвращает одну строку каждого отдела записанного в таблице DEPTS;
• Эта строка содержит одну колонку, в которой JSON Объект сериализован, и
содержит номер отдела и название
JSON_OBJECT
SELECT
JSON_OBJECT( 'deptno' : deptno, 'deptname' : deptname )
FROM depts
{ "deptno" : 314,"deptname" : "Engineering" }
Расширенная поддержка JSON. Изменения в ядре
Парсинг JSON на уровне ядра дает ускорение работы с
JSON до 200 раз
Параллельные вычисления в SQL
Новый хинт %PARALLEL
• Параллельные вычисления в Caché уже есть.
• Параллельные вычисления в Caché SQL - %PARALLEL
• Как все работает.
• Когда стоит применять.
Параллелизация SQL запросов Caché. %Parallel
• Параллельная компиляция классов
– Появилась в Caché 2011.1, автоматическая с Caché 2013.1
• Параллельное построение индексов
– [Caché 2013.1]
– %Library.IndexBuilder.%ConstructIndicesParallel()
• DeepSee
– Построение кубов
– MDX запросы
» Вычисление каждой ячейки – отдельная задача
» Рабочие процессы могу использовать все доступные ядра
Параллелизация в Caché. Что уже есть
Использование в запросах
• Select … UNION %PARALLEL select …
– Каждая ветка UNION вычисляется в отдельном процессе Caché
• Select … FROM %PARALLEL <tables>
– N частей
– Оптимизатор SQL решает как разделить запрос на части
– Вычисления делятся на части по ключам (индекса или таблицы)
– Where T1.ID>? AND T1.ID<=?
– Внутренние функции определяют границы частей
– Проверяются глобалы индексов и данных
Синтаксис
Требования к параллелизации
Запрос, разделяемый на несколько частей
t
Chunk1 Chunk2 Chunk3 ChunkN
Overhead
Overhead
t1
t2
Размеры частей
Равные части, не слишком
большие, не слишком
маленькие
Зависимость
Части должны быть
независимы друг от друга
SQL query
Использование в запросах
1
• Использование %PARALLEL говорит
оптимизатору, что нужно разделить запрос
Работа оптимизатора
• Определяет возможность
параллелизации
• Разделяет первую карту в плане
на N частей
• Генерирует условия с
диапазона для каждой
части
• Работает по исходному
плану с учетом
разделения на части
2
• Генерируется стандартный план запроса
3
• %PARALLEL проверяет план
4
• Сгенерированный код содержит разделение и
постановку в очередь
Работа запросов: пример
select Avg(Age) from %PARALLEL Sample.Person
…where id<=X1…
…where id>X1 and
id<=X2…
…where id>X2 and
id<=X3
…where id>X3
Куски
вычисленийSELECT…
FROM
%PARALLEL
<tables>…
SELECT count(T1.Age),sum(T1.Age) FROM %NOPARALLEL Sample.Person T1
%PARTITION BY T1.ID>? AND T1.ID<=?
Получение
итогового
результата
Очередь
задач
Когда использовать %PARALLEL
– НЕ замена для индексов
• Индексы позволяют делать меньше вычислений для одного и того же запроса
– Потребляет больше ресурсов
• Разделение, объединение результатов
– НЕ для всех запросов подойдет
• Не все запросы станут быстрее
Волшебная палочка?
Atelier – новая студия
Кросплатформенная студия для Caché
Cross
Platform
Open
Source
Modern
Experience
Ecosystem
Source
Control
Debugging
Refactoring
Unit
Testing
Code
Analysis
Как люди выбирают современное IDE?
• Atelier – это плагин для свободной IDE Eclipse
• Кросплатформенная среда (Windows, Linux, Mac…)
• Встроенная поддержка Git/GitHub
• Для экспорта в VCS оперируем файлами операционной системы
• Нативный UDL экспорт, никакого XML
Atelier. Что это и фичи
• C Caché работа идет через REST API
• Почти все делается на стороне клиента
–Строится AST
–Производится рефакторинг
–Поиск
–Отладка
Atelier - архитектура
• Полностью RESTful интерфейс для работы клиента
–Исследование содержимого областей и баз
–Компиляция
–Синхронизация
–API полностью публично*
• Отладка происходит посредством взаимодействия Web Sockets
• Будет встроенный telnet клиент
Atelier – работа с сервером
Atelier
• Бета программа начнется по готовности
– Синтаксический разбор - COS
– Поддержка классов
– Поддержка программ
– Отладка +
– Интеграция с Unit тестированием
• Летом?
Когда релиз?
DeepSee – MDX2JSON
Доступ к данным через REST
• Каждый виджет DeepSee получает результат MDX запроса и
визуализирует результат.
• Сделано REST-API, которое выдает по MDX результат в виде JSON
• Кроме MDX есть обвязка метаданных дашбордов: виджеты,
фильтры, доступ, MDX-запросы.
• Модуль включен в продукт, результат ждем в 2015.3
MDX2JSON
MDX2JSON REST API
DeepSee Mobile
Смартфон
Caché сервер
Дашборды
Виджеты
Данные MDX
Как это работает?
Типичные бизнес задачи DeepSee
• Пивот-таблица
• Дриллдаун данных
• Гистограммы
• Таймчарты
Что дает DeepSee Mobile?
Визуализация дашбордов DeepSee на iPhone/iPad, Android, Winphone
Ни одной строчки программирования
Работает начиная с версии 2013.1
Все вместе
• Релизы каждый квартал
• Ускорение Caché в 2-2.5 раза
• DocDB
• Нативная поддержка JSON –ядро, CacheSQL, COS
• Параллельный SQL
• Новая студия Atelier
• DeepSee MDX2JSON REST API
ВОПРОСЫ?

More Related Content

What's hot

Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Ontico
 
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Ontico
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
 
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Ontico
 
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Ontico
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Ontico
 
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Ontico
 
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Ontico
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Fwdays
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Поиск наизнанку
Поиск наизнанкуПоиск наизнанку
Поиск наизнанкуNikolay Sivko
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...Vyacheslav Nikulin
 
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)Ontico
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQLAndrei Nikolaenko
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)Ontico
 
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.Sergey Petrunya
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)Ontico
 
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"Fwdays
 

What's hot (20)

Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
 
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
 
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
 
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
 
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
 
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX,...
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Поиск наизнанку
Поиск наизнанкуПоиск наизнанку
Поиск наизнанку
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
В поисках идеальной сети, или зачем нужна еще одна SDN / Андрей Королев (Ионика)
 
Нереляционный SQL
Нереляционный SQLНереляционный SQL
Нереляционный SQL
 
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
NewSQL: SQL никуда не уходит / Константин Осипов (tarantool.org)
 
MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.MariaDB 10.1 - что нового.
MariaDB 10.1 - что нового.
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
 

Similar to владивосток форум новости технологий 2015

InterSystems news Meetup Sankt-Peterburg2015
InterSystems news Meetup Sankt-Peterburg2015InterSystems news Meetup Sankt-Peterburg2015
InterSystems news Meetup Sankt-Peterburg2015InterSystems
 
Новости Global summit 2015
Новости Global summit 2015Новости Global summit 2015
Новости Global summit 2015Timur Safin
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)Pavel Tsukanov
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...DevDay
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergrationInterSystems
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data applianceCleverDATA
 
Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)Ontico
 
IOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureIOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureVadim Novitskiy
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsqlAnatoly Popov
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration Alex Tumanoff
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QASQALab
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)Alexander Gornik
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHighLoad2009
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3Computer Science Club
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)Ontico
 

Similar to владивосток форум новости технологий 2015 (20)

InterSystems news Meetup Sankt-Peterburg2015
InterSystems news Meetup Sankt-Peterburg2015InterSystems news Meetup Sankt-Peterburg2015
InterSystems news Meetup Sankt-Peterburg2015
 
Новости Global summit 2015
Новости Global summit 2015Новости Global summit 2015
Новости Global summit 2015
 
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Fors и big data appliance
Fors и big data applianceFors и big data appliance
Fors и big data appliance
 
Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)Нереляционный SQL / Андрей Николаенко (IBS)
Нереляционный SQL / Андрей Николаенко (IBS)
 
IOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows AzureIOP202 DevCon 2012 Apache Lucene in Windows Azure
IOP202 DevCon 2012 Apache Lucene in Windows Azure
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsql
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 
разработка бизнес приложений (7)
разработка бизнес приложений (7)разработка бизнес приложений (7)
разработка бизнес приложений (7)
 
2 bdw.key
2 bdw.key2 bdw.key
2 bdw.key
 
High Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus ReadyHigh Load 2009 Dimaa Rus Ready
High Load 2009 Dimaa Rus Ready
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
 
Cassandra db
Cassandra dbCassandra db
Cassandra db
 

More from Elena Ometova

Д.Засыпкин, Региональный мастер-индекс пациентов
Д.Засыпкин, Региональный мастер-индекс пациентовД.Засыпкин, Региональный мастер-индекс пациентов
Д.Засыпкин, Региональный мастер-индекс пациентовElena Ometova
 
владивосток форум Isc community
владивосток форум Isc communityвладивосток форум Isc community
владивосток форум Isc communityElena Ometova
 
владивосток форум Deep_see
владивосток форум Deep_seeвладивосток форум Deep_see
владивосток форум Deep_seeElena Ometova
 
Meet up khabarovsk_ifind
Meet up khabarovsk_ifindMeet up khabarovsk_ifind
Meet up khabarovsk_ifindElena Ometova
 
It med.conf региональный мастер-индекс пациентов
It med.conf региональный мастер-индекс пациентовIt med.conf региональный мастер-индекс пациентов
It med.conf региональный мастер-индекс пациентовElena Ometova
 
It med.conf проекты в красноярском крае
It med.conf проекты в красноярском краеIt med.conf проекты в красноярском крае
It med.conf проекты в красноярском краеElena Ometova
 
It med.conf демография
It med.conf демографияIt med.conf демография
It med.conf демографияElena Ometova
 
владивосток форум Inter_systems в сфере малого бизнеса
владивосток форум Inter_systems в сфере малого бизнесавладивосток форум Inter_systems в сфере малого бизнеса
владивосток форум Inter_systems в сфере малого бизнесаElena Ometova
 
владивосток форум Ensemble
владивосток форум Ensembleвладивосток форум Ensemble
владивосток форум EnsembleElena Ometova
 
владивосток форум разработка_больших_приложений
владивосток форум разработка_больших_приложенийвладивосток форум разработка_больших_приложений
владивосток форум разработка_больших_приложенийElena Ometova
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_haElena Ometova
 
владивосток форум регион_проекты_здравоохранении
владивосток форум регион_проекты_здравоохранениивладивосток форум регион_проекты_здравоохранении
владивосток форум регион_проекты_здравоохраненииElena Ometova
 
владивосток форум Keynote 2015
владивосток форум Keynote 2015владивосток форум Keynote 2015
владивосток форум Keynote 2015Elena Ometova
 

More from Elena Ometova (13)

Д.Засыпкин, Региональный мастер-индекс пациентов
Д.Засыпкин, Региональный мастер-индекс пациентовД.Засыпкин, Региональный мастер-индекс пациентов
Д.Засыпкин, Региональный мастер-индекс пациентов
 
владивосток форум Isc community
владивосток форум Isc communityвладивосток форум Isc community
владивосток форум Isc community
 
владивосток форум Deep_see
владивосток форум Deep_seeвладивосток форум Deep_see
владивосток форум Deep_see
 
Meet up khabarovsk_ifind
Meet up khabarovsk_ifindMeet up khabarovsk_ifind
Meet up khabarovsk_ifind
 
It med.conf региональный мастер-индекс пациентов
It med.conf региональный мастер-индекс пациентовIt med.conf региональный мастер-индекс пациентов
It med.conf региональный мастер-индекс пациентов
 
It med.conf проекты в красноярском крае
It med.conf проекты в красноярском краеIt med.conf проекты в красноярском крае
It med.conf проекты в красноярском крае
 
It med.conf демография
It med.conf демографияIt med.conf демография
It med.conf демография
 
владивосток форум Inter_systems в сфере малого бизнеса
владивосток форум Inter_systems в сфере малого бизнесавладивосток форум Inter_systems в сфере малого бизнеса
владивосток форум Inter_systems в сфере малого бизнеса
 
владивосток форум Ensemble
владивосток форум Ensembleвладивосток форум Ensemble
владивосток форум Ensemble
 
владивосток форум разработка_больших_приложений
владивосток форум разработка_больших_приложенийвладивосток форум разработка_больших_приложений
владивосток форум разработка_больших_приложений
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
владивосток форум регион_проекты_здравоохранении
владивосток форум регион_проекты_здравоохранениивладивосток форум регион_проекты_здравоохранении
владивосток форум регион_проекты_здравоохранении
 
владивосток форум Keynote 2015
владивосток форум Keynote 2015владивосток форум Keynote 2015
владивосток форум Keynote 2015
 

владивосток форум новости технологий 2015

  • 1. Ключевые изменения в 2015 Что нового и куда движутся технологии InterSystems Шваров Евгений
  • 2. Новое в Caché Что нового в Caché 2015
  • 3. • Если ранее 1-2 релиза в год • В 2015-м – релизы каждый квартал! • Сейчас есть 2015.1 релиз и 2015.2 FT. Релизы Caché каждый квартал
  • 4. • Рост производительности до 2,5 раз по сравнению с Caché 2014 • Наибольший эффект наблюдается для многопроцессорных систем и для больших ECP конфигураций Ускорение работы в Caché 2015
  • 5. • Глобалы (NoSQL доступ) • SQL – таблицы • Объекты • XML Projection • Caché 2015 – DocDB! Новое представление и способ работы с данными
  • 6. DocDB - подробности • Теперь ваши данные можно представить и как документы • CRUD и запросы к данным как к документам • Манипуляция данными в JSON • DocDB ~ MongoDB ##class(%Dynamic.Object).%New() ##class(%Dynamic.Array).%New() ##class(%Dynamic.AbstractVector).%ParseJSON()
  • 7. DocDB - подробности • Создан специальный пакет классов %Dynamic • Релиз в 2015.3? ##class(%Dynamic.Object).%New() ##class(%Dynamic.Array).%New() ##class(%Dynamic.AbstractVector).%ParseJSON()
  • 8. Расширенная поддержка JSON • Изменения в COS • Изменения в SQL • Изменения в ядре
  • 9. Расширенная поддержка JSON. COS Set array=[ 1,2,3,4 ] Set array=[ 1,x,y*2,"string",x_","_y ] Set object={ "forename":"Joe", surname:"Blogs" } Set object={ sum: var1+var2, type: $select(x=1:"one",x=2:"two") } Set array=[ (a]b) , (a]]b) ] Set object={ var : (a]b) } Set array=[ 1, { name : forename_" "_surname } , val**2, { var : [ 1, x*y ] } ] Set object={ name : forename_" "_surname, sub : [ { var : "val" }, 5, (a]b) ] } Do ..Method([1,2,3], { var:"val" }) Создать инстанс %Zen.ProxyObject можно с помощью set
  • 10. JSON расширения в Caché SQL. Хранение данных • Никаких новых типов данных SQL не предлагается • JSON документы хранятся как значения строчного типа, например,VARCHAR, CLOB, VARBINARY, или BLOB и т.п. CREATE TABLE employees ( emp_id INTEGER, department INTEGER, emp_json VARCHAR (5000) )
  • 11. JSON расширения в Caché SQL. Запросы • Добавлены новые ключевые слова: – JSON_OBJECT – JSON_OBJECTAGG – JSON_ARRAY – JSON_ARRAYAGG
  • 12. • Этот запрос возвращает одну строку каждого отдела записанного в таблице DEPTS; • Эта строка содержит одну колонку, в которой JSON Объект сериализован, и содержит номер отдела и название JSON_OBJECT SELECT JSON_OBJECT( 'deptno' : deptno, 'deptname' : deptname ) FROM depts { "deptno" : 314,"deptname" : "Engineering" }
  • 13. Расширенная поддержка JSON. Изменения в ядре Парсинг JSON на уровне ядра дает ускорение работы с JSON до 200 раз
  • 14. Параллельные вычисления в SQL Новый хинт %PARALLEL
  • 15. • Параллельные вычисления в Caché уже есть. • Параллельные вычисления в Caché SQL - %PARALLEL • Как все работает. • Когда стоит применять. Параллелизация SQL запросов Caché. %Parallel
  • 16. • Параллельная компиляция классов – Появилась в Caché 2011.1, автоматическая с Caché 2013.1 • Параллельное построение индексов – [Caché 2013.1] – %Library.IndexBuilder.%ConstructIndicesParallel() • DeepSee – Построение кубов – MDX запросы » Вычисление каждой ячейки – отдельная задача » Рабочие процессы могу использовать все доступные ядра Параллелизация в Caché. Что уже есть
  • 17. Использование в запросах • Select … UNION %PARALLEL select … – Каждая ветка UNION вычисляется в отдельном процессе Caché • Select … FROM %PARALLEL <tables> – N частей – Оптимизатор SQL решает как разделить запрос на части – Вычисления делятся на части по ключам (индекса или таблицы) – Where T1.ID>? AND T1.ID<=? – Внутренние функции определяют границы частей – Проверяются глобалы индексов и данных Синтаксис
  • 18. Требования к параллелизации Запрос, разделяемый на несколько частей t Chunk1 Chunk2 Chunk3 ChunkN Overhead Overhead t1 t2 Размеры частей Равные части, не слишком большие, не слишком маленькие Зависимость Части должны быть независимы друг от друга SQL query
  • 19. Использование в запросах 1 • Использование %PARALLEL говорит оптимизатору, что нужно разделить запрос Работа оптимизатора • Определяет возможность параллелизации • Разделяет первую карту в плане на N частей • Генерирует условия с диапазона для каждой части • Работает по исходному плану с учетом разделения на части 2 • Генерируется стандартный план запроса 3 • %PARALLEL проверяет план 4 • Сгенерированный код содержит разделение и постановку в очередь
  • 20. Работа запросов: пример select Avg(Age) from %PARALLEL Sample.Person …where id<=X1… …where id>X1 and id<=X2… …where id>X2 and id<=X3 …where id>X3 Куски вычисленийSELECT… FROM %PARALLEL <tables>… SELECT count(T1.Age),sum(T1.Age) FROM %NOPARALLEL Sample.Person T1 %PARTITION BY T1.ID>? AND T1.ID<=? Получение итогового результата Очередь задач
  • 21. Когда использовать %PARALLEL – НЕ замена для индексов • Индексы позволяют делать меньше вычислений для одного и того же запроса – Потребляет больше ресурсов • Разделение, объединение результатов – НЕ для всех запросов подойдет • Не все запросы станут быстрее Волшебная палочка?
  • 22. Atelier – новая студия Кросплатформенная студия для Caché
  • 24. • Atelier – это плагин для свободной IDE Eclipse • Кросплатформенная среда (Windows, Linux, Mac…) • Встроенная поддержка Git/GitHub • Для экспорта в VCS оперируем файлами операционной системы • Нативный UDL экспорт, никакого XML Atelier. Что это и фичи
  • 25. • C Caché работа идет через REST API • Почти все делается на стороне клиента –Строится AST –Производится рефакторинг –Поиск –Отладка Atelier - архитектура
  • 26. • Полностью RESTful интерфейс для работы клиента –Исследование содержимого областей и баз –Компиляция –Синхронизация –API полностью публично* • Отладка происходит посредством взаимодействия Web Sockets • Будет встроенный telnet клиент Atelier – работа с сервером
  • 28. • Бета программа начнется по готовности – Синтаксический разбор - COS – Поддержка классов – Поддержка программ – Отладка + – Интеграция с Unit тестированием • Летом? Когда релиз?
  • 29. DeepSee – MDX2JSON Доступ к данным через REST
  • 30. • Каждый виджет DeepSee получает результат MDX запроса и визуализирует результат. • Сделано REST-API, которое выдает по MDX результат в виде JSON • Кроме MDX есть обвязка метаданных дашбордов: виджеты, фильтры, доступ, MDX-запросы. • Модуль включен в продукт, результат ждем в 2015.3 MDX2JSON
  • 31. MDX2JSON REST API DeepSee Mobile Смартфон Caché сервер Дашборды Виджеты Данные MDX Как это работает?
  • 32. Типичные бизнес задачи DeepSee • Пивот-таблица • Дриллдаун данных • Гистограммы • Таймчарты
  • 33. Что дает DeepSee Mobile? Визуализация дашбордов DeepSee на iPhone/iPad, Android, Winphone Ни одной строчки программирования Работает начиная с версии 2013.1
  • 34. Все вместе • Релизы каждый квартал • Ускорение Caché в 2-2.5 раза • DocDB • Нативная поддержка JSON –ядро, CacheSQL, COS • Параллельный SQL • Новая студия Atelier • DeepSee MDX2JSON REST API ВОПРОСЫ?