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

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

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

А вы уже поменяли $Increment на $Sequence?

Время на прочтение8 мин
Количество просмотров10K
Если бы это была запись для твиттера, то она была бы следующей: «Программисты на Caché ObjectScript! Используйте $Sequence вместо $Increment для генерации Id». Но тут Хабр, поэтому придётся развернуть мысль – добро пожаловать под кат.


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

Юнит-тесты в Caché – это просто

Время на прочтение5 мин
Количество просмотров8K
Больше всего программисты любят программы, в которых не нужно исправлять баги. Шагом на пути к этой несбыточной мечте является написание юнит-тестов. В Caché, как и в любой современной СУБД, есть реализация фреймворка для автоматического выполнения тестов.


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

Рефлексия в Caché

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


Тема рефлексии нечасто поднималась на форумах или блогах Caché. Быть может потому, что понятие рефлексии как таковое в Caché явно не обозначено. Тем не менее рефлексия в Caché присутствует и может стать очень полезным инструментом в разработке.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии11

IT-системы в медицине

Время на прочтение9 мин
Количество просмотров12K
Привет, GT! Современные технологии, повсеместное проникновение и распространение глобальной сети, электроники и прочего хайтека существенно изменило качество нашей с вами жизни, и, несомненно, повлияло на одну из самых важных и интересных областей деятельности человека (пусть, зачастую, мы этого и не замечаем) — на медицину.



Маленькие стоматологические клиники, «семейные» центры и прочие аналитические мини-лаборатории типа «100500 анализов за 1 забор крови» — таких сейчас в крупных городах пруд пруди. Интересовало ли вас когда-нибудь, что происходит дальше с той пробиркой с кровью, которую у вас «выкачали»? Куда она отправляется? Что с ней делают? Я побывал в одном из таких центров, и сегодня хочу поделиться впечатлениями о том месте, где привычные для нас с вами, гиков, вычислительные технологии, компьютерные сети и сложные девайсы творят магию крови.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии52

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

Время на прочтение4 мин
Количество просмотров3K
Корпорация InterSystems на Global Summit 2015 приняла социалистическое обязательство объявила о политике частых релизов — выпуск новых версий как минимум 4 раза в год. В исполнение этого обета, 8 июля вышел релиз СУБД InterSystems Caché 2015.2 через 3 месяца после релиза Caché 2015.1. Видео о релизе.
В Caché 2015.2 улучшена производительность и масштабируемость, появилась поддержка русского и украинского в iKnow, реализована поддержка CORS в REST.
Подробности
Всего голосов 11: ↑10 и ↓1+9
Комментарии1

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

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

Введение


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

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.5K
Monet tulips in holland

Введение


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

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

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

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

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

Масштабируемость Caché 2015 при использовании Ivy Bridge-EX

Время на прочтение4 мин
Количество просмотров7.7K
Недавно мы рассказывали о последнем релизе СУБД InterSystems Caché 2015.1, в котором существенно улучшена производительность, реализована поддержка второй версии языка преобразования XML-документов XSL Transformations (XSLT) Version 2.0 и использование семафоров для синхронизации процессов в Caché и организации их взаимодействия между собой. Кроме того, в новом релизе Caché расширены возможности использования сценариев высокой доступности и поддерживается применение внешнего web-сервера NGINX для сервера приложений Caché. В этой статье мы поговорим о первом из перечисленных усовершенствований нашей СУБД, а именно о том, насколько после выхода нового релиза улучшается производительность Caché при работе на многопроцессорных серверах, оборудованных процессорами Intel Xeon E7 v2 (кодовое название Ivy Bridge-EX).


Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии11

Реализация интервально-ассоциативного массива в СУБД 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

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

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

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


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

UI для Ensemble Workflow на Angular

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


Те, кто знаком с платформой для интеграции и разработки приложений InterSystems Ensemble, знают, что такое подсистема Ensemble Workflow и как она бывает полезна для автоматизации взаимодействия людей. Для тех же, кто не знаком с Ensemble (и/или Workflow), я кратко опишу её возможности (остальные могут пропустить эту часть и узнать, как они могут использовать пользовательский интерфейс Workflow на Angular.js).
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии2

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

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

Профилируем код с помощью Caché Monitor

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


Не все знают, что в InterSystems Caché есть встроенный инструмент для профилирования кода, который называется Caché Monitor.

Основное его назначение (очевидно) – сбор статистики по исполняющимся в Caché программам. Он может предоставлять как общую статистику по всем программам, так и детализированную Line-by-Line статистику по каждой отдельной программе.
Читать дальше →
Всего голосов 7: ↑5 и ↓2+3
Комментарии1

InterSystems iKnow. Часть вторая. Создание простого домена

Время на прочтение11 мин
Количество просмотров3.7K
Это продолжение моего рассказа про Natural Language Processing технологию Intersystems iKnow, начало здесь. Во второй части вы найдете описание практической работы с iKnow. Мы создадим домен, настроим его, загрузим текст. Затем, посмотрим и проанализируем результаты. Подробнее об этом под катом…
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

InterSystems iKnow. Часть первая. iKnow и пляжный отдых

Время на прочтение8 мин
Количество просмотров5K
Мне давно хотелось написать свою статью о технологии iKnow. Прошло уже три года с момента её появления, но публикаций о применениях этой технологии в русскоязычных решениях до сих пор не было. Объяснение этому довольно простое – не было полноценной поддержки русского языка. Но с каждым новым релизом, начиная с Cache 2013.1, ситуация менялась в лучшую сторону. И вот, наконец, мы решили реализовать первый проект на iKnow. О том, как это было, что получилось, а что нет, читайте далее в моей статье.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии2

Семафоры, или как разруливать доступ к ресурсам в DBMS Caché

Время на прочтение14 мин
Количество просмотров8.8K
Часто при многопользовательском или параллельном доступе к данным возникает ситуация, когда необходимо заблокировать/дать доступ к переменной или участку памяти одновременно нескольким процессам. Решается данная задача с помощью мьютексов, семафоров, мониторов и т. д. В данном посте рассмотрим как же реализован один из методов предоставления совместного доступа к данным — семафор — в СУБД Intersystems Caché.

Что же такое семафор в Cache и с чем его едят?
Всего голосов 19: ↑16 и ↓3+13
Комментарии6