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

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

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

В поисках аналога функций первого порядка в СУБД Caché

Время на прочтение20 мин
Количество просмотров3.5K
Пост написан в дополнение к статье Декларативная разработка на Caché.

[2, 3, 5, 7, 11, 13, 17].forEach(function(i) {
  console.log(i);
});

Как делать такое в Caché с помощью COS?
Под катом несколько упражнений на заданную тему.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии6

Глобалы — мечи-кладенцы для хранения данных. Деревья. Часть 2

Время на прочтение8 мин
Количество просмотров13K
Начало — см. часть 1.

3. Варианты структур при использовании глобалов


Такая структура как упорядоченное дерево имеет разные частные случаи. Рассмотрим те, которые имеют практическую ценность при работе с глобалами.

3.1 Частный случай 1. Один узел без ветвей


Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии192

Анализ журнала аудита Caché c помощью Caché (DeepSee)

Время на прочтение4 мин
Количество просмотров3.6K
В поставку СУБД Caché, кроме самого сервера базы данных, входит технология для «real-time» бизнес-аналитики DeepSee. Её использование – это наиболее быстрый способ добавить OLAP функциональность к вашему приложению на Caché.

Другим элементом установки является подсистема аудита с web-интерфейсом, возможностью расширения собственными типами событий и API для использования в прикладном коде.

Под катом – небольшой пример совместного использования этих подсистем, позволяющий ответить на вопросы — кто, что, когда делал в информационной системе?
кто, что, когда - в произвольной комбинации
Всего голосов 12: ↑10 и ↓2+8
Комментарии2

Реализация интервально-ассоциативного массива в СУБД Caché

Время на прочтение19 мин
Количество просмотров2.9K
Пост написан на основе статьи на хабре: «Интервально-ассоциативный массив».

Поскольку изначальная реализация основана на слайсах (срезах) питона, нелишней для прочтения будет статья: Всё, что вы хотели знать о слайсах. И, конечно, немного теории: Дерево Интервалов (Отрезков).
Итак, как же слайсы будут выглядеть в Caché?
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Новое в Caché 2015.1: SQL-индекс по элементам свойства-массива

Время на прочтение5 мин
Количество просмотров3.1K
В Caché 2015.1 появилась возможность включить для свойств коллекций проекцию в отдельную колонку. Таким образом для SQL доступа к данным коллекции можно использовать не только дочернюю таблицу, но и просто как дополнительную колонку, в которой лежат все значения коллекции. Подробнее об этом здесь.
О том, как и где это может быть полезно на практике, рассказывает эта статья.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии0

Декларативная разработка на Caché

Время на прочтение3 мин
Количество просмотров3.5K
    В Caché есть несколько различных способов пройтись по коллекции и выполнить какие-нибудь действия с ее элементами. Самым простым является while-цикл. Такой способ позволяет решить поставленную задачу в императивном стиле. Разработчику приходиться явно заботиться об итераторе, о переходе к следующему элементу и о проверке выхода за пределы коллекции.
    Но разве это то, о чем должен заботиться разработчик?! Разработчик должен решать поставленную перед ним задачу, за максимально короткое время с максимально хорошим качеством кода. Было бы очень здорово просто взять коллекцию и применить к ней функцию, которая выполняет необходимые действия на каждом элементе этой коллекции. Не проверять границ, не создавать итератор, не вызывать вручную функцию на каждом элементе. Такой способ решения задач называется декларативным программированием.
Declarative programming is when you write your code in such a way that it describes what you want to do, and not how you want to do it.
(c) 1800-information
Давайте подумаем, как же решить поставленную задачу декларативно, используя средства и возможности Caché.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии3

Создание пользовательских OID для мониторинга систем на Caché с помощью SNMP

Время на прочтение12 мин
Количество просмотров16K
Доброго дня (вечера, ночи, утра — нужное подчеркнуть) всем хаброжителям!
Этот пост посвящен мониторингу инстанса Caché с помощью SNMP. Наверняка, многие пользователи Caché этим в той или иной степени уже пользуются. Мониторинг через SNMP поддерживается в стандартной инсталляции Caché уже давно, однако далеко не все интересующие параметры доступны из «коробки». Например, хотелось бы видеть мониторинг количества CSP-сессий, более подробные сведения по использованию лицензии, частные KPI эксплуатируемой системы и т.п.
В этой статье вы узнаете, как добавить свои параметры для мониторинга Caché с помощью SNMP.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Intersystems Caché: Globals API для .NET – прямой доступ к глобалам из C#

Время на прочтение15 мин
Количество просмотров7.2K
Недавно возникла необходимость сравнить скорость записи/чтения данных из СУБД Intersystems Caché, используя разные виды доступа – прямой к глобалам, объектный и реляционный. С объектным и реляционным доступом все понятно, а вот с прямым (он же direct access) пришлось разбираться. Для тех, кому, как и мне, с первого взгляда документация не дала полного понимания процесса, и предназначена эта статья. Для примера буду делать консольное приложение в лучших традициях процедурного программирования.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии9

ZPM – менеджер пакетов для InterSystems IRIS

Время на прочтение6 мин
Количество просмотров1.1K
Менеджеры пакетов для различных платформ очень широко применяются, позволяют быстро установить и настроить многие готовые компоненты и библиотеки. А также используются для развертывания собственных решений. При этом важно, чтобы менеджер пакетов обрабатывал зависимости, т.е. если ваше приложение использует какую-то библиотеку определенной версии, то менеджер пакетов при установке вашего приложения также установит необходимую версию этой библиотеки.

Теперь для InterSystems IRIS также доступен менеджер пакетов — ZPM.

ZPM позволяет найти, установить, обновить модуль, а также может использоваться для публикации модулей. Каждый модуль может быть отдельным приложением, библиотекой, фреймворком, утилитой или примером использования технологий InterSystems.
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Релиз InterSystems IRIS 2019.1

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

В середине марта вышла новая версия платформы данных InterSystems IRIS 2019.1


Представляем вашему вниманию список изменений на русском языке. Полный список изменений и Upgrade Checklist на английском языке можно найти по ссылке.


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

Установка приложений в Caché с использованием проекций

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

Здравствуйте. В этой статье будет описан еще один способ создания установщика для приложений в InterSystems Caché. Под приложениями здесь имеются в виду разные библиотеки или утилиты, которые могут быть добавлены или удалены из Caché всего одним действием. Если вы всё ещё пишете инструкции для пользователей по установке ваших приложений в Caché, состоящие более чем из одной строки — самое время это автоматизировать.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии25

Хакатон на школе InterSystems 2015

Время на прочтение7 мин
Количество просмотров3.7K
InterSystems никогда раньше не проводила хакатонов. Школы собирали каждый год, тренировали, разбивали на команды, делали задания, различной продолжительности, но так это не называли. Но время идет. Не хотелось в очередной раз повторять одно и тоже. Хотелось чего-то нового.

Хакатонов, тех же.

Если уж мы собираем полсотни высокопрофессиональных программистов Caché почему бы не попытаться, разбив их на команды, создать нечто новое? Не все, скорее всего, согласятся участвовать и захотят программировать ночи напролет, но даже и малая часть, всего две-три команды вполне могут создать что-то стоящее. Даже если в итоге получится всего пара, но осмысленных проектов, то будем считать эксперимент успешным. (И забегая вперед, мы можем с удовлетворением констатировать, что получили больше чем «пару» достойных проектов)
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии3

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

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

Основные улучшения


Повышение производительности Caché на системах с большим количеством ядер, поддержка XSLT2, поддержка семафоров, поддержка новых сценариев высокой доступности.
Подробности новой версии обо всем по-порядку в статье.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии1

Альтернативные SQL-менеджеры для СУБД Caché

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

Caché Monitor


Если при разработке или использовании вашего приложения на Caché вам часто приходится выполнять SQL-запросы, а функциональности SQL-менеджера из Портала Управления Caché или SQL-оболочки из терминала Caché вам недостаточно, то советую обратить внимание на приложение Caché Monitor.

Альтернативный SQL-менеджер разработал Андреас Шнайдер — разработчик из Германии.
Это кроссплатформенное Java-приложение кроме выполнения SQL-запросов предоставляет следующие возможности:
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии7

ECP и API управления процессами

Время на прочтение12 мин
Количество просмотров5.9K
Технология распределения нагрузки между несколькими серверами сравнительно небольшой мощности является стандартной возможностью СУБД Caché уже достаточно давно. В её основе лежит протокол распределённого кэша ECP (Enterprise Cache Protocol); здесь имеется в виду именно «cache» («кэш»), а не «Caché» («кашЭ»). ECP открывает богатые возможности для горизонтального масштабирования прикладной системы, обеспечивая высокую производительность при не менее высокой устойчивости к отказам, оставляя при этом бюджет проекта в достаточно скромных рамках. К достоинствам сети ECP справедливо будет отнести и возможность сокрытия особенностей её архитектуры в недрах конфигурации СУБД, так что прикладные программы, изначально разработанные для традиционной (вертикальной) архитектуры, как правило, легко переносятся в горизонтальную ECP-среду. Эта лёгкость настолько завораживает, что хочется, чтобы так было всегда. Например, все привыкли к возможности управлять не только текущим, но и «чужими» процессами Caché: системная переменная $Job и связанные с ней функции и классы в умелых руках позволяют «творить чудеса». Стоп, но теперь процессы могут оказаться на разных серверах Caché… Ниже — о том, как удалось добиться почти такой же прозрачности в управлении процессами в среде ECP, как и без неё.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии3

Макросы в InterSystems Caché

Время на прочтение7 мин
Количество просмотров3.6K
Monet tulips in holland

Введение


Хочу рассказать про использование макросов в InterSystems Caché. Макрос — это символьное имя, заменяемое при компиляции исходного кода на последовательность программных инструкций. Макрос может «разворачиваться» в различные последовательности инструкций при каждом вызове, в зависимости от сработавших разветвлений внутри макроса и переданных ему аргументов. Это может быть как статический код, так и результат выполнения COS. Рассмотрим, как их можно использовать в вашем приложении.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии17

InterSystems iKnow. Загружаем данные из Вконтакте

Время на прочтение14 мин
Количество просмотров7.6K
Эта статья продолжает цикл рассказов (раз, два) об основных способах/сценариях использования iKnow — инструмента Natural Language Processing'а из стека технологий InterSystems.
Предыдущие посты на эту тему были в основном посвящены работе с данными уже после того, как те были помещены в домен (место, в котором и проходит весь анализ текста). Эта же статья будет о том, как правильно и удобно загрузить информацию в iKnow. В качестве примера рассмотрим загрузку информации о пользователях Вконтакте: их личных данных, постах и т.д.
Статья подразумевает некий базовый бэкграунд в области технологий InterSystems (в частности, Caché ObjectScript).
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии0

Инструмент администрирования GlobalsDB и тонкости работы с этой базой данных

Время на прочтение5 мин
Количество просмотров6.4K
Здравствуйте, дорогие хабрачитатели.

Сегодня я хотел бы поделится с вами опытом в работе с NoSQL базой данных GlobalsDB, а так же представить вашему вниманию недавно разработанный инструмент администрирования для неё — GlobalsDB Admin. Далее вы найдёте, в основном, разные технические подробности, и если данная тема вам интересна, добро пожаловать.



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

Разработка в InterSystems Caché под Linux

Время на прочтение6 мин
Количество просмотров5K
В продолжение статьи про установку Caché на Linux опишу, какие IDE есть в арсенале разработчика на технологиях InterSystems, выбравшего Linux в качестве домашней системы. На текущий момент большого разнообразия возможностей не наблюдается, возможно потому, что официальная среда разработки Caché Studio поставляется только для семейства операционных систем Windows. Но варианты все же есть. Под катом о том, что уже доступно сейчас, и о том, чего возможно стоит ждать в будущем.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии1

Овсянка, сэр! Собираем проект на InterSystems Caché с помощью Jenkins

Время на прочтение3 мин
Количество просмотров4.4K
С одной стороны M-программисты настолько суровы, что любой прикладной софт пишут сами. И задача сборки проекта не должна вызвать особых затруднений. Действительно, что сложного в том, чтобы: сделать запрос к серверу контроля версий, разобрать ответ и вытащить номер ревизии, сравнить с номером ревизии загруженного кода, вызвать исполняемый файл и скачать исходники, загрузить их в базу, скомпилировать, сохранить результаты, сформировать отчет, прикрутить к этому всему web-интерфейс, добавить возможность изменения настроек, расписания, и так далее. С другой стороны – сколько времени вы на это собираетесь потратить?
Больше 5 минут?
Всего голосов 8: ↑7 и ↓1+6
Комментарии3