Релиз СУБД 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. Напоминаю, что полный список изменений можно найти по ссылке.

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

    InterSystems

    95,90

    Вендор: СУБД Caché, OLAP DeepSee, шина Ensemble

    Поделиться публикацией
    Комментарии 3
      +1
      У меня вопрос по InterSystems.Data.CacheClient.dll. Разрешено ли использовать клиент для разработки приложения не имея лицензии на сервер? Не смог найти информацию по данному вопросу.
        +1
        А с TryCache пробовали? Разрабатывайте на ней наздоровье.
        +2
        >>новые механизмы для работы с JSON в Caché
        Совсем отстал от жизни и пропустил сам релиз поддержки JSON, вот же я старый пень)
        Отличная информация, спасибо!

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое