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

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

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

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

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

image
В предыдущей части серии мы (в 100500й раз) попытались рассказать про основные приемы и стадии подхода Google MapReduce, должен признаться, что первая часть была намерено «капитанской», чтобы дать знать о MapReduce целевой аудитории последующих статей. Мы не успели показать ни строчки того, как всё это мы собираемся реализовывать в Caché ObjectScript. И про это наша рассказ сегодня (и в последующие дни).

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

MonCaché — реализация MongoDB API на основе InterSystems Caché

image

ИДЕЯ

Идея проекта — попробовать реализовать базовые функции MongoDB API для поиска, сохранения, обновления и удаления документов так, чтобы можно было бы не меняя клиентский код вместо MongoDB использовать InterSystems Caché.

МОТИВАЦИЯ

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

Ну, а почему бы и нет?! ¯\_(ツ)_/¯
Читать далее

Блоки. Внутреннее устройство файла базы данных Caché. Часть 3

Как и в двух предыдущих частях (часть 1, часть 2), я продолжаю знакомить вас с внутренним устройством баз данных Caché. На этот раз я расскажу о том, что еще можно узнать, и в чем может помочь мой проект Caché Blocks Explorer.

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

Блоки. Внутреннее устройство файла базы данных Caché. Часть 2

Эта публикация – продолжение моей статьи, в которой я рассказал, как устроена база данных Caché изнутри. В ней я описал типы блоков, как они связаны, какое отношение имеют к глобалам. В той статье была теория. Я создал проект, позволяющий визуализировать дерево блоков – и в этой статье вы всё это увидите. Добро пожаловать под кат.

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

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

Недавно возникла необходимость сравнить скорость записи/чтения данных из СУБД Intersystems Caché, используя разные виды доступа – прямой к глобалам, объектный и реляционный. С объектным и реляционным доступом все понятно, а вот с прямым (он же direct access) пришлось разбираться. Для тех, кому, как и мне, с первого взгляда документация не дала полного понимания процесса, и предназначена эта статья. Для примера буду делать консольное приложение в лучших традициях процедурного программирования. Читать далее

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

Здравствуйте, дорогие хабрачитатели.

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

Инструмент администрирования GlobalsDB

Читать далее

Конкурсы InterSystems: быстрее, выше, сильнее!

Конкурсы InterSystems
Этой осенью мы предлагаем студентам а также всем неравнодушным к технологиям InterSystems разработчикам поучаствовать сразу в нескольких программистских забегах:
CIS Student Innovator Awards 2013 — наш традиционный конкурс для программистов вузов InterSystems Campus.
“Золотой байт” 2014 — международный конкурс компьютерных талантов.
“IT-Планета” 2014 — международная олимпиада в сфере информационных технологий.
О том, что, где, когда и какие призы — добро пожаловать под кат.

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

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

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

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

GlobalsDB — универсальная NoSQL база данных. Часть 2

GlobalsDBЧасть 1.

Моделируем 4 вида NoSQL-баз с помощью GlobalsDB

Будем реализовывать схемы хранения как в Redis, memcached, Cassandra, Neo4, SimpleDB, MongoDB

Перед тем как мы начнём моделировать различные виды NoSQL-баз, давайте взглянем на глобалы чуть более детально и определим некоторые термины, которые будем использовать позднее.
Читать далее