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

Пользователь

Отправить сообщение

Транзакции в глобалах InterSystems IRIS

Время на прочтение 8 мин
Количество просмотров 1.3K
InterSystems IRIS and transactionСУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript.

Подробнее о глобалах в цикле статей «Глобалы — мечи-кладенцы для хранения данных»:

Деревья. Часть 1
Деревья. Часть 2
Разреженные массивы. Часть 3

Мне стало интересно как реализованы транзакции в глобалах, какие там есть особенности. Ведь это совершенно иная структура для хранения данных, чем всем привычные таблицы. Намного более низкоуровневая.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 7

PHP-модуль для работы с иерархическими данными в InterSystems IRIS

Время на прочтение 7 мин
Количество просмотров 2.2K
image PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми СУБД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах.

Глобалы — это структуры для хранения иерархической информации. Они чем-то напоминают базы «key -> value» только с тем отличием, что ключ может быть многоуровневым:
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 1

Довериться Кодду или своим объектам?

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

Хранимые объекты без головной боли: простой пример работы с объектами Caché на языках ObjectScript и Python



Замок Нойшванштайн

В июне 2020 года ровно 50 лет табличным хранилищам данных или говоря формально — реляционной модели данных. Вот официальный документ – та самая знаменитая статья. За что говорим огромное спасибо доктору Эдгару Фрэнку Кодду. И, между прочим, реляционная модель данных входит в список важнейших мировых инноваций последних 100 лет по версии Форбса.

С другой стороны, как ни странно, Кодд считал реляционные базы данных и язык SQL искаженной реализацией своей теории. В качестве ориентира, он даже разработал 12 правил, которым должна удовлетворять каждая система управления реляционными базами данных (на самом деле это 13 правил). И, по правде говоря, на сегодня, в мире не найти СУБД удовлетворяющих хотя бы «Правилу 0» Кодда и, следовательно, никто не может называть свою СУБД на 100% реляционной :) Может есть исключения, подскажите?
Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Комментарии 78

Резервное копирование виртуальной машины и скрипты заморозки/оттаивания InterSystems Caché

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

В этой статье я рассмотрю стратегии резервного копирования Caché с использованием систем внешнего резервного копирования и приведу примеры интеграции с решениями на основе снимков состояния виртуальной машины (VM snapshot, снапшот). Большинство решений, с которыми я сталкиваюсь сегодня, развернуты на базе Linux и VMware, поэтому я приведу примеры решений именно с использованием снапшотов VMware.

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

GUI на Grafana для mgstat — утилиты мониторинга системы на InterSystems Caché, Ensemble или HealthShare

Время на прочтение 13 мин
Количество просмотров 6K
Добрый день! Данная статья является продолжением статьи "Дружим Prometheus с Caché". Мы рассмотрим вариант визуализации результатов работы утилиты ^mgstat. Эта утилита предоставляет статистику производительности Caché, а именно, число вызовов глобалов и рутин, локальное и по ECP, длину очереди демона записи, число блоков, записанных на диск и считанных с диска, объем ECP-трафика и прочее. Запускаться ^mgstat может как отдельно (интерактивно или джобом), так и при работе другой утилиты оценки производительности ^pButtons.

Изложение материала хотелось бы разбить на две части: в первой графически показать непосредственно статистику, собираемую ^mgstat, а во второй — рассмотреть, как именно эта статистика собирается. Если коротко, то используются $zu-функции. Однако к большинству собираемых параметров есть и объектный интерфейс через классы пакета SYS.Stats. И далеко не все параметры, которые можно собрать, показываются в ^mgstat. В дальнейшем мы попробуем все их отобразить на Grafana-дашбоардах. В этот же раз покажем только то, что нам предоставляет сам ^mgstat. Кроме того, попробуем на вкус Docker-контейнеры.

Grafana mgstat Dashboard
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 15

DeclarativeCOS — Декларативное программирование на Caché

Время на прочтение 5 мин
Количество просмотров 2.6K
Проект DeclarativeCOS — крик души по теме программирования на COS.

Цель проекта — обратить внимание сообщества к улучшению внутреннего ядра COS.

Идея проекта — поддержка лаконичного синтаксиса при работе с циклами и коллекциями.

image

Итак, что же лаконичного я придумал? Добро пожаловать в примеры!
Читать дальше →
Всего голосов 17: ↑16 и ↓1 +15
Комментарии 12

Релиз интеграционной платформы Ensemble 2017.1

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

image
В догонку к списку изменений СУБД Caché 2017.1 публикуем аналогичный список для Ensemble.


Список изменений на английском


На русском – под катом.

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

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

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

image
Всем привет! Буквально вчера состоялся выпуск очередной версии СУБД Caché под номером 2017.1. Спешим поделиться списком изменений в первой версии 2017-го года. Как всегда, вначале публикуем ссылку на полный список изменений (на английском языке).

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

Контейнеризация Caché

Время на прочтение 5 мин
Количество просмотров 3.7K
В этой статье я хочу рассказать про то как можно получить свой образ Docker с InterSystems Caché/Ensemble.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Комментарии 3

Как я разбирал docx с помощью XSLT

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

Задача обработки документов в формате docx, а также таблиц xlsx и презентаций pptx является весьма нетривиальной. В этой статье расскажу как научиться парсить, создавать и обрабатывать такие документы используя только XSLT и ZIP архиватор.

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

Просмотр глобалов в Портале Управления СУБД Caché

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

Вызывает антирес и такой ишо разрез
(Царь из «Про Федота-стрельца»)


Всё в Caché хранится в глобалах. Данные, метаданные, классы, программы. Для просмотра глобалов в Портале управления существует удобный инструмент — страница «Просмотр данных глобала». Её-то мы сегодня и рассмотрим.


Примером глобала нам будет служить ^DeepSee.Cubes. Это глобал, в котором хранится список кубов DeepSee. Для чтения этой статьи знать DeepSee вам совершенно не обязательно.


Чтобы попасть на страницу «Просмотр данных глобала», откройте Портал Управления, выберите «Обозреватель системы» (System Explorer) → «Глобалы» (Globals). Затем слева нужную область, и нажмите «Просмотр» рядом с нужным глобалом.

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

Дружим Prometheus с Caché

Время на прочтение 9 мин
Количество просмотров 5.5K
Prometheus – одна из систем мониторинга, адаптированных под сбор time series данных.
Она достаточно проста в инсталляции и первоначальной настройке. Имеет встроенную графическую подсистему для отображения данных PromDash, однако сами же разработчики рекомендуют использовать бесплатный сторонний продукт Grafana. Prometheus умеет мониторить много чего («железо», контейнеры, различные СУБД), однако в данной статье хотелось бы остановиться на реализации мониторинга инстанса Caché (точнее, инстанс будет Ensemble, но метрики будем брать кашовые). Кому интересно — милости просим под кат.

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

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

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

Всем привет! Состоялся очередной выпуск новой версии Caché под номером 2016.2. Изменений не так много, но все они важные. Как всегда, вначале публикуем ссылку на полный список изменений (на английском языке).


Итак.

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

Класс удаленного прокси — это не (очень) больно

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

Fish Out Of Watermelon by Joan Pollak

(Динамическая диспетчеризация спешит на помощь)


После нескольких статей про MapReduce нам показалось необходимым еще раз отойти в сторону и поговорить про инфраструктуру, которая поможет облегчить построение решения MapReduce. Мы, по-прежнему, говорим про InterSystems Caché, и, по-прежнему, пытаемся построить MapReduce систему на базе имеющихся в системе подручных материалов.


На определенном этапе написания системы, типа MapReduce, встает задача удобного вызова удаленных методов и процедур (например, посылка управляющих сообщений с контроллера на сторону управляемых узлов). В среде Caché есть несколько простых, но не очень удобных методов достичь этой цели, тогда как хочется бы получить именно удобный.


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

MapReduce из подручных материалов. Часть III – собираем все вместе

Время на прочтение 11 мин
Количество просмотров 4.7K
Mosaic by Joan PollakВ первой (достаточно капитанской) части этой серии мы рассказали про базовые концепции MapReduce почему это плохо, почему это неизбежно, и как с этим жить в других средах разработки (если вы не про Си++ или Java). Во второй части мы-таки начали рассказывать про базовые классы реализации MapReduce на Caché ObjectScript, введя абстрактные интерфейсы и их первичные реализации.
Сегодня пришел наш день! – мы покажем первый пример собранный в парадигме MapReduce, да, он будет странный и не самый эффективный, и совсем не распределенный, но вполне MapReduce.

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

Разработка в InterSystems Caché в вашей любимой IDE

Время на прочтение 11 мин
Количество просмотров 7.2K
Здравствуйте! В InterSystems Caché есть вполне практичный способ разрабатывать решения без использования интегрированных в неё инструментов. Весь код проекта можно хранить в виде традиционных файлов с исходным кодом, редактировать в любимой среде разработки, индексировать системой контроля версий и одной командой выполнять импорт и компиляцию классов в СУБД Caché. Более того, это предоставляет возможность использовать любые другие внешние инструменты, например, для сборки и препроцессинга кода. В данной статье будет рассмотрен пока что не традиционный для Caché, но достаточно практичный цикл разработки проектов.
Интересно? Продолжайте чтение
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 14

MapReduce из подручных материалов. Часть II – базовые интерфейсы реализации

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

Take it like a man by Joan PollakВ предыдущей части серии мы (в 100500й раз) попытались рассказать про основные приемы и стадии подхода Google MapReduce, должен признаться, что первая часть была намерено "капитанской", чтобы дать знать о MapReduce целевой аудитории последующих статей. Мы не успели показать ни строчки того, как всё это мы собираемся реализовывать в Caché ObjectScript. И про это наша рассказ сегодня (и в последующие дни).


Напомним первоначальный посыл нашего мини-проекта: вы всё еще планируем реализовать MapReduce алгоритм используя те подручные средства, что есть в Caché ObjectScript. При создании интерфейсов, мы попытаемся придерживаться того API, что мы описали в предыдущей статье про оригинальную реализацию Google MapReduce, любые девиации будут озвучены соответствующе.


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

Какая-такая Data? Или ещё раз про MapReduce

Время на прочтение 10 мин
Количество просмотров 20K
Big Fish Small Fry by John Pollack Если Вы последние 10 лет провели на удаленном острове, без интернета и в отрыве от цивилизации, то специально для Вас мы попытаемся еще раз рассказать про концепцию MapReduce. Введение будет небольшим, в объеме достаточном, для реализации концепции MapReduce в среде InterSystems Caché. Если же Вы не сильно далеко удалялись последние 10 лет, то сразу переходите ко 2ой части, где мы создаем основы инфраструктуры.


Читать дальше →
Всего голосов 32: ↑27 и ↓5 +22
Комментарии 15

Ontodia + Caché — визуализатор онтологий для навигации по хранимым сущностям InterSystems Caché

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

Про библиотеку Ontodia


Для начала имеет смысл остановиться на том, что же такое Ontodia и что такое СУБД Caché. Пожалуй, начнем с пока что менее известного продукта — Ontodia. Ontodia — это результат совместного проекта международной лаборатории ISST Университета ИТМО и компании VISmart, занимающейся разработкой программного обеспечения в области семантического веба (semantic web). Сервис Ontodia изначально был веб приложением, предназначенным для визуализации исключительно связанных данных (linked data) и онтологий. Мы создали этот сервис, потому что не сумели найти простых, доступных и эффективных инструментов понятной визуализации связанных данных семантического веба.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 4

iKnow Review Analyzer (iKRA)

Время на прочтение 4 мин
Количество просмотров 12K
image

Intro


С помощью технологии InterSystems iKnow мы сделали систему оценки отзывов под названием iKnow Reviews Analyzer (iKRA). О прототипе проекта можно прочитать здесь. iKRA анализирует текстовые отзывы пользователей, автоматически выставляя численную оценку предмету исследования. Эти функции могут быть очень кстати, например, на сайтах онлайн-продаж, тематических форумах или сборниках медиа контента. Другими словами, везде, где идет обсуждение сообществом каких-либо вещей.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность