Рубрика «cache» - 4

Всем привет! Рады представить вам новую версию Caché 2016.1, релиз которой состоялся во второй половине марта. Важных и интересных изменений действительно много, поэтому предлагаю сразу перейти к ним.

Релиз СУБД InterSystems Caché 2016.1 - 1

Читать полностью »

Dynamism of A Dog on a Leash (1912) Giacomo BallaВообще, в InterSystems Caché и динамические объекты, и поддержка JSON есть уже достаточно давно, но в версии 2016.1 они были переосмыслены, а код реализации переведён с COS уровня на уровень ядра/С, что позволило добиться существенного повышения производительности в этих областях. О том, что есть нового и как переходить (а также о том, как сохранить совместимость с предыдущими версиями) я расскажу в этой статье.

Возможности по работе с JSON

И начну с примера. Теперь такой синтаксис — работает и это самое большое нововведение в синтаксисе COS:
Читать полностью »

Таблицы сортировки в СУБД Caché - 1Зато какая сортировка!
(А. С. Пушкин)

Если бы это была запись для твиттера, то она была бы следующей: «Программисты на Caché ObjectScript! Используйте Cyrillic4 вместо Cyrillic3!». Но тут Хабр, поэтому придётся развернуть мысль – добро пожаловать под кат.Читать полностью »

Web-приложения в режиме offline. ServiceWorker и CacheStorage - 1

О чём речь?

Всё чаще возникает задача научить frontend-приложение работать в автономном режиме. Это значит придать web-приложению свойство mobile- или desktop-программы — функционировать в отсутствии связи с Интернет, а также в случае отказа сервера.

Цель — оградить пользователя от проблем соединения на его устройстве. Как было бы обидно не сохранить созданные в google docs таблицы из-за потери wi-fi в ближайшем фастфуде!

Для этого нужно инициализировать приложение в браузере и затем закэшировать ресурсы, минимально необходимые для функционирования. После этого приложение возможно запустить из кэша в случае недоступности сервера.

Решение задачи заключается в следующем:Читать полностью »

Архитекторы процессоров архитектуры x86 исторически были против предоставления программистам возможности непосредственного управления кэшем. Один как-то сказал мне в 2009 году — «никогда мы этого не сделаем, кэш всегда должен быть прозрачным для программиста». Некоторые RISC процессоры представляют архитектурную возможность управления данными/кодом, который окажется в кэше. И вот, наконец-то, нечто подобное появилось и в архитектуре x86 (начиная с Broadwell*).
Читать полностью »

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

ИДЕЯ

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

МОТИВАЦИЯ

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

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

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

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

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

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

В Caché 2015.1 появилась возможность включить для свойств коллекций проекцию в отдельную колонку. Таким образом для SQL доступа к данным коллекции можно использовать не только дочернюю таблицу, но и просто как дополнительную колонку, в которой лежат все значения коллекции. Подробнее об этом здесь.
О том, как и где это может быть полезно на практике, рассказывает эта статья.
Читать полностью »

    В 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é.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js