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

imageНачало – см. часть 1.

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

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

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

Читать далее

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

image Настоящие мечи-кладенцы баз данных – глобалы – давно известны, но до сих пор немногие умеют эффективно ими пользоваться или вовсе не владеют этим супероружием.

Если использовать глобалы в решении тех задач, в которых они действительно хороши, то можно добиться выдающихся результатов. Либо в производительности, либо в упрощении решения задачи (1, 2).

Глобалы – это специальный способ хранения и обработки данных, совершенно другой, чем таблицы в SQL. Они появились в 1966 году в языке M(UMPS) (эволюционное развитие – Caché ObjectScript, далее COS) в медицинских БД и до сих пор там активно используются, а также проникли в некоторые другие области, где требуется надёжность и высокая производительность: финансы, трейдинг и т.д.

Глобалы в современных СУБД поддерживают транзакции, журналирование, репликацию, партиционирование. Т.е. на них можно строить современные, надёжные, распределённые и быстрые системы.

Глобалы не ограничивают вас пределами реляционной модели. Они дают свободу для разработки структур данных, оптимизированных под конкретные задачи. Для многих приложений разумное использование глобалов может быть поистине секретным оружием, обеспечивая производительность, о которой разработчики реляционных приложений могут только мечтать.

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

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

Корпорация InterSystems на

Global Summit 2015 приняла социалистическое обязательство объявила о политике частых релизов – выпуск новых версий как минимум 4 раза в год. В исполнение этого обета, 8 июля вышел релиз СУБД InterSystems Caché 2015.2 через 3 месяца после релиза Caché 2015.1. Видео о релизе. Читать далее

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

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

image
Читать далее

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

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

Повышение производительности Caché на системах с большим количеством ядер, поддержка XSLT2, поддержка семафоров, поддержка новых сценариев высокой доступности.
Подробности новой версии обо всем по порядку в статье.
Читать далее

Прямой доступ к классам Caché через REST, на примере DHTMLX Grid

С выходом новой версии InterSystems Caché появилась возможность использовать технологию REST и строить приложения, с помощью различных Javascript UI библиотек, в то время как сервер Caché выступает в роли сервера данных. В данной статье будет рассмотрен очень простой пример доступа к хранимым классам Caché с помощью технологии REST.
Читать далее

Построение RESTful web API в Caché

В InterSystems Caché появилась поддержка REST. О том, что такое REST на Хабре уже писали и не раз. Если кратко – это паттерн построения RESTful web API, и ему присущи следующие свойства:

  • разделение клиента и сервера,
  • независимость от состояния (stateless),
  • кэшируемая и многоуровневая архитектура,
  • единый интерфейс,
  • все запросы к RESTful web API состоят из корневого URL приложения плюс частные подзапросы,
  • CRUD через HTTP – HTTP методы GET, PUT, POST, DELETE (RESTful web API).

А под катом – о построении RESTful web API в Caché

Еще один способ расширения функциональности студии Caché

Приходилось встречаться с мнением, что студия Caché не вполне совершенна, в частности тем, что ее невозможно расширить. Тем не менее, это не совсем так. Существует штатный механизм шаблонов и расширений , позволяющий достраивать студию интерактивными дополнениями.
В этой статье мы коснемся еще одного способа расширения, который может помочь более эффективно управлять создаваемым кодом. В этом поможет класс интеграции студии с системой контроля версий.
Что можно сделать с помощью класса контроля версий? Во-первых, отслеживать некоторые события, происходящие в студии, такие как подключение, создание, удаление, открытие документов, а во-вторых, возможность добавлять пункты в меню, в том числе в контекстное. Через эти пункты меню можно не только выполнять код на сервере, но и создавать некоторые простые диалоги.
Попробуем сделать расширение меню студии…

InterSystems Caché и технологии NoSQL

Современные высоконагруженные приложения изменили требования к СУБД – сегодня необходимы эффективные технологии создания специализированных решений с гарантированным временем реакции при обработке больших массивов данных. Вместе с тем, несмотря на появление таких относительно новых технологий как NoSQL, потенциал давно существующих подходов реализован еще не полностью.

Интернет проекты с высокой нагрузкой и приложения класса XTP (extreme transaction processing) изменили требования к технологиям СУБД. Приоритетными требованиями стали простота разработки, возможность специализации технологии хранимых данных для конкретного проекта, поддержка постоянного времени реакции системы при увеличении нагрузки, обеспечение низкой стоимости масштабирования и стоимости обработки больших объемов данных.

В качестве ответа на новые потребности возникло движение NoSQL – новый класс баз данных, который обещает разработчикам высокую скорость внесения изменений в приложения, низкие затраты на масштабирование и обработку/хранение больших объемов данных, высокую скорость работы на относительно недорогом железе – ценности, которые всегда были важны и для технологий компании InterSystems. Практически всегда NoSQL базы реализуют отличную от привычной парадигму работы приложений с базами данных – переход от концепции интегрирующей СУБД для нескольких приложений к концепции СУБД для одного приложения или одного проекта и больше – отдельной специфичной задачи в рамках проекта.
Читать далее

Работа с объектами СУБД Caché на примере Delphi


Несмотря на перманентные похороны Delphi, эта платформа построения Desktop приложений живёт и здравствует, а со сменой владельца даже обретает второе дыхание и продолжает оставаться основным инструментом для тысяч разработчиков во всём мире.
Как и с любыми другими СУБД, Delphi прекрасно взаимодействует с СУБД Caché.

Из Delphi можно подключиться к Caché, используя следующие интерфейсы:

В данной статье будут рассмотрены примеры использования объектного интерфейса при работе с СУБД Caché.
Читать далее