субд cache что это

Caché Высокопроизводительная база данных

База данных для критически важных приложений

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

InterSystems названа лидером «Магического квадранта» Gartner в области систем управления операционными базами данных

Продвинутая технология баз данных

InterSystems Caché обеспечивает критически важные приложения наших клиентов возможностями хранения, использования и параллельного анализа транзакционных и исторических данных, представленных в любой форме. Высокоскоростной SQL доступен единообразно во всех моделях данных.
Caché обеспечивает неизменно высокую производительность в условиях постоянного повышения требований в отношении пропускной способности и объемов данных.
В отчете «Магический квадрант» 2017 г. исследовательской компании Gartner решение Caché признано одним из лучших продуктов в категории «Системы управления операционными базами данных».
Посмотреть отчет.

Упрощение процессов и гибкие возможности внедрения инноваций

InterSystems Caché упрощает процессы разработки и развертывания приложений. Несколько опций высокой доступности, включая оптимизированный подход к зеркалированию, делают приложения высоконадежными и не требующими большого объема аппаратных ресурсов. Гибкая адаптивная модель безопасности упрощает управление доступом к ресурсам, благодаря удобным функциям подготовки и предоставления доступа.
Благодаря простоте архитектуры и мощным функциям управления системой для обеспечения работы баз данных Caché требуется меньше администраторов, чем при использовании решений других поставщиков, а в некоторых случаях в назначении отдельного администратора вовсе нет необходимости.

InterSystems — технологический партнер с надежной репутацией

Успех наших клиентов — это главная цель, на достижение которой работает каждый сотрудник компании InterSystems. Тысячи наших клиентов обслуживают миллионы пользователей по всему миру.

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

Пользователям наших, признанных во всем мире, технологий предоставляются услуги поддержки мирового уровня. В городах по всему миру сотрудники Центра поддержки (Worldwide Response Center, WRC), работающего круглосуточно и без выходных, обеспечивают многоязыковую техническую поддержку по всем продуктам InterSystems.

Центр обучения предлагает широкий спектр образовательных услуг: наши учебные программы, осуществляемые также в онлайн-режиме, помогут использовать наши продукты с максимальной пользой, обеспечив вам оптимальные преимущества.

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

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это

Объединенная многомодельная архитектура

Данные в Caché могут моделироваться и сохраняться как таблицы, объекты или многомерные массивы (иерархии). Доступ к данным осуществляется из любой модели без каких-либо затруднений, при этом нет необходимости выполнять сопоставление моделей, которое зачастую снижает производительность. Встроенная поддержка динамических объектов (таких как XML и JSON) обеспечивает эффективное взаимодействие и ускоряет разработку веб-приложений.

Высокопроизводительные возможности создания запросов

SQL — универсальный язык формирования запросов данных в Caché, поддерживаемый всеми моделями данных. Благодаря оптимизированной архитектуре Caché запросы SQL выполняются гораздо быстрее, чем при использовании других технологий баз данных. Caché SQL поддерживает стандартные индексы, битовые и bitslice-индексы, которые можно использовать с транзакционными данными, получаемыми в режиме реального времени.

Распределенные системы

Благодаря протоколу распределенного кэша InterSystems Enterprise Cache Protocol (ECP) сетью, состоящей из нескольких серверов, можно управлять как единым хранилищем данных, что значительно улучшает масштабируемость и производительность распределенных приложений.

Высокий уровень доступности за счет зеркалирования баз данных

Технология зеркалирования баз данных Caché не требует значительных вложений в аппаратное обеспечение, услуги поддержки, лицензирование операционных систем или пространство для хранения. Кроме того, создавать и обслуживать зеркала баз данных Caché очень просто, а значит, их использование позволяет сократить затраты на администрирование.

Модель обеспечения безопасности

Надежная защита как данных на диске, так и обрабатываемых данных без снижения производительности приложения.

Разработка приложений

InterSystems Atelier — новая среда разработки на платформе Eclipse — позволяет настраивать бизнес-логику и проектировать пользовательские интерфейсы для мобильных устройств и веб-браузеров. Данная среда ускоряет разработку приложений за счет обеспечения доступа к необходимым инструментам и технологиям.

Высокопроизводительный процесс обработки транзакций

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

Источник

СУБД Caché. Деревообработка — SQL доступ к многомерным структурам данных

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это«Caché предоставляет программистам свободу в выборе способа хранения и доступа к данным через объекты, SQL, либо путем прямого доступа к многомерным структурам данных. Независимо от способа доступа, все данные в базах данных Caché хранятся в многомерных массивах.»
Технологический справочник Caché

«Глобалы (глобальные хранимые переменные) – абстракция B-tree структур, используемых в MUMPS для хранения больших объемов данных.»
A Universal NoSQL Engine, Using a Tried and Tested Technology

В статье — пара примеров создания SQL проекций на различные структуры глобалов.

Для новых хранимых классов Caché автоматически использует стандартный способ хранения — CacheStorage. В каких случаях может понадобиться создание собственных способов хранения (CacheSQLStorage или CustomStorage)?

Немного теории

Больше практики

После настройки хранения выполните запросы insert, update, delete к классу data.phones. Попробуйте использовать объектный доступ к экземплярам класса (%New, %Save, %DeleteId). Обратите внимание на содержимое глобалей после выполнения операций.

Рассмотрим более сложный пример, характерный для унаследованных приложений. На входе глобал вида:

^dish(3)=«КАШИ»
^dish(3,315)=«Каша рисовая вязкая*200*178.2*3.1*4.4*33.7**гр*780»
^dish(3,315,2)=«Вода*161*161»
^dish(3,315,36)=«Крупа рисовая*43.6*43.6»
^dish(3,315,50)=«Масло сливочное*5*5»
^dish(3,316)=«Каша перловая вязкая*200*178.7*4.1*4.6*32.1**пор*4744»
^dish(3,316,2)=«Вода*161*161»
^dish(3,316,34)=«Крупа перловая*43.6*43.6»
^dish(3,316,50)=«Масло сливочное*5*5»
^dish(3,317)=«Каша овсяная вязкая*200*206.5*5.8*6.9*32**пор*6282»
^dish(3,317,2)=«Вода*157*157»
^dish(3,317,33)=«Крупа овсяная*49.0*49.0»
^dish(3,317,50)=«Масло сливочное*5*5»
^dish(3,318)=«Каша геркулесовая вязкая*200*192.2*5.7*6.8*28.6**пор*2436»
^dish(3,318,2)=«Вода*161*160»
^dish(3,318,3)=«Геркулес*43.6*43.6»
^dish(3,318,50)=«Масло сливочное*5*5»

Здесь в одном глобале хранятся объекты нескольких классов: dish.kind — тип блюда, dish.dish — блюдо, dish.product — продукт блюда. Причем структура глобала предопределяет тип отношений между этими классами — parent-child.
субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это

Особенностью настройки проекции для классов dish.dish и dish.product является синтаксис описания ключей глобала
субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это
Вместо имени свойства указывается имя parent класса и, после точки, имя его свойства — идентификатора.
Ускоренный процесс создания проекции:

Советы и секреты.

Для каждого хранимого класса Caché создает запрос Extent и генерирует программы его выполнения. Сгенерированный код класса может помочь в настройке или отладке проекции (см. метки zExtentExecute, zExtentFetch).

Интересные примеры проекций можно посмотреть в системных классах Caché. Например, вышеперечисленные классы схемы хранения — это проекция на глобал.

Более подробную информацию по настройке проекций можно прочитать в лекции Вадима Федорова со Школы инноваций Intersystems.

Источник

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

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

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

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

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

Сегодня существует более сотни NoSQL-решений, отличающихся подходами к масштабированию и распределенному хранению данных, поддерживаемые модели данных и схемы хранения (в том числе реализация хранения). Отдельным пунктом сравнения несомненно являются запросы к хранимым данным и их исполнение — в мире NoSQL стандартного языка запросов пока не существует, а прозрачное понимание принципа работы необходимо для успешной реализации запросов разработчиком.
субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это
По своей сути дизайн NoSQL решений направлен либо на борьбу с большим объемом данных либо с их повышенной сложностью. Идея взята из презентации автора Neo4J Emil Eifrem. Интересно, что он говорит об теоретической изоморфности данных — одна и та же информация может быть представлена в разных моделях — от графовых до ключ/значение. Практическую возможность такого подхода демонстрирует компания InterSystems применяя в Caché принцип Unified Data Model.

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

Другой источник компромиссов – характер данных решаемой задачи. Именно тут важно требование к технологии, которая должна быть гибкой и максимально использовать особенности предметной области. Например, если можно распараллелить обработку данных и использовать принцип «shared nothing» (без разделения ресурсов), то нужно это эффективно использовать как для хранения, так и для исполнения запросов. В этом случае надо строить модель хранения и распределения данных, которая опирается на эту возможность однако в реляционных базах свободы выбора почти нет и приходится использовать то, что есть, например, нельзя поколоночно хранить данные на разных серверах. При этом в отличие от традиционных СУБД NoSQL дают разработчику больше свободы в использовании естественных особенностей проектной задачи, которые могут быть использованы например для горизонтального масштабирования. Однако разработчик при этом несет несет больше ответственности за принимаемые решения по архитектуре персистентности данных. Отчасти NoSQL базы можно также сравнивать по наличию механизмов, стандартных для традиционных СУБД или классифицировать их по применяемым инженерным решениям, предлагаемым в качестве альтернативы для традиционных свойств СУБД.

Несмотря на все многообразие NoSQL проектов, сейчас нет ни одного, который бы можно было бы смело назвать универсальной и всеобъемлющей NoSQL платформой — это противоречит и самому принципу специализации, который явно или неявно прослеживается в NoSQL. Поэтому в том случае, если у вас возникла идея воспользоваться NoSQL подходами следующем проекте, то скорее всего вам придется ответить себе на целый ряд вопросов и разрешить множество рисков, например: какую модель данных выбрать; насколько стабильна и зрела выбранная технология; насколько серьезными будут изменения в коде в случае попытки смены NoSQL решения на другую, более эффективную; будет ли язык запросов достаточно полным и технологичным для удовлетворения проектных требований. Отдельно стоит отметить, что многие NoSQL технологии были созданы специально в рамках конкретного проекта и в некоторой степени подобны флюсу — есть вероятность того, что отлично закрывая требования и задачи первоначального проекта они могут не очень подходить в вашем случае.

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

Первое, очевидное, фонетическое, сходство, которое сразу привлекает внимание в сравнении NoSQL и InterSystems Caché это нереляционность. В основе Caché лежит реализация более простой, чем реляционная, модели, называемой по имени своих атомарных элементов глобалами (или если быть точным полное название Global Persistent Variables или просто globals). Глобалы не имеют схемы, допускают динамическое добавление столбцов, используют разреженное хранение значений столбцов. На уровне глобалов можно использовать при желании блокировки, транзакции, делать распределенное хранение и партиционирование. Жертвуя некоторой неточностью в определении можно думать о глобалах как о структуре, схожей с асcоциативным массивом в PHP или HashMap в Java.

Глобалы как простая и гибкая модель данных предоставляют превосходный базис для построения нереляционных моделей, которые используются в NoSQL: ключ-значение, расширяемые записи, column-based, графы. Подробные примеры реализации популярных в NoSQL моделей приводятся в статье A Universal NoSQL Engine ( перевод на Хабре) — авторы предлагают решения для четырех типов моделей данных.

Например, реализация поколоночного хранения (из статьи A Universal NoSQL Engine, Using a Tried and Tested Technology):
субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это

Концепция Unified Data Model основана на принципе “данные одни — моделей представления много”
субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это

Вслед за InterSystems, которая уже реализовала на основе глобалов объектно-ориентированный и реляционый (SQL) доступы вы способны реализовать свою собственную, уникальную модель данных и так же, как уже готовые к использованию в Caché модели, использовать принцип Unified Data Model — подход к управлению персистентностью, который предполагает работу с одними и теми же данными в разных моделях в зависимости от удобства их использования в контексте конкретной задачи. К примеру, для быстрой вставки и чтения возможно использование key-value модели, а для запросов используются возможности реляционной модели. При построении своего языка запросов для NoSQL-решения можно использовать Caché Object Script, который предоставляет набор простых операций для работы с данными, хранимыми в глобалах.

Отдельный, но не столь очевидный как нереляционность аспект сравнения Caché и NoSQL это распределенность и масштабирование. Если сравнивать Caché в такой важной для NoSQL категории, как обеспечение горизонтального масштабирования и распределенного хранения с использованием таких механизмов как шардинг и партиционирование, то с одной стороны Caché не имеет готовых out of the box вариантов с такими названиями. С другой точки зрения это не совсем так, потому что в Caché либо это делается немного иначе, либо опять же, так же как и в случае с глобалами, предоставляется надежные базовые технологии для эффективного обеспечения таких возможностей. С использованием ECP, концепции областей (namespace), Subscript Level Mapping возможна реализация эффективной распределенной обработки данных.

Партиционирование и распределенное хранение с помощью ECP и SLM:
субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это

Понимая, что NoSQL привлекает сейчас внимание многих разработчиков, InterSystems выпустила бесплатную СУБД, которая получила название InterSystems Globals. Цель выпуска Globals — познакомить разработчиков с технологией, которая является сердцем Caché и расширить круг разработчиков и архитекторов, которые знают как применять ее.

Globals как многие другие NoSQL проекты предполагает свободное использование для разработки и распространения. Нереляционные модели могут быть реализованы в Globals и в качестве примера такой реализации создан проект с открытым исходным кодом Globals Document Store (GDS) API. Globals может с успехом использоваться в проектах, где требуется высокая скорость и производительность, порядок скорости работы Globals — десятки и сотни тысяч записей в секунду).

В случае c Java технология позволяет быстро реализовывать свои собственные структуры хранимых данных, которые при этом естественны для языка. Например можно быстро реализовать аналог HashMap, данные которого будут храниться в СУБД. При таком подходе также как и в случае Caché Objects Script различия между переменной в памяти и на диске начинают исчезать.

Для Node.js доступ к Globals сразу предоставляет возможность работать с естественными для javascript типами данных — массивы и объекты javascript можно без дополнительных накладных расходов на разработку сразу сохранять, читать и изменять, что на порядок упрощает проблему персистентности данных при работе в javascript. В добавок к этому Globals в связке с Node.js дает высокую скорость работы — для сравнения Globals по тестам работает быстрее, чем Redis (один из самых широкоиспользуемых проектов NoSQL в том числе известный своей скоростью).

InterSystems Globals позиционируется как NoSQL база данных, но при этом отличается от основного потока NoSQL в нескольких аспектах: в InterSystems Globals нет ограничений на конкретную модель данных, в отличие от многих других решений вы можете использовать блокировки и транзакции, Globals обеспечивает одновременно и эффективную работу с данными в памяти и целостность данных на диске. В настоящий момент в Globals нет возможности по распределенной работе с хранимыми данными. Globals используют стабильную базовую технологию, которая будет гарантированно развиваться и поддерживаться.

Globals, в отличие от Caché, предоставляет ядро по работе с глобалами, без объектного и реляционного доступов. Но при развитии проекта всегда есть возможность перейти на Caché без изменения кода приложения — Globals API является подмножеством технологии Caché Extreme.

Подводя итог можно сказать что сейчас можно думать о Caché как о NoSQL базе данных и больше — универсальной, стабильной платформе для NoSQL проектов с поддержкой объектной и реляционной моделей не уступающей по своим эксплутационным качествам традиционным СУБД. И несмотря на то, что NoSQL — термин, ставший популярным достаточно недавно вполне соответствует ценностям компании, которые остаются прежними — так же, как и на протяжении 30 лет, технология, которая лежит в основе Caché позволяет вам быстро создавать решения, которые полностью специфику именно вашего проекта. Зачем вам технология, полученная в рамках другого проекта, если вы можете использовать свою?

Источник

СУБД Cache

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это

Олег Сиротюк,
инженер по контролю качества компании InterSystems
sirotyuk@intersystems.ru

Как оказалось, реляционные базы данных очень хороши для традиционных приложений, например, систем резервирования билетов или банковских систем. Однако использование реляционного подхода не столь эффективно в таких приложениях, как АСУП, геоинформационные системы, средства для хранения и извлечения документов, работы с аудио- и видеоинформацией, а также в системах, основанных на знаниях. Это связано с примитивностью структур данных, лежащих в основе реляционной модели. В нетрадиционных приложениях базы данных содержат сотни таблиц, над которыми постоянно выполняются дорогостоящие операции соединения, необходимые для воссоздания сложных структур данных.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоРис. 1. Структуры обработки данных.

С помощью интегрированного с БД Cache RAD-инструментария разработки приложений Cache Server Pages (CSP) можно создавать Web-приложения любого уровня сложности. При этом можно использовать классы системной библиотеки %Net, которые реализуют все основные сетевые протоколы Интернета и интрасетей: SMTP, POP3, HTTP, FTP и т. д.

Основные компоненты

Рассмотрим подробнее назначение и функциональные возможности основных компонентов системы, архитектура которой представлена на рис. 2.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоРис. 2. Архитектура системы Cache.

Данные в Cache хранятся в виде разреженных многомерных массивов, называемых глобалями. Количество индексов массива может быть произвольным, что позволяет описывать и хранить структуры данных произвольного уровня сложности. Индексы глобалей не типизированы, т. е. могут принадлежать к любому литеральному типу данных. Синтаксис индексов глобалей достаточно прост: индексы заключаются в скобки и отделяются запятыми. Глобаль отличается от локальной переменной знаком ^. Например, с помощью следующей глобали можно описать количество машин Mercedes SL600 черного цвета на складе:

Скорость доступа к индексированным переменным не зависит от числа индексов, так как глобали хранятся в виде B*-деревьев.

Немного усложняя приведенную структуру описания данных, можно определить все доступные цвета для Mercedes SL600:

Применение разреженных массивов позволяет оптимизировать использование объема жесткого диска и сократить время выполнения операций ввода-вывода.

В Cache реализована развитая технология обработки транзакций и разрешения конфликтов. Блокировка данных происходит на логическом уровне. Это позволяет учитывать особенность многих транзакций, выполняющих изменения небольшого объема информации. Кроме того, в Cache реализованы атомарные операции добавления и удаления без проведения блокировки.

Сервер Cache Objects

Классы типов данных определяют допустимые значения констант (литералов) и позволяют их контролировать. Литерал не может существовать независимо от своего значения, в то время как объекты имеют уникальную идентификацию.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоРис. 3. Объектная модель Cache.

Cache в полном объеме реализует все основные концепции объектной технологии: наследование, полиморфизм, инкапсуляцию.

Сервер Cache SQL

Классы Cache также могут быть представлены в виде реляционных таблиц. Соотношение между разнообразными понятиями объектного и реляционного подходов представлены в табл. 1.

Таблица 1. Объектные и реляционные понятия в Cache

Объектное понятиеРеляционное понятие
КлассТаблица
ЭкземплярСтрока
Идентификатор объекта (OID)ID-столбец в виде первичного ключа
Свойство-константаСтолбец
Ссылка на хранимый объектВнешний ключ
Встраиваемые объектыИндивидуальные столбцы
Коллекция-списокСтолбец с полем-списком
Коллекция-массивПодтаблица
Поток данныхBLOB
ИндексИндекс
ЗапросХранимая процедура или представление
Метод классаХранимая процедура

В таблице не обозначены понятия параметров класса, многомерных свойств и методов объекта, так как в реляционной технологии им нет аналогов. Кроме объектных понятий в Cache поддерживаются еще и триггеры, присутствующие в реляционном представлении.

Доступ к данным с помощью языка SQL продолжает играть важную роль, так как многие существующие приложения и инструменты используют SQL в качестве языка запросов. Для облегчения разработки приложений БД в Cache предусмотрено встраивание SQL в методы и программы. Встроенный SQL может быть использован для реализации сложных запросов к базам данных и для представления полученных результатов запросов в виде значений переменных встроенного языка разработки приложений Cache Object Script (COS). Ниже приведен пример использования встроенного SQL-запроса:

Приведенный код ищет по полю Surname таблицы Person поле со значением Ivanov и сохраняет найденный OID объекта в локальной переменной id. Пример демонстрирует использование встроенного SQL-запроса, не основанного на курсоре. В данном случае запрос всегда возвращает только одну строку.

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

Сервер прямого доступа к данным Cache Direct

Сервер Cache Direct дает разработчику доступ к многомерным структурам ядра системы. Встроенный в Cache язык программирования COS предоставляет ряд функций для работы с массивами данных, или глобалями, составляющими ядро системы. Прямой доступ к данным позволяет оптимизировать время доступа. Для прямого доступа и работы с многомерными структурами ядра системы можно воспользоваться утилитой эмуляции ASCII-терминала Cache Terminal (рис. 4).

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это
Рис. 4. Утилита Cache Terminal.

Средства администрирования

Средства разработки приложений

В Cache реализован собственный язык программирования Cache Object Script (COS), представляющий собой расширенную и переработанную версию языка программирования M (ANSI MUMPS).

Для создания Cache-программ и классов применяются утилиты Cache Studio (рис. 5) и Cache Architect (рис. 6). С помощью утилиты Cache Studio можно создавать Cache-программы. Для удобства в Cache Studio реализована контекстная подцветка команд, функций и операторов COS.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это
Рис. 5. Cache Studio.

Утилита Cache Architect предназначена для работы с классами Cache. Разработчику предоставляется ряд мастеров (wizard) для создания новых и редактирования существующих классов, методов, свойств и прочих компонентов классов Cache.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это
Рис. 6. Cache Architect.

Для доступа к многомерным структурам ядра Cache можно воспользоваться утилитой Cache Explorer (рис. 7). Она предоставляет ряд интерфейсов для просмотра, импорта, экспорта и печати глобалей, классов и программ Cache.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что это
Рис. 7. Cache Explorer.

Cache Server Pages

Концепция серверных страниц Cache (Cache Server Pages, CSP) предусматривает автоматическое создание по запросу пользователя Web-страниц, содержащих требуемую информацию из БД Cache. Вся бизнес-логика CSP-приложений выполняется в непосредственной близости к хранилищу данных Cache. Благодаря этому сокращается объем данных, которыми Web-сервер обменивается с сервером БД, что приводит к выигрышу в производительности по сравнению с другими технологиями создания Web-приложений. Для дополнительного увеличения производительности CSP-приложений при обмене данными между сервером Cache и Web-сервером используются высокоскоростные интерфейсы API.

Серверные страницы Cache представляют собой текстовые HTML-файлы, расширяемые тегами приложений Cache (Cache Application Tags, или CATs). Можно создавать CSP-приложения с помощью стандартных средств разработки HTML-страниц (Cache предоставляет add-in модуль для полной интеграции с Macromedia DreamWeaver) или обыкновенного текстового редактора.

В листинге 1 приведен пример небольшого CSP-приложения, которое выводит значения свойств объекта, хранящегося в БД Cache.

Листинг 1

Разработчик также может создавать собственные теги приложений Cache.

После преобразования CSP-страницы в класс Cache этот класс можно редактировать c помощью Object Architect.

Для изучения CSP рекомендуется рассмотреть примеры, содержащиеся в стандартном комплекте Cache. Для этого необходимо установить Cache и в браузере обратиться по адресу http://127.0.0.1:1972/csp/samples/menu.csp

Версии и поддерживаемые платформы

На момент написания статьи последними версиями СУБД Cache были 4.0 и 4.1.1. На рынке высокопроизводительных СУБД Cache позиционируется как eDBMS, т. е. как СУБД, ориентированная на работу в сети Интернет и интрасетях. Разработчику предоставляется обширный набор функций, реализующих большинство стандартных Интернет-протоколов, таких, как SMTP, HTTP и POP3, имеется также развитая технология разработки динамических Web-приложений CSP. При установке система проверяет наличие Web-сервера и выполняет автоматическое конфигурирование соответствующей подсистемы.

Утилиты администрирования и инструментарий разработки приложений в версиях 4.0. и 4.1.1. схожи, существенные различия касаются лишь формата хранения данных на диске и использования ОЗУ компьютера временными библиотеками. Так, в версии 4.1.1 блок данных, который считывается с диска, может иметь объем 8 Кбайт, в то время как в версии 4.0. максимальный размер блока равен 2 Кбайт. Разумеется, при считывании блоков данных большего размера с жесткого диска сокращается количество операций ввода-вывода, что приводит к повышению производительности системы. Кроме того, в версии 4.1.1 оптимизированы функции журналирования, использования блокировок и других функций.

Список платформ, поддерживаемых Cache 4.1.1, приводится в табл. 2.

Таблица 2. Совместимость Cache 4.1.1.

ПлатформаОперационная системаUnicodeODBCSQL- шлюз
AlphaOpenVMS 7.2, 7.3+
AlphaTrue64 UNIX 5.1+
HPHP/UX 11i
IBM P SeriesAIX 4.3.3, 5.1+
Red Hat Linux (Intel)Red Hat Linux 7.1++
Sun Solaris (SPARC)*Solaris 2.8+
SuSE Linux (Intel)SuSE Linux 7.1++
Microsoft WindowsWindows 95/98/ME/NT 4 (SP4, SP5, SP6)/2000+++
*Только для 64-разрядных.

Серверные компоненты CSP работают с такими Web-серверами, как MS IIS/PWS, Apache 1.3.12, Netscape/Sun iPlanet 4.0, Compaq Secure Web Server 1.0.

Как уже было сказано, Cache может выступать в роли шлюза к реляционным базам данных (РБД). Официально поддерживаются РБД Microsoft SQL Server (7.0 и 2000) и Oracle 8,9i.

Минимальные требования к аппаратному обеспечению для работы под ОС Windows включают процессор Intel Pentium, 64 Мбайт ОЗУ, 100 Мбайт свободного места на диске, сконфигурированный протокол TCP/IP с фиксированным IP-адресом. Наличие Web-сервера необязательно. Для тестирования CSP-приложений можно воспользоваться встроенным в СУБД Cache Web-сервером. Однако применять его для реальной работы не рекомендуется.

Завершая знакомство

В статье описана лишь малая часть того, что реализовано в Cache. Помимо описанных интерфейсов система включает ODBC- и JDBC-драйверы для представления данных из СУБД Cache в виде реляционных таблиц и работы с ними. Имеются также стандартные ActiveX-компоненты, которыми можно воспользоваться при создании пользовательского приложения в среде Visual Basic. Кроме того, предоставляется мастер создания форм Cache Form Wizard, облегчающий разработку пользовательских форм в среде Visual Basic.

В Cache реализованы интерфейсы CALLIN/CALLOUT, предназначенные для прямого вызова функций СУБД Cache из программ на C и для вызова функций операционной системы из Cache. Предоставляется интерфейс для работы с функциями DLL- библиотек.

Комплект Cache содержит модуль интеграции со средой проектирования информационных систем Rational Rose. При этом UML-диаграмму классов можно экспортировать напрямую в БД Cache. Разработчик получает возможность создавать описания классов Cache на языках Java или С++.

Другие статьи из раздела

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоChloride
Демонстрация Chloride Trinergy
Впервые в России компания Chloride Rus провела демонстрацию системы бесперебойного электропитания Chloride Trinergy®, а также ИБП Chloride 80-NET™, NXC и NX для своих партнеров и заказчиков.

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоNEC Нева Коммуникационные Системы
Завершена реорганизация двух дочерних предприятий NEC Corporation в России
С 1 декабря 2010 года Генеральным директором ЗАО «NEC Нева Коммуникационные Системы» назначен Раймонд Армес, занимавший ранее пост Президента Shyam …

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этокомпания «Гротек»
С 17 по 19 ноября 2010 в Москве, в КВЦ «Сокольники», состоялась VII Международная выставка InfoSecurity Russia. StorageExpo. Documation’2010.
Новейшие решения защиты информации, хранения данных и документооборота и защиты персональных данных представили 104 организации. 4 019 руководителей …

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоМФУ Panasonic DP-MB545RU с возможностью печати в формате А3
Хотите повысить эффективность работы в офисе? Вам поможет новое МФУ #Panasonic DP-MB545RU. Устройство осуществляет

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоAdaptec by PMC
RAID-контроллеры Adaptec Series 5Z с безбатарейной защитой кэша
Опытные сетевые администраторы знают, что задействование в работе кэш-памяти RAID-контроллера дает серьезные преимущества в производительности …

субд cache что это. Смотреть фото субд cache что это. Смотреть картинку субд cache что это. Картинка про субд cache что это. Фото субд cache что этоChloride
Трехфазный ИБП Chloride от 200 до 1200 кВт: Trinergy
Trinergy — новое решение на рынке ИБП, впервые с динамическим режимом работы, масштабируемостью до 9.6 МВт и КПД до 99%. Уникальное сочетание …

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *