По мотивам статьи в Developer Connection написал свою реализациию класса для вызова команд операционной системы сервера, где установлена Caché или Ensemble.
Класс может пригодиться, когда нужно из Caché что-то сделать на хостовой ОС: распорядиться файлами бэкапов, настроить работу с системой контроля версий и другие полезные действия.
Класс позволяет выполнить команду на любой хостовой ОС и получить ответ в глобал или локальную переменную.
Читать полностью »
Рубрика «Блог компании InterSystems» - 9
Исполнение команд операционной системы на сервере Caché
2013-03-29 в 7:37, admin, рубрики: cmd, dbms, intersystems cache, nosql, pipeline, Блог компании InterSystems, разработка, метки: cmd, dbms, InterSystems cache, nosql, pipelineНовое в СУБД Caché 2013.1: добавление и генерация индексов на «живых» классах
2013-03-22 в 6:01, admin, рубрики: big data, cache, dbms cache, index, intersystems cache, performance, Блог компании InterSystems, высокая производительность, субд Caché, метки: big data, cache, dbms cache, index, InterSystems cache, performance, субд CachéПредположим, что у вас есть таблица с большим количеством записей и в неё нужно добавить один или несколько индексов со следующими условиями:
- их генерация должна быть максимально быстрой
- чтобы генерацию можно было производить порциями.
К примеру, если есть таблица на 300М записей и работы с ней можно производить только в нерабочее время, то чтобы можно было разбить весь процесс на три ночи по 100М записей - появление новых индексов и сам процесс их генерации не должны мешать текущей работе с классом/таблицей
Для этого можно было бы воспользоваться уже известным методом %BuildIndices(), но в таком случае это не будет удовлетворять нашим условиям.
Каков же выход?
Читать полностью »
Книги по Caché и MUMPS
2013-02-27 в 6:04, admin, рубрики: book, intersystems cache, MUMPS, nosql, Блог компании InterSystems, книги, подборка, субд Caché, метки: book, InterSystems cache, MUMPS, nosql, книги, подборка, субд Caché
Уважаемое читатели!
Технология Caché, унаследовавшая в себе M-технологию(MUMPS), развивается уже более 30 лет. Но академических книг по MUMPS вообще и по Caché в частности известно не так много, а такие книги на русском языке — еще большая редкость.
Тем не менее, техническая литература по Caché есть, более того — появляются новые книги. В этом посте обзор текущего состояния по предложению книг о Caché и M-технологиях в России и мире — те книги, которые можно приобрести в сети.
Читать полностью »
Примеры генерации и отправки Email средствами СУБД Caché
2013-02-19 в 5:54, admin, рубрики: cache, dbms cache, email, intersystems cache, smtp, Блог компании InterSystems, субд Caché, метки: cache, dbms cache, email, InterSystems cache, smtp, субд Caché Нередко возникает необходимость в автоматической генерации и отправке электронных писем на основе данных из БД. Это могут быть различные отчёты с таблицами, диаграммами или уведомления о наступлении каких-то событий.
Всё это можно реализовать непосредственно в самой СУБД Caché, выступающей здесь и как почтовый сервер приложений.
Далее рассмотрим следующие примеры:
- создание текстового письма
- создание письма в формате HTML
- добавление вложений
- добавление изображений в само тело письма
- другие примеры
Синхронизация процессов при распараллеливании задачи средствами Caché Event API
2013-02-05 в 6:01, admin, рубрики: cache, dbms cache, intersystems cache, nosql, Блог компании InterSystems, параллельное программирование, субд Caché, метки: cache, dbms cache, InterSystems cache, субд Caché Сегодня наличие многоядерных, многопроцессорных и многоузловых систем является уже нормой при обработке большого объёма данных.
Как же можно задействовать все эти вычислительные мощности? Ответ очевиден — распараллелив задачу.
Но тут же встаёт другой вопрос: а как синхронизировать сами подзадачи?
Читать полностью »
Разработка в Caché Studio с использованием TortoiseGit
2013-01-22 в 6:53, admin, рубрики: cache, Git, Блог компании InterSystems, разработка, метки: cache, GitCaché-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, в которой описаны шаги по установке и использованию
Читать полностью »
Zen Reports и %XML.Writer для генерации отчётов Excel в Caché
2012-12-26 в 15:14, admin, рубрики: cache, Excel, intersystems cache, reports, XML, zen, Блог компании InterSystems, отчеты, метки: cache, Excel, InterSystems cache, reports, XML, zen, отчеты Как известно MS Excel последних версий поддерживает описание структуры документа в формате xml. Это обстоятельство позволяет создавать отчеты в Excel с помощью генерации xml-файлов. В СУБД Caché существует несколько способов создания xml. В этой статье будут рассмотрены два, возможно наиболее удобных, способа эффективной программной генерации отчетов в MS Excel: с помощью Zen Reports и с использованием класса %XML.Writer.
Читать полностью »
SQL-доступ к NoSQL-данным: реализация SQL-процедуры в Caché с динамическим определением возвращаемых метаданных
2012-11-27 в 15:57, admin, рубрики: cache, cos, intersystems cache, jdbc, nosql, odbc, sql, Блог компании InterSystems, метки: cache, cos, InterSystems cache, jdbc, nosql, odbc, sql Как известно, Caché можно использовать как реляционную СУБД, в том числе через JDBC/ODBC драйверы, с возможностью исполнения произвольных SQL-запросов и вызова SQL-процедур.
Известно также, что все данные в Caché хранятся в многомерных разреженных массивах — глобалах. Это позволяет в случае недостаточной производительности отдельно взятой SQL-процедуры не использовать стандартный CachéSQL-движок, а переписать ее код исполнения на языке серверной бизнес-логики Caché ObjectScript (COS), в котором можно реализовать оптимальный алгоритм выполнения SQL-процедуры, часто используя более оптимальные NoSQL-структуры данных (глобалы).
Однако в стандартной библиотеке классов Caché существует одно ограничение: для SQL-процедур, в которых отбор выполняется самописным COS-кодом, необходимо определять набор возвращаемых полей на этапе компиляции — т.е. нет возможности динамически задать метаданные для SQL-процедуры, работающей с NoSQL структурами.
О том, как снять это ограничение, рассказано под катом.
Читать полностью »
InterSystems набирает стажеров
2012-11-06 в 22:57, admin, рубрики: cache, internship, intersystems cache, Блог компании InterSystems, стажировка, учебный процесс, Учебный процесс в IT, метки: cache, internship, InterSystems cache, стажировка, учебный процесс, Учебный процесс в it В компании InterSystems открывается новый цикл набора стажеров.
Мы рассматриваем кандидатов на две площадки – InterSystems Russia в Москве и InterSystems HQ в Кембридже, Массачусетс, США.
Ниже условия прохождения стажировки и подробности.
Читать полностью »
Клиент Caché ODBC в Linux
2012-10-30 в 13:52, admin, рубрики: Ensemble, intersystems cache, linux, odbc, php5, Администрирование баз данных, Блог компании InterSystems, метки: Ensemble, InterSystems cache, linux, odbc, php5 Несколько лет назад заказчик, крупный медицинский центр федерального значения, поручил нам разработать софт, обслуживающий информационные киоски. Внешне киоск напоминает платёжный терминал (только без купюроприёмника), его основная функция, как следует из названия, — предоставление пациентам различной информации, такой как расписание приёма врачей, услуги и их стоимость, и так далее.
По понятным причинам для киоска потребовалось разработать упрощённый интерфейс пользователя, который было решено реализовать как web-приложение. Имея в штате опытных web-программистов, уверенно владеющих php, решили (для скорости) поручить им его написание, организовав связь с базой данных нашей медицинской системы. Рассматривалось 3 варианта взаимодействия:
- ODBC
- JDBC
- web-сервисы.
Web-программисты предпочли ODBC как наиболее простой с их точки зрения вариант, и альфа-версия киоска довольно быстро увидела свет. Однако вскоре выяснилось (surprise!), что php-код должен работать не под Windows, как это было у разработчика, а под Linux, несмотря на то, что в те годы наша медицинская система эксплуатировалась заказчиком на платформе Windows 2008. Чтобы «подружить» всех членов триады (Linux – ODBC-драйвер Caché — php5) потребовались определённые усилия. Последовательность проделанных действий я зафиксировал в виде наброска к данной статье, которую и предлагаю вашему вниманию.
Читать полностью »