Как стать автором
Обновить

Компания InterSystems временно не ведёт блог на Хабре

Сначала показывать

Релиз InterSystems IRIS 2021.1

Время на прочтение6 мин
Количество просмотров1.1K

Этим летом вышел новый релиз платформы данных InterSystems IRIS Data Platform 2021.1.

Основные «темы» в этом релизе связаны с расширением доступности платформы для разработчиков на различных технологиях и новыми возможностями по анализу данных.

Расширяется выбор доступных языков разработки, как серверных, так и клиентских, а также новые компоненты для аналитики больших объемов данных. Но, обо всём по порядку.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Вызываем код на Java, C, NodeJS, C#, Python из InterSystems IRIS

Время на прочтение6 мин
Количество просмотров1.3K

Введение


Одно из ключевых направлений развития платформы данных InterSystems IRIS — открытость. Открытость во взаимодействии с языками программирования, технологиями и протоколами. Поддержка языков программирования двусторонняя — возможен как вызов кода из InterSystems IRIS, так и предоставляется API для работы с InterSystems IRIS извне. В этой статье речь пойдёт о первом варианте — вызове кода из InterSystems IRIS. Целью этого небольшого повествования является демонстрация того, как просто и удобно можно это сделать. Я не буду сравнивать различные языки программирования (хотя в конце есть таблица по скорости работы различных имплементаций), всё зависит от решаемых вами задач и требований, предъявляемых к результату разработки. В этой статье я продемонстрирую несколько различных подходов к вызовам сторонних библиотек, а реализовывать мы будем одну и ту же функциональность — вызов функции DELFATE из библиотеки zlib.

Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Шлюзы Java/.Net в интеграционных решениях на InterSystems IRIS

Время на прочтение5 мин
Количество просмотров1.6K

Шлюзы в InterSystems IRIS это механизм взаимодействия между ядром InterSystems IRIS и прикладным кодом на языках Java/.Net. С помощью шлюзов вы можете работать как с объектами Java/.NET из ObjectScript так и с объектами ObjectScript и глобалами из Java/.NET. Шлюзы могут быть запущены где угодно - локально, на удаленном сервере, в докере.

В этой статье я покажу, как можно легко разработать и контейнеризовать интеграционную продукцию с .Net/Java кодом. А для взаимодействия с кодом на языках Java/.Net будем использовать PEX, предоставляющий возможность реализовать любой элемент интеграционной продукции на языках Java/.Net.

Для нашего примера мы разработаем интеграцию с Apache Kafka.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

СУБД Caché. Деревообработка — SQL доступ к многомерным структурам данных

Время на прочтение5 мин
Количество просмотров9.1K
«Caché предоставляет программистам свободу в выборе способа хранения и доступа к данным через объекты, SQL, либо путем прямого доступа к многомерным структурам данных. Независимо от способа доступа, все данные в базах данных Caché хранятся в многомерных массивах.»
Технологический справочник Caché

«Глобалы (глобальные хранимые переменные) – абстракция B-tree структур, используемых в MUMPS для хранения больших объемов данных.»
A Universal NoSQL Engine, Using a Tried and Tested Technology

В статье — пара примеров создания SQL проекций на различные структуры глобалов.
sql them all
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

Индексация неатомарных атрибутов

Время на прочтение16 мин
Количество просмотров3.3K
Цитаты из википедии (1NF):
Каждое пересечение строки и столбца содержит ровно одно значение из соответствующего домена (и больше ничего).

Одно и то же значение может быть атомарным или неатомарным в зависимости от смысла этого значения. Например, значение «4286» является
  • атомарным, если его смысл — «пин-код кредитной карты» (при разбиении на части или переупорядочивании смысл теряется)
  • неатомарным, если его смысл — «набор цифр» (при разбиении на части или переупорядочивании смысл не теряется)

В данной статье будут рассмотрены стандартные способы ускорения SQL-запросов по следующим типам полей: строка, дата, простой список (в формате $LB), коллекции-cписки и коллекции-массивы.
Будет много SQL, немного классов и совсем чуть-чуть NoSQL
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

Разработка в Caché Studio с использованием TortoiseGit

Время на прочтение4 мин
Количество просмотров7.4K
Caché-Git — это модуль контроля версий для Caché Studio, который обеспечивает вызов диалоговых окон TortoiseGit непосредственно из Studio и полуавтоматическую синхронизацию рутин между Caché и локальным репозиторием.

В каждой области выбираются пакеты, проекты, классы, рутины, dfi-файлы, csp-страницы, csp-приложения которые будут остлеживаться Caché-Git.

Всякий раз при сохранении отслеживаемой программы, она будет экспортироваться на диск в репозиторий. При открытии программа будет загружаться из репозитория, если версия, находящаяся в нём свежее.

Caché-Git работает только на компьютерах, на которых установлен и сервер и клиент Caché. Caché-Git не будет работать при соединении с удалённым сервером.

Где взять


Репозиторий с Caché-Git находится по адресу github.com/intersystems-ru/cache-tort-git. Там же есть wiki, в которой описаны шаги по установке и использованию
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии1

SQL-доступ к NoSQL-данным: реализация SQL-процедуры в Caché с динамическим определением возвращаемых метаданных

Время на прочтение13 мин
Количество просмотров5.4K
Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.

О том, как снять это ограничение, рассказано под катом.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии5

Клиент Caché ODBC в Linux

Время на прочтение6 мин
Количество просмотров6.2K
Несколько лет назад заказчик, крупный медицинский центр федерального значения, поручил нам разработать софт, обслуживающий информационные киоски. Внешне киоск напоминает платёжный терминал (только без купюроприёмника), его основная функция, как следует из названия, — предоставление пациентам различной информации, такой как расписание приёма врачей, услуги и их стоимость, и так далее.
По понятным причинам для киоска потребовалось разработать упрощённый интерфейс пользователя, который было решено реализовать как web-приложение. Имея в штате опытных web-программистов, уверенно владеющих php, решили (для скорости) поручить им его написание, организовав связь с базой данных нашей медицинской системы. Рассматривалось 3 варианта взаимодействия:
  • ODBC
  • JDBC
  • web-сервисы.
Web-программисты предпочли ODBC как наиболее простой с их точки зрения вариант, и альфа-версия киоска довольно быстро увидела свет. Однако вскоре выяснилось (surprise!), что php-код должен работать не под Windows, как это было у разработчика, а под Linux, несмотря на то, что в те годы наша медицинская система эксплуатировалась заказчиком на платформе Windows 2008. Чтобы «подружить» всех членов триады (Linux – ODBC-драйвер Caché — php5) потребовались определённые усилия. Последовательность проделанных действий я зафиксировал в виде наброска к данной статье, которую и предлагаю вашему вниманию.
Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии17

Конкурс студенческих проектов InterSystems CIS Student Innovator Awards 2012

Время на прочтение2 мин
Количество просмотров2.2K
Открыт прием заявок на ежегодный конкурс программных решений
CIS Students Innovator Awards 2012.
Мы рассматриваем заявки на программные проекты на базе технологий InterSystems: Caché, DeepSee, Ensemble, GlobalsDB.
Прием заявок до 10 декабря.
Подробнее об условиях и темах конкурса
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Знакомство с "Caché SQL Gateway" для создания федеративных систем или мультибаз

Время на прочтение8 мин
Количество просмотров4.5K
В сложных комплексных системах часто встаёт вопрос интеграции данных из разных источников.
Такие системы получили название интегрированных, федеративных или мультибаз.

В СУБД Caché такая интеграция осуществляется с помощью специального шлюза (Caché SQL Gateway), который использует в своей основе ODBC/JDBC соединения к внешним источникам данных. Причём под источником в данном случае можно понимать не только СУБД, так как есть JDBC/ODBC драйвера для MS Excel, DBF, текстовых файлов, графических файлов, WMI и т.д.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии0

InterSystems Database Mirroring. Создание и тестирование зеркала. Часть 1

Время на прочтение5 мин
Количество просмотров3.7K

О технологии


Caché Database Mirroring появилась в продуктах InterSystems Caché и Ensemble в 2010 году.
Технология позволяет снабдить информационные системы(ИС), построенные на Caché и Ensemble, опцией FAILOVER — возможностью преодоления некоторых неисправных состояний СУБД, операционной системы или аппаратного обеспечения.
Для чего информационной системе необходим failover — вопрос давно изученный, но в двух словах failover позволяет минимизировать время простоя пользователей в случае неисправностей, приводящих к отказу обслуживания сервера с информационной системой.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Релиз GlobalsDB 2012.2

Время на прочтение6 мин
Количество просмотров2.8K
15 мая вышла новая версия бесплатной NoSQL СУБД GlobalsDB 2012.2.

Что нового?
Добавлен ожидаемый многими Node.JS API интерфейс для Windows, и сразу же для Windows 64-bit.
Реализованы небольшие дополнения и устранены некоторые ошибки.
Об этом и остальном
очень подробно под катом
Всего голосов 4: ↑3 и ↓1+2
Комментарии3

Расширение встроенной документации в СУБД Caché

Время на прочтение2 мин
Количество просмотров2.9K


В СУБД Caché есть возможность встраивать свои материалы в стандартную документацию с помощью методов класса DocBook.Utils.
Таким образом можно создать собственную корпоративную документацию с возможностью удобной навигации и расширенным поиском по ней.
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Вышла новая версия Cache 2012.1

Время на прочтение4 мин
Количество просмотров2K
Полная версия документа Release Notes Caché 2012.1. на английском языке доступна на сайте InterSystems.



Что нового:


1. iKnow — технология обработки неструктурированных данных
2. Поддержка WS-Conversation в веб-сервисах
3. Генерация HTML5 в Zen
4. Повышение производительности обработки потоков

Подробности под хабракатом
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии0

До и После полуночи

Время на прочтение8 мин
Количество просмотров8.8K


Резервное копирование? Опять?
Ага!


Разумеется, любой грамотный АйТи-шник прекрасно знаком с подоплёкой этого вопроса, однако, как оказалось, методология и даже простейшая алгоритмика иногда являются камнем преткновения.


Что странно. Что удивительно.
Давайте разбираться, что нужно сделать "До полуночи", чтобы спать спокойно "После полуночи"...

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Шард-кластер InterSystems IRIS за минуту с Configuration Merge File

Время на прочтение6 мин
Количество просмотров590

В этой статье мы запустим кластер InterSystems IRIS с помощью docker и файлов Merge CPF (CMF) — новой функции, позволяющей легко конфигурировать серверы InterSystems IRIS. В UNIX и Linux вы можете изменить стандартный iris.cpf с помощью декларативного файла Merge CPF. Файл Merge CPF — это частичный CPF, который устанавливает нужные значения для любых параметров при запуске InterSystems IRIS. С помощью Merge CPF легко можно запускать сложные конфигурации InterSystems IRIS.

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Построение RESTful web API на платформе InterSystems — 3: Разработка от спецификации

Время на прочтение9 мин
Количество просмотров1.3K

В этой статье я хотел бы рассказать о подходе от спецификации (spec-first) при разработке REST API на платформе InterSystems IRIS, который ускоряет разработку приложений в рамках микросервисной архитектуры и решение интеграционных задач. Эта статья является продолжением моей предыдущей статьи про разработку REST API на платформе InterSystems IRIS.

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Пишем систему логирования в InterSystems Caché

Время на прочтение13 мин
Количество просмотров3.1K
Monet impression sunrise

Введение


В предыдущей статье мы рассмотрели основные варианты использования макросов, теперь перейдём к написанию более обширного примера, использующего макросы. Писать будем систему логирования.
Читать дальше →
Всего голосов 5: ↑3 и ↓2+1
Комментарии4

Новое в СУБД Caché 2013.1: добавление и генерация индексов на «живых» классах

Время на прочтение4 мин
Количество просмотров2.5K
Предположим, что у вас есть таблица с большим количеством записей и в неё нужно добавить один или несколько индексов со следующими условиями:

  1. их генерация должна быть максимально быстрой
  2. чтобы генерацию можно было производить порциями.
    К примеру, если есть таблица на 300М записей и работы с ней можно производить только в нерабочее время, то чтобы можно было разбить весь процесс на три ночи по 100М записей
  3. появление новых индексов и сам процесс их генерации не должны мешать текущей работе с классом/таблицей

Для этого можно было бы воспользоваться уже известным методом %BuildIndices(), но в таком случае это не будет удовлетворять нашим условиям.

Каков же выход?
Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии9

Примеры генерации и отправки Email средствами СУБД Caché

Время на прочтение6 мин
Количество просмотров4.2K
Нередко возникает необходимость в автоматической генерации и отправке электронных писем на основе данных из БД. Это могут быть различные отчёты с таблицами, диаграммами или уведомления о наступлении каких-то событий.
Всё это можно реализовать непосредственно в самой СУБД Caché, выступающей здесь и как почтовый сервер приложений.

Далее рассмотрим следующие примеры:
  • создание текстового письма
  • создание письма в формате HTML
  • добавление вложений
  • добавление изображений в само тело письма
  • другие примеры
Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии44