Ограниченно-бесплатная IEM-система для малого бизнеса Ultimate 2C теперь будет поставляться исключительно на платформе Solid12.

Заказчики промышленных IEM-решений Ultimate получат возможность выбора между enterprise-версией платформы Ultimate Solid, агрегированной с Oracle Database 12c EE, и light-версией Solid12 для PostgreSQL.

Миграция на бесплатную СУБД позволила снизить стоимость облачного сервиса Ultimate Cloud: со 129 до 99 рублей за пользователя в день.

Функциональность IEM-платформы Solid12 несколько сокращена по сравнению с enterprise-версией (пропорционально более простой функциональности бесплатной СУБД по сравнению с enterprise-лидером рынка), но не в ущерб эксплуатационным свойствам для среднего и малого бизнесе.

Вот полный список различий версий Solid12 и Ultimate Solid:

  • Не поддерживается предикативный доступ
  • Временные типы (DateTime, timestamp) не транслируются в соответствии с временными зонами пользователя. Все данные отображаются в одной временной зоне.
  • Отсутствует задача автоматического снятия блокирующих сессий.
  • Запрещено параллельное чтение нескольких DataReader-ов на одном соединении с базой данных (MARS — Multiple Active Result Sets).
  • Любая ошибка базы данных запрещает выполнение дальнейших команд и фиксацию текущей транзакции.
  • Нет информации о пользователе, в текущий момент блокирующем ветку пространства бизнес-логики.

Мы будем развивать платформу Ultimate Solid12 параллельно с enterprise-версией, и постараемся максимально сократить отличия в функциональности.

В следующей статье я расскажу подробнее, с какими отличиями придется столкнутся разработчику, который решит перейти с Oracle Database на PostgreSQL.
Поделиться с друзьями
-->

Комментарии (5)


  1. Sway
    22.06.2017 09:05

    Временные типы (DateTime, timestamp) не транслируются в соответствии с временными зонами пользователя. Все данные отображаются в одной временной зоне.

    Так сложно хранить DateTime и timestamp в timestamp with tz и при коннекте к postgresql выполнять запрос SET SESSION TIME ZONE 'Europe/Moscow'?


    1. Rupper
      22.06.2017 09:19

      Нет конечно не сложно и для Oracle версии как несложно догадаться так и сделано. Однако, в PostgreSQL мы столкнулись со странной реализацией этой функции в драйвере для .NET и пока решили отложить поддержку этой функции.

      Странность заключается в том, что драйвер меняет зону не обращая внимания на выставленное в сессии значение на основании локальных настроек на сервере приложений. Зачем так сделано мы от разработчиков ответа не получили. Если и не получим подумаем над поддержкой своей ветки драйвера.


      1. Sway
        22.06.2017 10:05

        Понятно.
        Я правильно понимаю что даже если вручную выполнить запрос SET SESSION TIME ZONE, то зона будет не той, которая задана? Или тут просто проблема в том, что при стандартном поведении системы драйвер для postgresql отрабатывает неправильно и требуется дополнительный код чтобы это исправить?
        Установка правильной тайм-зоны в моем понимании не является задачей драйвера и делать свой драйвер только ради этого немного перебор.


        1. Rupper
          22.06.2017 10:33

          Да, именно так. Собственно аппсервер в зависимости от настроек пользователя (нашего а не постгресовского) и меняет зону делая указанный запрос (немного сложнее но суть та же). И собственно все это работает если пользоваться стандартным клиентом, но с .NET драйвером не работает — дата в нем всегда возвращается в таймзоне пользователя Windows, под которым работает сервер приложений.


          1. Sway
            22.06.2017 11:16

            Жизнь — боль.