SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Новости Global Summit 2015
Тимур Сафин
Воскресенье, 8 марта 2015
Понедельник, 9 марта 2015
Вторник, 10 марта 2015
Среда, 11 марта 2015
Четверг, 12 марта 2015
SQL
• Параллелизация SQL с помощью %PARALLEL с 2015.2
• с 2014.2 можно уже параллелить свои процессы
– $system.WorkMgr - менеджер очереди процессов
– $system.IPQ - меж процессное взаимодействие, передача через локальные переменные в
памяти не на глобалах
%PARALLEL (2015.1)
NoSQL
Множество инструментов для разных пользователей?
Key/Value
Document-oriented
Graph-oriented
Object-oriented
Column-oriented
Hadoop
Relational
• Были продемонстрированы
функционирующие уже способы
работы с NoSQL/DocumentDB
– Java
– Node.js
• SQL расширения для JSON данных
NoSQL Demo
JSON: лучше и быстрее
• %ZEN.Auxiliary.jsonProvider
– ParseJSON
• Реализация на Caché ObjectScript;
• Генерирует экземпляры прокси объектов %ZEN.proxyObject
– ObjectToJSON, ArrayToJSON, %WriteJSONfromSQL, %WriteJSONfromObject
• Любая из структур может быть автоматически описана в JSON
JSON
Сделать БЫСТРЕЕ
Сделать лучше
Сделать проще
Текущие задачи в JSON
• Перенести разбор в ядро
• Уменьшить накладные расходы по памяти
• Работает уже сейчас (2015.2)
Как сделать работу с JSON быстрее?
• $MethodName
• Новый синтаксис для инициализации JSON литералов
• Поддерживаются встроенные, неконстантные выражения
Как сделать работу с JSON лучше?
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" })
Быстрее?
DocumentDB
• Могут поменяться к релизу
Внутренние функции
##class(%Dynamic.Object).%New()
##class(%Dynamic.Array).%New()
##class(%Dynamic.AbstractVector).%ParseJSON()
• Никаких новых типов данных SQL не предлагается
• JSON документы хранятся как значения строчного типа, например,VARCHAR, CLOB,
VARBINARY, или BLOB и т.п.
Хранение JSON данных
JSON расширения в SQL
CREATE TABLE employees (
emp_id INTEGER,
department INTEGER,
emp_json VARCHAR (5000) )
• Создаются документы JSON из результатов SQL запросов, типа:
– JSON_OBJECT
– JSON_OBJECTAGG
– JSON_ARRAY
– JSON_ARRAYAGG
Публикация JSON документов
JSON расширения в SQL
• Этот запрос возвращает одну строку каждого отдела записанного в таблице DEPTS;
• Эта строка содержит одну колонку, в которой JSON Объект сериализован, и
содержит номер отдела и название
JSON_OBJECT
SELECT
JSON_OBJECT( 'deptno' : deptno, 'deptname' : deptname )
FROM depts
{ "deptno" : 314,"deptname" : "Engineering" }
• В качестве результата запроса будут возвращены 4 строки, по две колонки в
каждой
JSON_OBJECTAGG
SELECT job_seq,
JSON_OBJECTAGG( job_attrib, job_attval RETURNING VARCHAR(80) )
AS attributes
FROM jobs
101 { "Leader" : "155566", "Duration" : "00:30:00", "Description" : " Design
the new tables for the web site " }
234 { "Duration" : "01:00:00", "Description" : "Load the tables with existing
data" }
492 { "Leader" : "129596" }
17 { "Description" : " Design the look-and-feel of the web site"
• В результате запрос возвращает JSON массив с 0 и более элементов
JSON_ARRAY
SELECT JSON_ARRAY( 'deptno', deptno, 'deptname', deptname ) FROM
depts
[ "deptno", 314, "deptname", "Engineering" ]
• Агрегатная функция, создает JSON массив с 0 и более элементов, из строк
группированного запроса
JSON_ARRAYAGG
SELECT emp_id, JSON_ARRAYAGG (number) AS numbers
FROM phones GROUP BY emp_id
123 ["555-1234", "555-9876", "555-4455"]
• Встроенные SQL функции для запроса по JSON данным
– JSON_TABLE: возвращает SQL таблицу
– JSON_QUERY: возвращает строчное SQL значение, которое соответствует
JSON объекту или JSON массиву
– JSON_VALUE: возвращает скалярное SQL значение
• Доступны новые предикаты по JSON данным
– IS JSON
– JSON_EXISTS
Запросы над JSON
SQL расширения для данных типа JSON
BigDATA
Новая Студия – Atelier
Cross
Platform
Open
Source
Modern
Experience
Ecosystem
Source
Control
Debugging
Refactoring
Unit
Testing
Code
Analysis
Как люди выбирают современное IDE?
• Для Eclipse есть 27 для различных VCS
– Встроенная поддержка Git/GitHub
• Для экспорта в VCS оперируем файлами операционной системы
• Нативный UDL экспорт, никакого XML
• Оформление синтаксиса полностью на стороне разработчика, а
не форсируется UDL рендерером
• По-прежнему можно будет использовать Studio хуки
Atelier – управление исходниками
• Почти все делается на стороне клиента
–Строится AST
–Производится рефакторинг
–Поиск
–Diff для VCS
–Работа основана на Workspace и проектах
• Настройки сервера встроены в даннные проекта
Atelier - архитектура
• Полностью RESTful интерфейс для работы клиента
–Исследование содержимого областей и баз
–Компиляция
–Синхронизация
–API полностью публично*
• Отладка происходит посредством взаимодействия Web Sockets
• Будет встроенный telnet клиент
Atelier – работа с сервером
Atelier
• Бета программа начнется по готовности следующего
– Синтаксический разбор - COS
– Поддержка классов
– Поддержка программ
– Отладка
– Интеграция с Unit тестированием
• Летом?
Когда же?
Вопросы?

Más contenido relacionado

La actualidad más candente

Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Ontico
 
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Ontico
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Ontico
 
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Fwdays
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
Ontico
 

La actualidad más candente (20)

Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»Юрий Буянов «Архитектура Goozy»
Юрий Буянов «Архитектура Goozy»
 
Scala for android
Scala for androidScala for android
Scala for android
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)
 
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
 
Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)Performance Test Driven Development (CEE SERC 2013 Moscow)
Performance Test Driven Development (CEE SERC 2013 Moscow)
 
Rx
RxRx
Rx
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
 
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
BigПочта: как мы строили DataLake в Почте России / Алексей Вовченко (Luxoft)
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
Построение облачных процессов с помощью Mistral
Построение облачных процессов с помощью MistralПостроение облачных процессов с помощью Mistral
Построение облачных процессов с помощью Mistral
 
Rambler.iOS #2: Введение в RestKit
Rambler.iOS #2: Введение в RestKitRambler.iOS #2: Введение в RestKit
Rambler.iOS #2: Введение в RestKit
 
Liquibase: Enterprise Edition
Liquibase: Enterprise EditionLiquibase: Enterprise Edition
Liquibase: Enterprise Edition
 
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
Дмитрий Меньшиков "Топ-10 фейлов на реальном highload проекте"
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
 
Rambler.iOS #2: Практика применения BaaS в мобильных сервисах
Rambler.iOS #2: Практика применения BaaS в мобильных сервисахRambler.iOS #2: Практика применения BaaS в мобильных сервисах
Rambler.iOS #2: Практика применения BaaS в мобильных сервисах
 
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
Lambda architecture для realtime-аналитики — риски и преимущества / Николай Г...
 

Similar a Новости Global summit 2015

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
Vadim Novitskiy
 
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Magneta AI
 
MySQL для высоконагруженных проектов
MySQL для высоконагруженных проектовMySQL для высоконагруженных проектов
MySQL для высоконагруженных проектов
Softline
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
DevDay
 
Система обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на GroovyСистема обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на Groovy
Regn
 
SSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeSSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular mode
Andrey Korshikov
 

Similar a Новости Global summit 2015 (20)

Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Подход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL ServerПодход к тестированию хранилища данных на базе MS SQL Server
Подход к тестированию хранилища данных на базе MS SQL Server
 
Scala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentScala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application Development
 
Underscore js
Underscore jsUnderscore js
Underscore js
 
Next Gen Applications
Next Gen ApplicationsNext Gen Applications
Next Gen Applications
 
Alasql.js - SQL база данных на JavaScript / Андрей Гершун (МАГ КОНСАЛТИНГ)
Alasql.js - SQL база данных на JavaScript / Андрей Гершун (МАГ КОНСАЛТИНГ)Alasql.js - SQL база данных на JavaScript / Андрей Гершун (МАГ КОНСАЛТИНГ)
Alasql.js - SQL база данных на JavaScript / Андрей Гершун (МАГ КОНСАЛТИНГ)
 
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
 
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)
 
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
Scala, Play Framework и SBT для быстрого прототипирования и разработки веб-пр...
 
PostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. МолодёжноPostgreSQL. Стильно. Модно. Молодёжно
PostgreSQL. Стильно. Модно. Молодёжно
 
MySQL для высоконагруженных проектов
MySQL для высоконагруженных проектовMySQL для высоконагруженных проектов
MySQL для высоконагруженных проектов
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
 
Зачем нужна Scala?
Зачем нужна Scala?Зачем нужна Scala?
Зачем нужна Scala?
 
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
Industrial Programming Java - Lection Pack 03 - Relational Databases - Lavren...
 
Jsfwdays 2013-2
Jsfwdays 2013-2Jsfwdays 2013-2
Jsfwdays 2013-2
 
Система обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на GroovyСистема обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на Groovy
 
Multimodel Database Caché
Multimodel Database CachéMultimodel Database Caché
Multimodel Database Caché
 
Введение в Oracle
Введение в OracleВведение в Oracle
Введение в Oracle
 
Расширение библиотеки Slick
Расширение библиотеки SlickРасширение библиотеки Slick
Расширение библиотеки Slick
 
SSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular modeSSAS: multidemention vs tabular mode
SSAS: multidemention vs tabular mode
 

Más de Timur Safin

Más de Timur Safin (7)

Инструменты для з̶а̶х̶в̶а̶т̶а̶ ̶м̶и̶р̶а̶ отладки в Tarantool
Инструменты для з̶а̶х̶в̶а̶т̶а̶ ̶м̶и̶р̶а̶  отладки в TarantoolИнструменты для з̶а̶х̶в̶а̶т̶а̶ ̶м̶и̶р̶а̶  отладки в Tarantool
Инструменты для з̶а̶х̶в̶а̶т̶а̶ ̶м̶и̶р̶а̶ отладки в Tarantool
 
Go vs C++ - CppRussia 2019 Piter BoF
Go vs C++ - CppRussia 2019 Piter BoFGo vs C++ - CppRussia 2019 Piter BoF
Go vs C++ - CppRussia 2019 Piter BoF
 
Новый InterSystems: open-source, митапы, хакатоны
Новый InterSystems: open-source, митапы, хакатоныНовый InterSystems: open-source, митапы, хакатоны
Новый InterSystems: open-source, митапы, хакатоны
 
Native json in the Cache' ObjectScript 2016.*
Native json in the Cache' ObjectScript 2016.*Native json in the Cache' ObjectScript 2016.*
Native json in the Cache' ObjectScript 2016.*
 
InterSystems iKnow and Twitter API
InterSystems iKnow and Twitter APIInterSystems iKnow and Twitter API
InterSystems iKnow and Twitter API
 
Implementation of community package manager
Implementation of community package managerImplementation of community package manager
Implementation of community package manager
 
Approaching package manager
Approaching package managerApproaching package manager
Approaching package manager
 

Новости Global summit 2015

  • 1. Новости Global Summit 2015 Тимур Сафин
  • 2.
  • 3.
  • 4.
  • 8.
  • 11. SQL
  • 12. • Параллелизация SQL с помощью %PARALLEL с 2015.2 • с 2014.2 можно уже параллелить свои процессы – $system.WorkMgr - менеджер очереди процессов – $system.IPQ - меж процессное взаимодействие, передача через локальные переменные в памяти не на глобалах %PARALLEL (2015.1)
  • 13. NoSQL
  • 14. Множество инструментов для разных пользователей? Key/Value Document-oriented Graph-oriented Object-oriented Column-oriented Hadoop Relational
  • 15. • Были продемонстрированы функционирующие уже способы работы с NoSQL/DocumentDB – Java – Node.js • SQL расширения для JSON данных NoSQL Demo
  • 16. JSON: лучше и быстрее
  • 17. • %ZEN.Auxiliary.jsonProvider – ParseJSON • Реализация на Caché ObjectScript; • Генерирует экземпляры прокси объектов %ZEN.proxyObject – ObjectToJSON, ArrayToJSON, %WriteJSONfromSQL, %WriteJSONfromObject • Любая из структур может быть автоматически описана в JSON JSON
  • 18. Сделать БЫСТРЕЕ Сделать лучше Сделать проще Текущие задачи в JSON
  • 19. • Перенести разбор в ядро • Уменьшить накладные расходы по памяти • Работает уже сейчас (2015.2) Как сделать работу с JSON быстрее?
  • 20. • $MethodName • Новый синтаксис для инициализации JSON литералов • Поддерживаются встроенные, неконстантные выражения Как сделать работу с JSON лучше? 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" })
  • 23. • Могут поменяться к релизу Внутренние функции ##class(%Dynamic.Object).%New() ##class(%Dynamic.Array).%New() ##class(%Dynamic.AbstractVector).%ParseJSON()
  • 24. • Никаких новых типов данных SQL не предлагается • JSON документы хранятся как значения строчного типа, например,VARCHAR, CLOB, VARBINARY, или BLOB и т.п. Хранение JSON данных JSON расширения в SQL CREATE TABLE employees ( emp_id INTEGER, department INTEGER, emp_json VARCHAR (5000) )
  • 25. • Создаются документы JSON из результатов SQL запросов, типа: – JSON_OBJECT – JSON_OBJECTAGG – JSON_ARRAY – JSON_ARRAYAGG Публикация JSON документов JSON расширения в SQL
  • 26. • Этот запрос возвращает одну строку каждого отдела записанного в таблице DEPTS; • Эта строка содержит одну колонку, в которой JSON Объект сериализован, и содержит номер отдела и название JSON_OBJECT SELECT JSON_OBJECT( 'deptno' : deptno, 'deptname' : deptname ) FROM depts { "deptno" : 314,"deptname" : "Engineering" }
  • 27. • В качестве результата запроса будут возвращены 4 строки, по две колонки в каждой JSON_OBJECTAGG SELECT job_seq, JSON_OBJECTAGG( job_attrib, job_attval RETURNING VARCHAR(80) ) AS attributes FROM jobs 101 { "Leader" : "155566", "Duration" : "00:30:00", "Description" : " Design the new tables for the web site " } 234 { "Duration" : "01:00:00", "Description" : "Load the tables with existing data" } 492 { "Leader" : "129596" } 17 { "Description" : " Design the look-and-feel of the web site"
  • 28. • В результате запрос возвращает JSON массив с 0 и более элементов JSON_ARRAY SELECT JSON_ARRAY( 'deptno', deptno, 'deptname', deptname ) FROM depts [ "deptno", 314, "deptname", "Engineering" ]
  • 29. • Агрегатная функция, создает JSON массив с 0 и более элементов, из строк группированного запроса JSON_ARRAYAGG SELECT emp_id, JSON_ARRAYAGG (number) AS numbers FROM phones GROUP BY emp_id 123 ["555-1234", "555-9876", "555-4455"]
  • 30. • Встроенные SQL функции для запроса по JSON данным – JSON_TABLE: возвращает SQL таблицу – JSON_QUERY: возвращает строчное SQL значение, которое соответствует JSON объекту или JSON массиву – JSON_VALUE: возвращает скалярное SQL значение • Доступны новые предикаты по JSON данным – IS JSON – JSON_EXISTS Запросы над JSON SQL расширения для данных типа JSON
  • 34. • Для Eclipse есть 27 для различных VCS – Встроенная поддержка Git/GitHub • Для экспорта в VCS оперируем файлами операционной системы • Нативный UDL экспорт, никакого XML • Оформление синтаксиса полностью на стороне разработчика, а не форсируется UDL рендерером • По-прежнему можно будет использовать Studio хуки Atelier – управление исходниками
  • 35. • Почти все делается на стороне клиента –Строится AST –Производится рефакторинг –Поиск –Diff для VCS –Работа основана на Workspace и проектах • Настройки сервера встроены в даннные проекта Atelier - архитектура
  • 36. • Полностью RESTful интерфейс для работы клиента –Исследование содержимого областей и баз –Компиляция –Синхронизация –API полностью публично* • Отладка происходит посредством взаимодействия Web Sockets • Будет встроенный telnet клиент Atelier – работа с сервером
  • 38. • Бета программа начнется по готовности следующего – Синтаксический разбор - COS – Поддержка классов – Поддержка программ – Отладка – Интеграция с Unit тестированием • Летом? Когда же?