Релиз СУБД InterSystems Caché 2016.1

от автора

Всем привет! Рады представить вам новую версию Caché 2016.1, релиз которой состоялся во второй половине марта. Важных и интересных изменений действительно много, поэтому предлагаю сразу перейти к ним.


Полный и подробный список изменений доступен здесь: Caché 2016.1 Release Notes

Улучшенная поддержка JSON

Первое и долгожданное нововведение — улучшенная производительность и новые механизмы для работы с JSON в Caché.

Разбор JSON теперь реализован в Caché на уровне ядра, что позволило существенно улучшить производительность при работе с JSON большого объема. А на замену %ZEN.ProxyObject, который ранее использовался для работы с JSON, пришли новые динамические объекты %Object и %Array, которые отличаются большей эффективностью и удобством при написании кода.

Пример:

set object = { "firstName": "Sergey", "lastName": "Sarkisyan", "age": 22 } set array = [ 1, 2, "string", true ] do array.$push("InterSystems").$push("Caché").$push("2016.1") write array.$toJSON() => [ 1, 2, "string", true, "InterSystems", "Caché", "2016.1" ]

Более подробную информацию вы можете найти в статье Эдуарда Лебедюка на Хабре и в статье Штефана Виттманна на нашем Developer Community.

Улучшения в SQL

Идём дальше. Следующее важное изменение в Caché 2016.1 — улучшенная производительность исполнения SQL. InterSystems постоянно работает над совершенствованием SQL-доступа в Caché, и этот релиз не стал исключением:

  • Оптимизация производительности для серверного кода xDBC.
  • Улучшения производительности исполнения SQL-запросов. В этом выпуске обработчик SQL-запросов генерирует более эффективный код для большинства распространенных SQL-операций.
  • Улучшены возможности по отмене операций.

DeepSee REST

Дальше по списку идет Business Intelligence. В Caché 2016.1 представлены новые REST-сервисы для доступа к движку DeepSee. Cервисы предназначены для получения данных сводных таблиц и исполнения MDX-запросов с возвратом результата в виде JSON. Так же доступны различные информационные сервисы для получения списков кубов DeepSee, сводных таблиц, и различной информации о кубах (Измерений (Dimensions), членов кубов (Members), Показателей (Measures) и т.д.).

Для JavaScript-разработчиков хорошей новостью будет то, что в этот релиз также включена JavaScript-библиотека, предоставляющая доступ к REST-сервисам DeepSee.

Более подробную информацию можно найти в документации к Caché 2016.1 в разделе "Tools for Creating DeepSee Web Clients".

На этом изменения в DeepSee не заканчиваются! Список наиболее важных из них:

Список изменений

  • Параллельная синхронизация кубов DeepSee — %SynchronizeCube теперь может использовать несколько агентов DeepSee для параллельного обновления кубов.
  • Общие вычисляемые члены кубов — вычисляемые члены, определенные в Analyzer теперь могут быть доступны для других сводных таблиц из того же куба. Подробности можно найти в главе "Defining Calculated Elements" раздела "Using the DeepSee Analyzer" документации.
  • Подробные списки, зависящие от показателей — теперь для Показателя можно указать подробный список (Listing), который будет отображаться при получении детальной информации о ячейке, содержащей данные этого Показателя.
  • Analyzer и Architect теперь позволяют изменять размер панелей интерфейса.
  • Новые системные методы для получения и исполнения MDX-запросов сводных таблиц (Подробности можно найти в документации класса %DeepSee.Utils):
    • %GetMDXFromPivot() — возвращает текст MDX-запроса сводной таблицы. Опционально выполняет запрос.
    • %ExecutePivot() — выполняет запрос сводной таблицы. Опционально возвращает ассоциированный с таблицей %DeepSee.ResultSet
    • %GetResultSetFromPivot() — возвращает %DeepSee.ResultSet для сводной таблицы. Опционально выполняет запрос.
  • Возможность указывать дополнительные параметры фильтрации подробных списков при использовании плагинов — плагины предоставляют возможность определять собственные Показатели в DeepSee. В предыдущих версиях подробные списки из плагина всегда показывали все строки, которые использовались для вычисления Показателя. В этом выпуске добавлена возможность ограничивать такие подробные списки определенным подмножеством строк.
  • Новый метод %OnAfterBuildCube — в дополнение к существующей возможности определять логику перед построением куба, добавлена аналогичная возможность для определения собственной логики после построения.
  • Новый токен $$$VARIABLES — в DeepSee появился новый токен $$$VARIABLES, который можно использовать при получении доступа к дашбордам по URL. Этот токен будет заменен на значение соответствующей переменной сводной таблицы. Пример: someURL&someVARIABLE=$$$VARIABLES заменит $$$VARIABLES на значение переменной someVARIABLE. Больше информации в главе "Accessing Dashboards from Your Application" раздела "DeepSee Implementation Guide" документации.
  • Фильтр по дате и первый день недели — теперь при использовании фильтра по дате учитываются системные настройки первого дня недели.

InterSystems iKnow

Технология для работы с текстом на естественном языке iKnow тоже получила обновления: в Портал Управления Системой добавлен iKnow Architect, созданный для предоставления пользователя удобного способа управления iKnow-доменами; кроме того, добавилась поддержка шведского и японского языков.

ZEN Mojo

Web-фреймворк ZEN Mojo получил поддержку и довольно тесную интеграцию с Twitter Bootstrap. Больше информации можно найти в документации, в главе "Helper Plugin for Bootstrap" раздела "Using Zen Mojo Plugins".

.NET Entity Framework

Также в Caché добавлена поддержка .NET Entity Framefork (версий 5 и 6), что должно обрадовать .NET разработчиков, работающих с Caché. Как всегда, все подробности можно найти в документации, в главе "Using the Caché Entity Framework Provider" раздела "Using .NET and the ADO.NET Managed Provider with Caché".

Остальные изменения

Из остальных важных изменений:

  • Улучшена производительность и уменьшена нагрузка на сеть при использовании зеркалирования.
  • Добавлена поддержка TCP окна большего размера, что должно улучшить пропускную способность между узлами зеркала с большой задержкой.
  • Выпуск включает библиотеку Open SSL версии 1.0.1p.
  • Улучшена надежность аудита (с помощью добавления обязательного журналирования базы аудита).
  • Добавлена поддержка Windows x64 для Apache 2.4.
  • Серверы приложений ECP стали кешировать длинные строки. Различные улучшения производительности, масштабируемости и безопасности.

Это далеко не все изменения в Caché 2016.1. Напоминаю, что полный список изменений можно найти по ссылке.

Спасибо за внимание и до новых релизов!

ссылка на оригинал статьи https://habrahabr.ru/post/281062/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *