СУБД InterSystems Caché 2014.1. Release Notes

в 20:22, , рубрики: Блог компании InterSystems

25 марта 2014 вышел релиз СУБД Caché 2014.1. Что в версии твоей?

Развитие функциональности

  • Поддержка REST;
  • Globals C API;
  • поддержка UDP;
  • развитие Caché SQL;
  • поддержка Enterprise Manager;
  • DeepSee Cube Manager;
  • единая модель триггеров для объектов и SQL.

Улучшения производительности

  • Повышение производительности TROLLBACK до 40%.
  • Диагностика производительности MDX.
  • Улучшение производительности запросов с UNION и улучшения в Tune Tables.
  • Дефрагментация и сжатие баз данных Caché.

Подробнее об этом и многом другом под катом.

Поддержка REST

Начиная с 2014 версии, Caché поддерживает обработку REST запросов на уровне CSP Gateway. Для поддержки веб-приложением REST-интерфейса нужно определить класс-обработчик, который, используя встроенное средство соответствия URL, будет передавать вызов в нужный класс и метод.
На уровне передачи данных между клиентом (браузером) и сервером БД поддерживаются XML и JSON.
Пример построения REST приложения в Caché рассмотрен на Хабре.

Globals C API

Это нововведение касается NoSQL составляющей Caché — Globals API, которое позволяет работать с хранимыми структурами Caché — глобалами — наиболее быстро и напрямую. К уже имеющимся Java, Node JS и C# API добавилось Globals C API. В частности это позволяет использовать работу с данными в Caché и GlobalsDB непосредственно из C и С++ приложений, таких, например, как Ruby.

Поддержка UDP

В этом релизе появилась поддержка UDP сокетов, которая реализуется через класс %Net.UDP. Класс позволяет осуществлять взаимодействие с сервером Caché без поддержки соединения.
Подробнее в документации класса %Net.UDP.

Единая модель обработки триггеров для объектов и SQL

В этой версии Caché добавлена поддержка единой модели триггеров, которые срабатывают как при объектном, так и при SQL доступе для INSERT/UPDATE/DELETE событий. Новые триггеры классов однако не отменяют уже существующее семейство коллбеков %OnXXX для объектного доступа: все эти вызовы будут продолжать работать и поддерживаться.

Новая команда в SQL: INSERT OR UPDATE

В этом релизе поддерживается новая команда SQL — INSERT OR UPDATE. Она работает как INSERT, но если срабатывает UNIQUE ограничение для вставляемой записи, вместо INSERT выполняется UPDATE. Это нововведение будет полезно для случаев, когда в таблице возможна только одна запись с определенным значением уникального индекса, и вместо проверки существования записи и дальнейшего INSERT или UPDATE можно использовать одну SQL команду INSERT OR UPDATE.
Подробнее.

Диагностика производительности MDX

Появилась утилита для диагностики производительности MDX-запросов для OLAP решений на DeepSee. Если есть какие-то вопросы к производительности MDX запросов с помощью утилиты %DeepSee.Diagnostics.MDXUtils теперь можно собрать всю необходимую диагностическую информацию и направить в службу поддержки InterSystems.
Документация.

DeepSee Cube Manager

Новый компонент в BI технологии InterSystems DeepSee.
Cube Manager предоставляет пользовательский веб-интерфейс определения кубов в группы в больших BI решениях и составлять расписание перестройки и обновления кубов.
Cube Manager можно найти во вкладке DeepSee.
Model Browser позволяет визуально посмотреть связи между зависимыми кубами.
Детали.

Увеличение производительности Rollback

Производительность откатов транзакций по TROLLBACK увеличилась на 20%-40%. Улучшение касается как одиночных длинных транзакций, так и массовых отмен транзакций при восстановлении из журнала.

Поддержка раздельного расчета селективности свойство для значений — выбросов (outliers)

TuneTable вычисляет селективность (Selectivity) в процентах для каждого свойства. Селективность основана на предположении, что значения распределены равномерно. Например в таблице со списком людей, любой конкретный день рождения будет появляться в 0.27% данных (1 раз из 365).
Начиная с этой версии, для одного значения, которое встречается гораздо чаще, чем остальные будет посчитана так называемая Outlier Selectivity, а для остальных значений будет посчитана обычная селективность. Например, если одно значение встречается 75% случаев, а остальные 20 в 25 процентов, то Selectivity будет посчитана как (100%-75%)/20 = 1.25%.
Самый популярный случай значения, выбивающегося из равномерного распределения — NULL. Если число записей со значением NULL заметно превышает число остальных значений, то NULL — статистический выброс (outlier) и для него будет подсчитана OutlierSelectivity.
Статья в документации.

Дефрагментация и сжатие: снова работает!

В этой версии вновь доступна функциональность по дефрагментации и сжатию баз данных.
Утилита сжатия — перемещает незанятое пространство в конец файла, в итоге файл базы данных может быть уменьшен на величину пустого пространства.
Дефрагментация глобалов — утилита перераспределяет в базы данных расположение блоков для глобала в возрастающую последовательность, что дает некоторое повышение производительности при последовательном обходе глобала.
Подробнее.

Zen Mojo и Enterprise Manager

Также начиная с версии Caché 2014 поддерживаются две новые перспективные технологии InterSystems: Zen Mojo и Enterprise Manager.
Enterprise Manager(EM) — продукт для эффективного управления большим количеством инсталляций Caché и Ensemble. EM позволяет удобно выполнять единообразные изменения конфигураций (например настройки безопасности веб-приложений, управление ролями и пользователями или маппинг глобалов) одновременно на нескольких серверах или группах серверов, что повышает упрощает администрирование и минимизирует ошибки.
Zen Mojo — фреймворк для быстрой разработки мобильных и веб-приложений с responsive design с использованием популярных JS-фреймворков(Dojo, jQuery и проч.). Выход релизов Zen Mojo не привязан к релизам Caché, и уже сегодня версия Zen Mojo 1.06 доступна для загрузки в WRC клиентам и партнерам InterSystems.

О Zen Mojo и Enterprise Manager будут отдельные подробные посты — следите за обновлениями.

Полный текст Release Notes можно найти здесь.

Автор: intersystems

Источник

Поделиться

* - обязательные к заполнению поля