c 1996 The McGraw-Hill Companies, Inc. Reproduction Prohibited
Datapro Information Services Group, Delran NJ 08075 USA

СУБД D3 Server 7.0 компании Pick Systems
 
СОДЕРЖАНИЕ

История
Pick сегодня и завтра
Анализ продукта
Архитектура
    Модель данных
    Словари данных
    Корреляции
    Файловая система
    Файловый интерфейс открытых систем
Функциональные возможности
    База данных
    Администрирование
    Разработка приложений
Сильные стороны
Ограничения
Конкуренты
    Реляционные СУБД
    Многомерные и специализированные СУБД
    Эмуляции Pick
Позиция и стратегия на рынке
Мнения пользователей
 

ВВЕДЕНИЕ

Новый продукт фирмы Pick Systems, Inc., называемый D3, вышел под девизом "Многомерная СУБД для многомерного мира". Прежде чем сказать: "PICK - не та ли это закрытая операционная система со средствами СУБД, с которой работает относительно небольшая группа фанатиков?", подумайте еще раз. Система Pick вошла в 90-е годы как мощная, открытая, промышленная СУБД, не привязанная ни к какой операционной системе. D3 - это первый продукт за 20 лет, выпущенный фирмой Pick Systems без слова "Pick" в своем названии. Основными преимуществами D3 в конкурентной борьбе являются мощная модель данных, которая гораздо точнее подходит для целей ведения бизнеса, нежели модель данных, используемая в реляционных СУБД, лучшее соотношение цена/производительность, простота в использовании и администрировании. В D3 компания Pick Systems реализовала весьма открытую, высокопроизводительную, постреляционную многомерную СУБД, сочетающую в себе возможности оперативной обработки транзакций (OLTP), оперативной аналитической обработки (OLAP) и систем поддержки решений (DSS). Количество продаж на рынке Pick непрерывно возрастает и составляет, включая прикладные системы, услуги и оборудование, более 3 млрд. долларов в год.

Текущие версии

D3 Server Release 7.0 для UNIX, Windows NT, Windows95.

Сильные стороны

 
Слабые стороны Конкуренты

Oracle 7, Sybase SQL Server II, Informix Universal Server, Microsoft SQL Server, UniData, uniVerse DBMS, Arbor Essbase, Comshare Commander, IRI/Oracle Express, Red Brick Warehouse.

Штаб квартира

Pick Systems Inc.
1691 Browning
Irvine CA 92606, U.S.A.
Tel: +1800 FOR PICK, +17142617425
Fax: +17142508187
Internet: http://www.picksys.com
sales@picksys.com
 
Автор статьи

Роберт Андерсон - аналитик
 

ИСТОРИЯ

Компания Pick Systems, Inc. прошла долгий путь длиной в 25 лет, прежде чем выпустить свой последний релиз - многомерную систему управления базами данных D3. D3 - первый продукт, выпущенный фирмой Pick Systems, который не имеет в своем названии слова "Pick". По мере того, как система Pick развивалась и зрела сначала как система управления базами данных, затем как операционная система и СУБД вместе взятые и позднее опять как СУБД для различных распространенных операционных систем, она всегда была нацелена на обеспечение наивысшего в своей области соотношения цена/производительность, простоты в использовании и администрировании, поддержки модели данных, наиболее точно описывающей информационные объекты в сфере ведения бизнеса. D3 - это многомерная система управления базами данных, которая сохранила все лучшие, проверенные временем концепции системы Pick, восприняв при этом современные компьютерные технологии. Хотя D3 очень сильно отличается от первых систем Pick, любой классический Pick-овский программист сразу же и не без гордости признает ее как свой родной продукт.

Разработка системы Pick началась в 1966 году, когда Дик Пик и Дон Нельсон, оба работавшие в то время на TRW, заключили контракт с армией США, целью которого было создание системы управления данными, которая позволила бы военнослужащим вести учет деталей при производстве вертолетов. Основные требования, в соответствии с которыми шла разработка, остаются центральными в философии Pick и сегодня. Это независимость от оборудования, модель данных, ориентированная на ведение бизнеса, эффективное использование системных ресурсов и возможность работы с базой данных любому человеку, даже не имеющему специального компьютерного образования. Дик Пик подготовил свою систему к работе на так называемом "гипотетическом" компьютере. Когда был выбран физический компьютер, на котором предстояло реализовать систему, он просто создал интефейс, с помощью которого этот компьютер выглядел так же, как гипотетический. Таким образом родилась первая "открытая система", дающая огромное преимущество как разработчикам, так и конечным пользователям. Разработчики могли создавать свои приложения в одном варианте и быть уверенными в том, что они будут работать без модификации на многих других платформах. Пользователи выигрывают от того, что они "не привязаны" к той или иной аппаратной платформе или операционной системе, что позволяет снизить тем самым стоимость перехода на другие платформы или другие операционные среды.

В 1971 году Дик Пик получил официальные права на разработанную им систему и в 1972 году организовал фирму "Pick and Associates". С самого начала он поставил себе целью продолжать развивать концепцию "системы управления данными", сделав ее коммерчески доступной для предприятий. Однако, в силу того, что в то время еще не было зрелых технологий в компьютерной индустрии, он решил добавить в свою систему компонент операционной системы, с тем чтобы можно было бы поставлять заказчикам полностью функционирующую систему "под ключ". Компания провозгласила девиз: "Пользователь должен думать о данных, которые обрабатываются на его компьютере, а не о том, как он это делает". Неуклонная приверженность президента компании Pick Systems этому принципу является основным объяснением той почти религиозной преданности, которую выражают пользователи продукции этой компании по сей день.

К 1973 году Дик Пик подготовил свою систему к серийному выпуску на платформе Microdata 800. Его система поддерживала многомерную модель данных, которая позволяла пользователю сфокусировать свое внимание исключительно на управлении данными и на управлении своим бизнесом. Эта "естественная" модель данных позволяла просматривать данные, не заботясь о том, как база данных обрабатывает поля, записи, файлы и строки. Модная сегодня, технология многомерных баз данных - не новость для старых пользователей Pick, которые имеют возможность работать с ней уже более 2-х десятилетий.

Дик Пик и фирма Microdata начали поставлять продукцию в 1974 году, вкладывая много сил в организацию каналов продажи. Потенциальными пользователями в те дни как в США, так и в Европе, где этим занималась фирма Intertechnique, были предприятия малого и среднего масштаба, которые только начинали приобщаться к информационной революции за счет использования доступных по стоимости миникомпьютеров. Тогда ключом успеха системы Pick была мощная многопользовательская среда и дружественность в сфере создания отчетов и формировании запросов. В то время это было революционным. Задолго до появления стандарта SQL, в системе Pick любой пользователь, не имеющий специального компьютерного образования, мог формировать запросы к системе и получать информацию, требуемую ему для ведения бизнеса.

Через три года Дик Пик открыл двери другим производителям и в течение пятнадцати лет пожинал плоды от доходов с проданных лицензий. Первой лицензию купила компания Ultimate Corp., которая заплатила более 1 млн. долларов за право портировать и продавать систему Pick на миникомпьютере Level 6, разработанном компанией Honeywell Computer System. В то время компания была одной из наиболее быстро растущих в США, впоследствии предлагавшей систему Pick также на оборудовании DEC и Tandem. Пока новые лицензиары активно занимались маркетингом, Дик Пик сосредоточился на разработке. В 1982 году система Pick была портирована на IBM Series/I и 43ХХ, а также на Pertec Fujitsu Microsystems и Altos. В конечном итоге система Pick была портирована на оборудование более чем 30 производителей во всем мире, включая Hewlett-Packard, Digital Equipment Corporation, Motorola, ATT/NCR и десятки других. Стандартность и масштабируемость системы Pick в диапазоне компьютеров от самых малых до самых больших, привела к тому, что согласно журналу VAR Magazine в середине 80-х "... в среде Pick разрабатывается приложений больше, чем в Unix". В итоге, на сегодняшний день рынок Pick насчитывает около 4 тыс. готовых прикладных продуктов и почти 4 млн. пользователей.

Начиная с 1984 года и по сей день весьма популярны эмуляции системы Pick. На рынке появились такие производители как Prime Computer со своей серией "Information", компания Cosmos с системой Revelation для MS-DOS, компания VMark Software с эмуляцией для среды Unix, а также компания Unidata. Все они пытались воспроизвести и улучшить базовые концепции системы Pick. Эмуляции Pick были реализованы в MS-DOS, Unix, VM, Guardian, Windows NT и OS/2. Несомненно, многие из этих компаний разработали дополнительные функциональные возможности, но ни одна из этих систем не может сравниться по производительности и эффективности с D3.

В 1984 году появилась версия Pick R83 для IBM PC XT. Персональные компьютеры в то время как раз набирали силу, и спрос на них и на систему Pick со стороны практических пользователей привел к тому, что в конце 80-х количество пользователей Pick приблизилось к половине миллиона. В 1988 году появился продукт Advanced Pick, и упомянутая ранее операционная среда была изъята из этого продукта. Тем самым у зрелой и во многих отношениях революционной системы управления данными появилась возможность существовать независимо и работать в широком диапазоне распространенных операционных систем.

Продукт Advanced Pick был первоначально нацелен на растущий рынок UNIX , где он мог компенсировать общепринятые недостатки этой операционной среды, такие как файловая система, и недружественный интерфейс, делая среду разработки приложений более дружественной для обычного пользователя. С появлением D3 система Pick стала доступна также на Windows NT и Windows 95, что позволило использовать на 100% преимущества развитой файловой системы фирмы Microsoft. При этом, D3 сохранила обратную совместимость с предыдущими версиями Advanced Pick и R83.

Содержание

PICK СЕГОДНЯ И ЗАВТРА

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

Базируясь на приверженности своей проверенной временем философии и принципам, служившим ей более 2-х десятилетий, компания Pick Systems вошла в 90-е годы с новой миссией. Эта миссия включает в себя следующее:

Версия D3 для Windows NT и Windows 95 обеспечивает функционирование и клиента, и сервера, позволяя создавать полностью распределенную n-уровневую среду обработки. В распределенной среде D3 данные "разбросаны" по сети, а модули приложений, которые могут быть и существующими Pick-программами, и вновь написанными на FlashBASIC или на 32-х разрядном Visual Basic 4 (VB4), исполняются как на локальных, так и на удаленных серверах. Распределенные приложения с возможностями удаленного вызова легко реализуются с помощью Microsoft OLE. Быстрая и эффективная разработка распределенных приложений клиент/сервер обеспечивается, с одной стороны, расширенной интегральной средой разработки D3 (IDE), а, с другой стороны, поставляемой с базой данных библиотекой объектов VB4 и ОСХ (OLE custom controls).

При постоении n-уровневых приложений клиент/сервер пользователи D3 могут также использовать возможности OSF DCE RPC (удаленные вызовы процедур в распределенных вычислительных средах по спецификации Open Systems Foundations). RPC используются в качестве протокола нижнего уровня, обеспечиваеющего независимость приложения от местонахождения, природы и количества серверов, создающих распределенную вычислительную среду.

Ключевым в новой клиент/серверной реализации D3 является объектно-ориентированная архитектура, позволяющая объектам быть плавно распределенными по сети или вовсе не иметь фиксированого местоположения ("плавающие" объекты). В D3 все объекты в сети реализованы либо как объекты D3, либо как объекты Visual BASIC. В среде клиент/сервер объекты Visual BASIC размещаются в сети динамически с помощью базы данных регистрации объектов OLE. Местонахождение объектов D3 (файлов базы данных, программ на FlashBASIC, внешних накопителей и т.д. ) определяется с помощью службы имен. В Windows NT это Microsoft Locator. В смешанной, Unix- и Windows NT-сети, службой имен является OSF Cell Directory Service (CDS). Такая динамическая природа объектов является ключевым понятием в распределенной архитектуре D3. С помощью службы регистрации, или службы каталогов, приложение может обращаться к ресурсу по символическому имени, не заботясь о том, где этот объект находится. Приложение исполняется так же, как и локальное, хотя в действительности оно может быть распределено на нескольких компьютерах в сети.

Для реализации подхода клиент/сервер в D3 вначале планировалось использовать протоколы высокого уровня, такие как Microsoft СОМ (Common Object Model) или OMG CORBA (Object Management Group's Common Object Request Broker Architecture), но в дальнейшем предпочтение было отдано RPC. Это протокол низкого уровня, но только он обеспечивает производительность и простоту, необходимые для скорейшего создания и простейшей эксплуатации промышленных прикладных систем с распределенной архитектурой. Обращение к ресурсу по сети происходит гораздо медленнее, чем обращение к локальной функции. Использование же протокола высокого уровня еще более увеличило бы непроизводительную нагрузку в системе. С точки зрения разработчика сложности использования RPC для создания распределенных приложений - ничто, по сравнению со сложностями OLE и CORBA. Как только создан базовый механизм для создания удаленных объектов и предоставления доступа к их свойствам и методам, для разработчика исчезают различия между локальными и удаленными объектами.

Кроме того, на рынке сегодня не существует общепринятого стандарта для подобного рода протоколов. IBM, например, предлагает модели SOM, DSOM (Distributed System Object Model) и OpenDOC, и достижение консенсуса между производителями еще очень далеко. Поэтому D3 остается открытой к реализации протокола высокого уровня, ожидая, когда он сформируется как общепринятый стандарт.

И, наконец, D3 легко реализуется как виртуальный Web-сервер, интегрирующий данные из Pick и других источников. По мнению Datapro направление развития складов данных и сети Internet сходятся. Что же направляет склады данных в сторону Web? Организации желают, чтобы удаленные пользователи и бизнес-партнеры имели средства для принятия решений, используя Web в качестве эффективного и менее дорогого средства связи. Все более популярным становится применение этой технологии и в корпоративных сетях Internet. Для разработчиков, перед которыми стоит задача организовать доступ к прикладным системам во все более и более расширяющейся распределенной среде, относительная простота создания складов данных, доступных через Web, становится все более и более привлекательной. Открытый файловый интерфейс системы Pick дает возможность быстро собирать огромные объемы внешних данных из различных источников, используя распределенные возможности D3 как хост-среды. Многомерная модель данных D3, идеальная для поддержки решений и аналитической обработки (OLAP), соединенная с высокой производительностью и масштабируемостью, делает ее идеальной базой данных для Web-ориентированного складирования данных. Компания Pick Systems уже начала выработку своего подхода к объединению возможностей Web и складирования данных. В будущих релизах D3 эта возможность наверняка станет популярной среди клиентов компании Pick Systems.

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

Содержание

АНАЛИЗ ПРОДУКТА

Продукт компании Pick Systems D3 Server Release 7.0 представляет собой систему управления многомерными базами данных, обеспечивающую высокопроизводительное управление базами данных на платформах UNIX, NT и Windows 95. Он поддерживает обработку огромных объемов данных и в равной степени подходит для транзактной обработки (ТР) и для принятия решений (DSS). D3 является широкомасштабируемой базой данных, способной поддерживать тысячи пользователей, работающих на сетевых ПК или на недорогих асинхронных терминалах. На одном хорошо сконфигурированном сервере системы могут одновременно работать тысячи пользователей. Тысячи пользователей могут работать и в распределенной конфигурации, когда несколько серверов работают одновременно. Многие поставщики баз данных могут назвать такие же цифры, но практически неоспоримо, что D3 как промышленная СУБД общего назначения поддерживает наибольшее количество пользователей на одном процессоре.

В мире D3 практически нет ограничений. Файлы и записи могут быть любого размера. С практической точки зрения в записи может быть любое количество полей, а в поле любое количество значений. D3 также поставляется с широким набором средств администрирования и утилит, включая компилятор FlashBASIC, который компилирует расширенный BASIC в оптимизированный код С. Компания Pick Systems сделала также все, чтобы к D3 приспособился ее традиционный контингент пользователей. Эта система обратно совместима с Advanced Pick и R83. Средства совместимости позволяют использовать программы и синтаксис, используемый в других системах Pick и в эмуляциях Pick, причем эти различные программы могут сосуществовать вместе.

АРХИТЕКТУРА

Содержание

D3 - это многопользовательская, многозадачная среда управления базами данных, сочетающая в себе классические преимущества среды Pick и новые компьютерные технологии. D3 обеспечивает прекрасную масштабируемость во всем диапазоне компьютерных платформ - от однопроцессорных до симметричных мультипроцессорных. Благодаря своей высокой эффективности D3 не имеет аналогов по показателям производительности в обработке информации, что выражается в конечном итоге, в возможности поддерживать гораздо большее количество пользователей, чем любые системы-конкуренты, на каком бы то ни было оборудовании. Система Pick давно зарекомендовала себя как не имеющая равных по эффективности использования машинных ресурсов и оперативной памяти. D3 продолжает эту традицию. Общий синергетический эффект архитектуры D3 складывается из следующих пяти компонентов: модель данных D3, словари D3, связки и корреляции, файловая система D3, файловый интерфейс открытых систем (OSFI).

Содержание

Модель данных D3

Производительность и эффективность D3 достигаются, главным образом, благодаря уникальной модели данных. Возможности этой модели выходят далеко за рамки возможностей двумерных баз данных и поддерживают подлинно многомерные связи между данными. Не имея ограничений, которые есть в модели данных реляционных СУБД, D3 поддерживает дополнительные измерения, какие обычно есть у данных в реальном мире. Элемент данных, хранимый в базе данных D3, идентифицируется своим относительным положением в записи. Если в поле нет данных, его место занимает один единственный символ-разделитель, с тем чтобы сохранить порядок следования полей в записи. В каждом поле может быть несколько значений, а в значении - подзначений. Эти "значения" и "подзначения" позволяют накапливать данные в одном поле. В качестве примера многозначного поля можно привести поле "телефон", Их, как правило, бывает несколько: домашний, рабочий, мобильный, пейджер или факс. Подзначения хорошо демонстрируются на примере счета-фактуры, содержащего несколько позиций, в каждой их которых есть количество заказанное, количество отпущенное и дата отпуска. С помощью подзначений можно выводить многочисленные даты отпуска и соответствующие им количества в каждой позиции счета. И, наконец, пользователи D3 могут извлекать данные на основе любых взаимосвязей, которые имеют для них смысл и отвечают их требованиям. Представления данных, хранимые в D3, можно настраивать индивидуально для каждого пользователя, в зависимости от того, под каким углом зрения эти данные рассматриваются.

В тех областях, где требуется аналитическая обработка, так называемая OLAP, пользователи увидят, что D3 гораздо лучше приспособлен для этих целей, нежели обычные реляционные базы данных. Само определение правил OLAP, сформулированных основателями Совета по OLAP, базируется на технологии многомерных баз данных. В литературе Совета по OLAP отмечается, что "... архитектура многомерных серверов на логическом уровне организует данные иерархически в нескольких измерениях, чтобы пользователи могли создавать, вычислять и анализировать сложные связи между данными". Большинство многомерных баз данных, включая D3, могут также хранить данные в сжатом виде, что позволяет анализировать огромные объемы данных, минимизируя требования к устройствам хранения данных.

Как всем известный кубик Рубика, многомерные базы данных состоят из кубов данных, которые, в свою очередь, тоже состоят из кубов. Каждая сторона куба - это отдельное измерение, такое как, например, категория продукта, географическая зона, канал распространения и время. Еще, каждая ячейка в многомерной структуре может хранить агрегированные данные по каждому измерению. Например, в ячейке (в поле) "дата" можно хранить результаты продаж продукта заданной категории, в заданной географической зоне, через заданный канал распространения, за заданный промежуток времени.
Многомерная структура D3 спроектирована так, чтобы избежать подхода к данным как к полям, имеющим одно единственное значение , - традиционного для реляционных технологий. Благодаря этому в D3 можно быстро выполнять консолидацию агрегатов данных, упорядочение, разделение и объединение. Другим преимуществом модели данных D3 является возможность точно отображать многомерный аспект сложных деловых процедур, свойственный ведению бизнеса в 90-х годах. Это позволяет сократить время разработки прикладных систем. Системы получаются менее сложными, более производительными и менее дорогими с точки зрения администрирования и сопровождения.

Содержание

Словари данных D3

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

Главные словари логически группируют словари файлов и файлы данных, подобно подкаталогам в DOS и UNIX. Просматривая главный словарь, и пользователь, и разработчик могут получить любую информацию о данных соответствующего домена - местонахождение, свойства, коды обработки входного контроля и защиты. В системе D3 может быть сколько угодно главных словарей (рисунок 2). За счет использования главного словаря, одного или совместно со словарями файлов данных, пользователь не тратит всю свою энергию на поиск информации и ее выборку в нужном формате. Эту работу выполняют за него словари D3, настроенные на специфику его работы.

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

В D3 для того, чтобы управлять одним файлом из разных словарей, необходимо создать в словаре синоним, который указывал бы на реальное местонахождение внешнего файла. В большинстве случаев для создания набора приложений, предназначенных для работы на одном компьютере, достаточно одного главного словаря. Однако, по мере того, как предприятия начинают распределять свои базы данных по различным компьютерам сети, каждая их которых фокусируется на своей части в области ведения бизнеса, возможность D3 поддерживать несколько главных словарей и связей между ними приобретает большую важность. Так, например, отдельные словари можно иметь для инжиниринга, производства, сбыта и финансов. Интернациональная компания может иметь отдельные словари для различных географических зон, каждая из которых отличается своим диалектом, причем даже значения полей могут быть трансформированы, например, из долларов в японские йены или в немецкие марки. Фактически, в D3 может существовать любое количество интегрированных взаимосвязанных словарей, использующих главный словарь как центральное хранилище для определений специфической лексики и информации о распределенных базах данных.

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

Содержание

Корреляции

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

Корреляции работают как простые хранимые процедуры, но оформлять их проще. Они автоматически выполняют мгновенную трансформацию значений поля при обращении к нему пользователя или программы. Например, значение "1" можно транслировать в соответствующее этому коду имя; по полю "номер_сотрудника" можно автоматически получить любое значение из файла "Сотрудники", хранимого где-либо в базе данных. Последний пример наглядно показывает важность использования корреляции: при выборке данных из нескольких таблиц не нужно делать соединение этих таблиц, как это приисходит в большинстве реляционных баз данных. Возможности корреляции по преобразованию информации устраняют необходимость хранить в базе данных избыточные данные, чтобы получить требуемые результаты. Кроме того, с помощью синонимов словарных спецификаций полей можно быстро создавать альтернативные представления (переименованные столбцы), которых может быть какое угодно количество.

Содержание

Файловая система D3

Первичным интерфейсом между пользователем и файлами данных в файловой системе D3 является словарь. Благодаря словарям в D3достигается превосходная скорость обработки и простота организации приложений. Файловая система D3 состоит из 4-х ключевых элементов: системного уровня, уровня счетов, словарного уровня, уровня файлов данных.

Системный уровень выполняет множество системных административных функций. Каждый раз, при поступлении запроса от конечного пользователя система проверяет в системном словаре, является ли этот запрос санкционированным, согласно привилегиям, назначенным для данного пользовательского счета. Каждый пользовательский счет подробно описан на системном уровне. Здесь содержится информация об ограничении доступа к файлам, методах доступа, информация о защите от несанкционированного доступа, о количестве и типе команд, разрешенных в данном пользовательском счете. Централизация этих задач в рамках всей системы управления базами данных упрощает организацию защиты и управления пользователями и счетами. Главный словарь содержит лексику, указатели на каталоголизированные программы и указатели на файлы данных. Словарный уровень содержит спецификации полей или "представления" для файлов данных. Уровень данных в среде D3 мало чем отличается от других многомерных СУБД, в которых файлы находятся на самом низком уровне. Конструкцию файловой системы D3 можно представить следующим образом:

Уровень 0 - один системный словарь, содержащий...
 Уровень 1 - один или более главных словарей, содержащих...
  Уровень 2 - любое количество словарей файлов данных, содержащих...
   Уровень 3 - любое количество файлов данных, содержащих...
    любое количество записей, в которых может находиться...
     любое количество полей, в каждом из которых может находиться...
      любое количество значений, каждое из которых может содержать...
       любое количество подзначений.

Важно отметить, что такая интегрированная 4-х уровневая структура, ведущая вниз к уровню файлов данных, упрощает общее использование системы. Все файлы, будь то системные файлы, программные файлы, электронные таблицы, текстовые файлы или файлы данных, имеют одну и ту же структуру, изложенную выше. Такая согласованная структура экономит время программиста, поскольку языки FlashBASIC и AQL (Access Query Language) оптимизированы специально под эту структуру. Такая иерархия весьма гибкая, поскольку словарь может иметь несколько файлов данных, а любой файл может управляться любым словарем.

Datapro отмечает также тот факт, что файловая структура D3 предоставляет большую свободу при проектировании базы данных. Не принуждающая по своей природе, система D3 "терпима" к неэффективному использованию файловой структуры. Поразительно, но D3 прекрасно работает даже с очень плохо спроектированной базой данных. При создании базы данных в D3, если вы забыли создать какое-либо поле, его можно быстро добавить в любое время, не меняя приложения. Если файл слишком мал, его можно легко реорганизовать. Выводимые данные переформатируются путем простого изменения записи-определителя атрибута и т.д. Мы считаем, что богатые возможности D3 не могут не раскрыться, даже если за дело возьмется новичок в области баз данных.

Содержание

Файловый интерфейс открытых систем (OSFI)

В D3 можно создавать приложения, в которых смешаны данные из D3 и других источников, находящихся как на локальной, так и на удаленных машинах в сети. ODBC-клиент может сделать один вызов базы данных D3, а она, в свою очередь, может прозрачно обратиться к данным из Oracle или других баз данных на основе SQL. Для ODBC-клиента эти данные являются данными из D3. В D3 нет ограничений на количество подключений к внешним источникам данных, как к локальным, так и к удаленным, поэтому у ODBC-клиента тоже нет ограничений на количество непрямых связей с такими источниками, если подключение осуществляется через D3. Следует отметить, что многие ODBC-средства накладывают ограничения на количество подключений к базам данных, которое может быть выполнено в одном запросе. А с помощью одного подключения к базе D3 ODBC-запрос может обращаться к любому количеству различных источников и интегрировать данные без каких-либо ограничений.

Эта мощная возможность реализуется в D3 через cynep-Q-указатели (SQP) и файловый интерфейс открытых систем (OSFI). SQP - это интерфейс высокого уровня между D3 и "удаленными" файлами. OSFI - это системная архитектура нижнего уровня, поддерживающая SQP и еще одну новую функциональную возможность D3, находящуюся в стадии разработки, с помощью которой можно будет использовать D3 в качестве центрального компонента "виртуального склада данных", для прозрачного доступа к данным из различных источников и их интеграции в системах поддержки решений.

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

Файлы, доступные через этот интерфейс, подразделяются на три основные категории. Первая категория - это файлы D3 и прочие файлы Pick на различных виртуальных машинах (на одном или на разных физических компьютерах). Вторая категория - это файлы из других источников - UNIX, DOS, Oracle и т.д. И третья группа - это двоичные файлы, содержащие шестнадцатиричные символы "FB" и выше, включая большие бинарные объекты - BLOB (Binary Large Objects), и другие, определяемые пользователем типы файлов. Важно отметить, что двоичные файлы могут либо обрабатываться D3, для чего в них нужно заменить некоторые символы, либо могут рассматриваться как внешние объекты и обрабатываться внешними специализированными программами. Достоинство OSFI состоит в том, что он корректно работает с файлами самых различных типов, находящихся в сети. Например, при чтении или записи файлов UNIX, OSFI обращается к каталогу UNIX как к одному файлу, а файлы внутри каталога становятся аналогами записей в D3.

Помимо явного достоинства OSFI, состоящего в том, что он обеспечивает бесшовную интеграцию прикладных систем из D3, UNIX и NT, OSFI имеет еще один плюс - возможность служить основой для виртуальной распределенной среды баз данных. Используя триггеры D3, системы-сателлиты могут непрерывно обновлять центральные файлы и наоборот. Это означает, что база данных D3 и внешние данные могут быть физически распределены по различным системам в сети и при этом полностью координироваться D3 как единая виртуальная база данных. Файловая система D3 может существовать как объект в любой точке сети. Сложные объекты, такие как сама база данных, тоже могут существовать на различных компьютерах. Это означает, что конечным пользователям и разработчикам прикладных систем нет необходимости знать физическое расположение объекта в сети.

Базовая спецификация OSFI открыта для разработчиков с тем, чтобы они могли создавать свои собственные драйверы для работы с D3.

Резюме

В основе D3 лежит архитектура без ограничений, предоставляющая максимум свободы пользователю: неограниченное количество и размер файлов, записей и полей, многомерная модель данных, активные словари данных, корреляции, Q-ссылки, файловый интерфейс открытых систем (OSFI). Все это вместе знаменует собой появление новой фирмы Pick Systems, Inc. Возможности по взаимодействию, такие как SQL, ODBC, OLE и DCE, богатый опыт на рынке UNIX и поддержка версии D3 Server 7.0 для Windows NT и Windows 95 делают эту систему серьезным претендентом при выборе среды баз данных в любой организации, где требуется открытая, высокопроизводительная, экономичная и дружественная в использовании и администрировании СУБД.

Содержание

ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ

Как и в других системах управления базами данных возможности D3 можно разбить на 3 категории: собственно управление базами данных, администрирование системы и разработка приложений.

Содержание

База данных

Параметры базы данных

Благодаря словарной системе D3, новые атрибуты/поля можно добавлять в любое время, даже во время использования системы. Поля могут иметь размер до 2 Гб (как цифровые так и строчные) и могут изменяться динамически, не требуя указания типа данных. D3 использует дисковое пространство максимально эффективно, занимая ровно столько места, сколько требуют данные. Как уже отмечалось ранее D3 хранит пустые значения как именно пустые, т.е. не занимающие места в базе данных. D3 поддерживает переменную длину полей, что также экономит дисковое пространство и оперативную память. Если говорить точно; то в записи может быть 2 миллиарда полей, а в поле - 2 миллиарда значений. В файлах может быть неограниченное количество записей, а сами файлы могут быть реорганизованы в процессе использования. Общее количество файлов в системе также неограничено. Один процесс может открывать до 32 тысяч файлов.

Сердце любой системы управления базами данных является система хранения и выборки данных. Если она неэффективна, ценные ресурсы тратятся впустую. Если ввод и выборка информации происходят медленно, теряется очень дорогое время. Datapro оценивает систему D3 как очень эффективную, хранящую данные в наиболее компактной форме, обеспечивая тем самым их быструю выборку.

Запись хранится в D3 в виде последовательности значений, отделенных друг от друга разделителями. Значение - это строка переменной длины. Запись-описатель атрибута определяет, что представляет собой данная ASCII-строка. Одной из сильных сторон D3 является возможность хранить данные в одном формате, а вводить в другом. В D3 текст хранится как обычный текст, числа сжимаются и хранятся как целые значения (и форматируются при выводе), даты преобразуются в целые числа (без каких-либо проблем, связанных с 2000-ым годом), время преобразуется в целое число секунд после полуночи. При хранении данных разработчик может использовать различные коды. Коды обработки могут выполнять кодирование при вводе и декодирование при выводе. Внутри записи между полями могут существовать связи "управляющее/зависимое", с помощью которых значения одного поля связываются с соответствующими значениями других полей. Система управления виртуальной памятью D3 снимает ограничения на использование оперативной памяти, с которыми часто приходится сталкиваться разработчику прикладных систем. Благодаря виртуальной памяти и совместному использованию объектного кода программ, D3 требует всего лишь 256 Кб памяти на пользователя - значительно меньше, чем требуется в других общеизвестных базах данных.

Файловая система D3 может размещаться как вместе с файлами хост-системы, так и на отдельных устройствах хранения прямого доступа. Дополнительные устройства хранения можно добавлять в любое время, не перестраивая базу данных. Файлы могут располагаться на нескольких физических дисках, логических дисках или файлах UNIX. Средства экспорта/импорта позволяют передавать данные из одной среды в другую. Файлы можно обрабатывать там, где они наиболее часто используются, и при необходимости пересылать их в другую среду.

Содержание

Запросы, обновления и отчеты

D3 поддерживает ANSI-SQL, Microsoft ODBC и собственный язык запросов Access (AQL), используемые для запросов, обновления и отчетов. Те, кто знаком с SQL могут сразу же начать работу с D3. AQL - это собственный запатентованный язык запросов D3, который, как и SQL, используется для выборки данных и генерации отчетов. Однако, в отличие от ODBC и SQL, AQL был с самого начала ориентирован на использование преимуществ многомерной структуры D3. При подготовке данного отчета Datapro протестировала как SQL/ODBC, так и язык запросов AQL, и пришла к выводу, что оба они обеспечивают быстрый, простой, интуитивный доступ к базе данных, даже при выполнении сложных запросов.

С помощью D3/SQL пользователь, знающий SQL, может работать с данными D3, используя привычный интерфейс. С помощью ODBC любой персональный компьютер под MS Windows 3.Х или WIN95 может подключаться к базе данных D3, делать запросы и обновлять его.

Стандартный SQL оперирует двумерной моделью базы данных, что является парадигмой электронных таблиц с их столбцами и рядами, аналогичными записям и атрибутам (полям) в D3. В SQL "таблица" определяет данные, что очень похоже на то, что делает словарь данных в D3. Поскольку SQL ориентирован на двумерные объекты данных, для того, чтобы обрабатывать данные D3, D3/SQL включает дополнительные возможности, позволяющие отображать многомерные данные в эти плоские таблицы. Обычно в D3 используется метод отображения управляющих/зависимых полей во вложенные таблицы SQL. Не изменяя многомерной структуры базы данных, D3 прозрачно отображает найденные в базе данных многозначные поля в ряды реляционной таблицы. Это дает возможность Pick-приложениям и SQL-приложениям обращаться к одним и тем же данным с помощью различных методов.

ODBC-драйвер D3 для MS Windows дает возможность создавать интегрированные среды клиент/сервер, которые включают MS Windows клиентов на ПК, получающих данные из D3 серверов, расположенных в сетях TCP/IP на различных компьютерах с UNIX, Widows NT и WIN95. На рынке существует множество прикладных систем, поддерживающих ODBC, а также множество средств разработки для персональных компьютеров, таких как Microsoft Visual Basic V4.0, с помощью которых разработчики могут быстро создавать прикладные системы. Для доступа к данным D3 теперь можно использовать средства запросов на основе ODBC. Для любых пользователей продуктов ODBC теперь открыт доступ к огромному количеству данных, накопленных в системе Pick. С помощью ODBC и драйверов ODBC в D3 разработчики приложений могут обеспечить в своих системах одновременный доступ в режиме чтения и записи к нескольким базам данных D3 и другим базам данных, поддерживающих ODBC, которые имеются в сети.

Реализация SQL/ODBC в D3 состоит из трех главных компонентов. D3/SQL - это ядро, обеспечивающее SQL-доступ к базе данных D3. D3/ISQL - это командный процессор, интерпретирующий SQL-команды и поддерживающий интерактивную и пакетную обработку. D3/ODBC - это процессор связи, реализующий функции ODBC. Пользователи имеют возможность в интерактивном режиме формировать и исполнять команды SQL для выборки и модификации данных из таблиц (файлов) D3 с выводом их на экран или в отчет. Интерактивные команды SQL можно выполнять с уровня TCL или из командной строки Unix с помощью команд tcl и isql ("tcl isql select имя_таблицы"). Пакет команд SQL можно поместить в макрос или скрипт Unix. В пакетном режиме пользователи готовят предложения SQL и обрабатывают их с помощью команд FlashBASIC.

D3/ODBC поддерживает все базовые ODBC-функции и функции "уровня 1", за исключением SQLGetCursorName, SQLSetCursorName, SQLRowCount и SQLPutData. Из функций "уровня 2" поддерживаются только следующие функции: SQLDataSources, SQLDescribeParam, SQLDrivers и SQLNumParams.

В отличие от SQL и ODBC, язык AQL специально разрабатывался с тем, чтобы использовать преимущества многомерной архитектуры D3. Используя AQL, пользователю нет необходимости понимать, как хранятся данные, как соединяются таблицы или как создаются представления базы данных. Предложения AQL, которые аналогичны представлениям SQL, прозрачно "соединяют" данные из различных файлов, что пользователям и разработчикам знать даже не обязательно. Файлы могут содержать AQL-отчет по умолчанию, показывающий их содержимое. Пользователи AQL вводят команды, используя язык близкий к естественному, которые при выполнении запроса и генерации отчета используют формулы и взаимосвязи, установленные в словаре данных D3. Мощности AQL достаточно для того, чтобы выполнять сортировки по возрастанию и убыванию по различным значениям полей D3. AQL поддерживает такие важные операции как поиск, отбор, генерация итога, генерация подитогов, форматирование полей вывода. Кроме того, мощные возможности по переформатированию позволяют создавать и добавлять новые представления в базу данных без процедурного программирования. Самой сильной стороной AQL, в дополнение к его мощным возможностям доступа к многомерным данным, является его дружественность к пользователю. Нетехнические специалисты быстро обучаются извлекать требуемую им информацию, используя запросы AQL, базирующиеся на словарях D3.

Синтаксис SQL значительно многословней, чем AQL. Но AQL гораздо проще в использовании и гораздо более интуитивный, чем SQL, когда требуется рассмотреть различные измерения внутри D3. С другой стороны, когда разработчикам необходимо спроецировать данные D3 для использования в реляционном приложении, новые возможности SQL/ODBC отлично выполняют эту работу. D3 - это действительно многомерная реляционная база данных. Вы располагаете преимуществами обеих моделей. Гибкость базы данных позволяет ей функционировать одинаково хорошо как в реляционном, так и в многомерном контексте.

Содержание

Транзактная обработка

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

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

При транзактной обработке должна поддерживаться целостность набора транзакций, определенных в прикладной системе. Для этого существует специальный термин - ACID (Atomic, Consistent, Isolated, Durable). Соблюдение условий ACID при выполнении транзакций является очень важным в тех случаях, когда неожиданная остановка системы может оставить базу данных в промежуточном, противоречивом состоянии. В качестве примера можно привести транзакцию, которая обновляет несколько файлов. Сбой в системе, после которого один файл был обновлен, а остальные нет, приведет к противоречивости данных, исправление которых может отнять много времени и привести к убыткам.

В D3 реальное обновление данных не производится до тех пор, пока обработка всего набора транзакций не будет завершена. Для обеспечения абсолютной надежности (по принципу "все или ничего") реальное обновление данных на диске форсированно выполняется в момент окончания обработки всего набора транзакций и при условии, что D3 не зафиксировала никаких сбоев. Количество обновлений в наборе транзакций не ограничено. Даже при транзактной обработке всех файлов, D3 обеспечивает возможность возврата к прежнему состоянию (откат транзакций), если не все транзакции набора завершились успешно. Условия ACID необходимы для безопасного выполнения критически важных приложений с транзактной обработкой. Но в тех случаях, когда без них можно обойтись, эту возможность следует отключать, поскольку их выполнение требует значительных ресурсов и снижает производительность. Специалисты компании Pick Systems сейчас разрабатывают новую функциональную возможность, которая позволит автоматически выполнять условия ACID и обеспечивать целостность базы данных без заметного снижения производительности. Эта возможность будет включена в последующие релизы D3.

Содержание

Репликация данных

D3 поддерживает так называемое "горячее архивирование", которое будучи включенным, использует журнал транзакций для автоматического копирования данных по сети на указанное внешнее устройство. Репликация данных может также инициироваться программой. При обновлении критических файлов D3 репликция данных автоматически включается с помощью вызовов CALLX. В новом релизе, поддерживающем Windows NT, D3 также поддерживает все возможности NT по репликации.

Содержание

Индексирование

Чтобы улучшить производительность, D3 обеспечивает различные способы доступа к данным. Так можно использовать неограниченное количество индексов. Система сама обслуживает индексы в процессе эволюции базы данных. Записи можно индексировать по любому полю (реальному или вычисляемому). В программах можно непосредственно ссылаться на индексы и обновлять их. Индексы используются AQL, SQL, FlashBASIC.

С помощью хеширования в соответствующий индекс базы данных помещается, фигурально выражаясь, электронная закладка в виде хеш-ключа. Хеш-ключ определяет местоположение данных на диске. Хеш-ключ является результатом простого математического расчета, который дает адрес, указывающий на место, где расположена запись. Поскольку в базе данных известны все хеш-ключи соотнесенные данным, результаты по запросам можно получать, используя минимальное число операций ввода/вывода. Совместное использование хеширования и задаваемых через корреляции индексов позволяет в D3 без труда создавать звездообразные схемы доступа к данным, без тех сложностей, с которыми сталкивается большинство реляционных баз данных. Таким образом, хеширование обеспечивает доступ к записи, а корреляция исполльзуется для создания многомерного или "звездообразного" представления запрашиваемых данных

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

Предложения языка FlashBASIC позволяют работать с индексами. В FlashBASIC-программах можно работать с несколькими индексами по нескольким файлам. AQL и SQL используют индексы, чтобы обеспечить максимальную эффективность и скорость обработки. Если система обнаружит некорректный индекс, она зарегистрирует ошибку в системном журнале, удалит неисправную часть индекса и заново построит эту часть в соответствии с текущим состоянии данных в файле. Схема индексирования гарантирует, что каждый индекс будет обновляться лишь в случае, когда изменяется значение ключа в этом конкретном индексе, что значительно сокращает обработку при обновлении файлов с несколькими индексами.

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

Содержание

Триггеры и хранимые процедуры

В базе данных D3 легко реализуются правила обработки. В ней есть и триггеры и хранимые процедуры. Триггеры обычно исполняются при обновлении значения поля, но могут исполняться (когда используется AQL) и при выборке данных. При изменении значения поля или обращении к нему автоматически выполняется или "включается" преобразование значения этого поля. Может быть также вызвана программа, которая автоматически обновит, преобразует или удалит аналогичные данные в других местах базы данных. Это идеально обеспечивает целостность по ссылкам и непротиворечивость большой распределенной базы данных. Примером этого может служить удаление записи о сотруднике из таблицы "сотрудники", которая автоматически включает процесс, удаляющий ссылки на этого сотрудника в других местах, например, из таблиц "оздоровительные_мероприятия" и "зарплата", или триггер может просто собрать все ссылки на данного сотрудника, имеющиеся в базе данных и поместить их в таблицу "архив". D3 полностью поддерживает триггеры, которые включаются при обновлении значений полей. Для выполнения преобразования значений поля может быть использована либо соответствующая корреляция, либо программа на FlashBASIC, вызываемая при обращении к данному полю.

Хранимые процедуры представляют собой процедурную логику, хранимую непосредственно в структуре поля в базе данных. Они упрощают процесс программирования, позволяя логике обработки базы данных существовать внутри самой базы данных, снижая тем самым нагрузку на прикладную систему по выполнению этих функций, с одной стороны и, обеспечивая выполнение процессов единообразно в разных прикладных системах. D3 поддерживает хранимые процедуры, что позволяет помещать сценарии обработки базы данных в саму базу данных. Если возможностей процедуры недостаточно, в поле можно вставить указатель на подпрограмму, написанную на FlashBASIC, которая должна выполнять необходимые действия.

Содержание

Обслуживание и администрирование баз данных

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

Каждый пользователь D3 имеет в системе свое индивидуальное описание, в котором устанавливаются такие его характеристики, как уровень зациты и привилегии, характеристики его терминала, головное меню и многие другие. По индивидуальной идентификации каждого пользователя, а также по главному словарю, с которым он работает системный администратор или программист могут получить подробную информацию о местонахождении в системе и действиях каждого пользователя. Многоуровневая защита от несанкционированного доступа поддерживает пароли пользователя и счета, а также ограничение на доступ к файлам. Пользователи могут работать с системой с символьных терминалов, рабочих станций, Х-терминалов, персональных компьютеров, через модем, используя асинхронные соединения локальные и глобальные сети. Появилась также возможность использовать Telnet для подключения к конкретным портам удаленных систем.

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

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

D3 имеет развитые возможности по работе с дисковой памятью. Это оптимизированная блокировка записей, динамическое расширение файлов и возможность работать с несколькими дисками как с единым дисковым пространством.

Спулер печати D3 управляет выводом на принтер. Спулер - это аббревиатура от simultaneous peripheral output and online error recovery subsystem. В среде D3 можно управлять несколькими устройствами печати одновременно. В системах на основе UNIX пользователи могут выбирать либо спулер D3, либо спулер UNIX. При желании спулер D3 можно полностью интегрировать в спулер UNIX. В Windows NT для доступа к принтеру можно использовать все возможности родного спулера NT. Спулер управляет созданием заданий на печать и следит за тем, нужно ли их посылать на принтер, либо сделать задержанными. Он также управляет взаимодействием между физическими и логическими принтерами. На некоторых платформах спулер может управлять также параллельными принтерами.

Еще одной мощной возможностью D3 является фантомная обработка. В D3 фантомный (неинтерактивный) процесс называется фантомным заданием и запускается любым активным процессом. Фантомный процессор исполняет только неинтерактивные программы, не требующие вмешательства оператора. Фоновые процессы повышают многозадачность, делая возможным, например, запустить генерацию отчета и продолжать при этом вводить данные. Фантомные задания могут запускаться интерактивно, а могут ставиться в очередь для запуска в определенный момент времени. Фантомный процесс может исполнять команды TCL. В качестве фантомных заданий хорошо исполнять сложные отчеты или какие-нибудь другие задачи, которые на долгое время занимают пользовательский терминал.

Содержание

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

D3 предлагает богатую интегрированную среду разработки (IDE), в основе которой более 20 лет опыта в разработке подобных средств, с помощью которых разработчики создали тысячи коммерчески доступных прикладных систем. К этим средствам относятся: мощный язык системных команд, который поддерживает обновление и выборку данных на высоком уровне; средство разработки словарей и меню; библиотеки подпрограмм и OLE controls (OCXs), с помощью которых можно обращаться к D3 из VisualBASIC и других средств разработки клиент/сервер на основе ODBC; высокопроизводительная компилируемая версия языка BASIC для быстрой разработки прикладных систем, дополненная полноэкранным редактором и отладчиком; хранимые процедуры; поддержка создания быстрых пользовательских функций с помощью макроопределений, позволяющих минимизировать использование клавиатуры.

Содержание

Процессор команд TCL

TCL (язык системных команд) является командной оболочкой D3, где действие инициируется и передается на исполнение в другие системные модули. TCL позволяет взаимодействовать с оборудованием, установленным в среде D3, таким как терминалы, принтеры, ленточные накопители и дисководы. С уровня TCL можно исполнить любую команду оболочки UNIX, можно инициировать выполнение любых пользовательских процедур, более 200 системных утилит, меню и системных процедур. Процессор TCL может вызываться практически из любого места, включая программу на С, операционную систему хост-компьютера, программу на FlashBASIC, на Visual BASIC, оболочку UNIX. Специальные коммуникационные команды TCL, обеспечивают организацию обмена данными между пользовательскими сеансами и управление пользователями в системе, предоставляя администраторам и разработчикам превосходные возможности по настройке и техническому сопровождению системы.

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

Словарь команд, доступных пользователю с уровня TCL, хранится в главном словаре или в другом месте, в зависимости от того, что указано в соответствующей переменной оболочки. Как уже упоминалось ранее, мощным свойством главного словаря является возможность для пользователя или разработчика наращивать словарь, добавляя в него профессиональные термины, которые наиболее точно отражают суть, терминологию данной географической зоны, предприятия, профессии, отрасли промышленности и т.п. Там же хранятся имена исполняемых программ на FlashBASIC и вызываемых подпрограмм. Изначально в главном словаре содержатся команды, обеспечивающие использование редакторов FlashBASIC, языка запросов Access, спулера печати, операции с внешними носителями и целого ряда утилит.

Содержание

Поддержка макросов

Макрос представляет собой последовательность исполняемых команд TCL и AQL- что очень напоминает командные файлы DOS, - и служит средством использования повторяющихся командных строк. Макросы могут запускаться из TCL как одна команда, подобно глаголу TCL. Макросы можно непосредственно создавать в главном словаре любым имеющимся редактором. С помощью команды create-macro создается макрос, содержащий последнюю команду, введенную с уровня TCL.

Содержание

Создание меню

Для организации компонентов прикладной системы в D3 используется удобный генератор меню. Процессор Меню организует команды TCL и макросы. Группы команд и функций можно объединять вместе и отображать в виде меню. Процессор меню автоматически форматирует экран и просит пользователя ввести номер одной из опций меню. Система помощи выведет на экран текст, комментирующий опцию меню, если вместе с номером опции ввести ? (знак вопроса).

Содержание

Разработка систем клиент/сервер на основе ODBC

Главной особенностью систем клиент/сервер является то, что управляет процессом исполнения не программа на сервере, а программа-клиент на настольном компьютере. Сервер выполняет команды, поступающие от клиента. В n-уровневой среде сервер может даже перенаправить обработку или выбрать данные из других серверов сети.

В D3 есть библиотека объектов Visual BASIC 4 (VBX) и управляющих элементов OLE - OLE Custom Controls (OCX), с помощью которых любая программа на Visual BASIC может через ODBC получить доступ к базе данных D3. Таким образом обеспечивается поддержка и 16-ти разрядного Windows for Workgroups (3.1.1) и новых 32-х разрядных версий WIN95 и Windows NT. OCXs, строго говоря, происходят из широко известных 16-ти разрядных VBXs. Просто фирма Microsoft не стала портировать VBX в 32-х разрядную Windows, а создала новый тип управляющих объектов, основанный на архитектуре OLE. По мере того, как Microsoft будет продолжать продвигать OLE в качестве технологии распределенных объектов, тенденция использования этих новых объектов будет усиливаться. Проще говоря, OCX-ы - это in-process серверы (функциональные аналоги DLL в технологии OLE), поддерживающие in-place активацию и OLE-автоматизацию.

Pick Systems также создала Windows API (интерфейс прикладного программирования), состоящий из вызовов, в точности повторяющих программы, которые обеспечивали доступ из UNIX. Как и библиотека Visual BASIC эти программы позволяют ODBC получать доступ к базе данных D3. API вызывается из любой среды, которая может вызывать DLL (Data Link Libraries). T.e. любые средства разработки для персональных компьютеров, такие как Delphi фирмы Borland или PowerBuilder фирмы Sybase, можно использовать для получения доступа в D3. Когда программа- клиент вызывает одну из этих программ, параметры передаются серверу, который затем использует собственные средства для чтения и/или обновления данных.

Для связи между клиентом и сервером D3 использует стек ТСР/IР фирмы Microsoft (доступен бесплатно), который приходит с Winsock.dll для создания соединения со стороны клиента. Любой другой стек TCP/IP в Windows, который использует Winsock API, тоже можно использовать. Поскольку связь между клиентом и сервером осуществляется через сокет, ничто не мешает программе-клиенту открыть сокеты к любому числу серверов и получать доступ к данных из нескольких баз данных.

Содержание

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

Одним из наиболее мощных средств в арсенале D3 является FlashBASIC - расширенный язык программирования, основанный на Dartmouth BASIC, который произошел из традиционного языка системы Pick/BASIC. FlashBASIC является центральным компонентом в среде разработки D3. Основная цель языка FlashBASIC - это управление базой данной. Его сильные стороны - это гибкость, интегрированность и поддержка многочисленных функций, обеспечивающих работу с многомерной базой D3.

По мнению Datapro FlashBASIC - простой для понимания язык программирования. В среде UNIX FlashBASIC компилирует код, который исполняется в 5 раз быстрее, чем его интерпретирующий предшественник. При этом FlashBASIC на 100% совместим со стандартным языком Pick/BASIC. D3 даже поддерживает компиляцию псевдокода Pick/BASIC. Наиболее важной чертой языка FlashBASIC является простота программирования, свойственная языку BASIC, и возможность компиляции с помощью С-компилятора в оптимизированный код С. Это не только упрощает жизнь разработчику (который может не быть специалистом по С), но и дает исключительную производительность при исполнении программ.

Важными свойствами языка FlashBASIC являются: блокировка записей, предотвращающая одновременное обновление одних и тех же данных, разрешая при этом одновременный доступ в режиме чтения, неограниченные размеры строк, размеры записей, количество объявленных переменных и открытых файлов. Программы на BASIC можно вызывать как из записей-определителей аттрибутов, так и из записей-определителей файлов, хранящихся в словарях. После открытия файла, программы могут обращаться к данным по имени в словаре. В одной программе может быть до 214 миллионов переменных. Операторы key и root обеспечивают интерфейс с индексами B-дерева. Помеченные, именованные и глобальные common-переменные остаются в common-области в течение всего сеанса, обеспечивая коллективное использование данных разными процессами. FlashBASIC поддерживает также динамические массивы, определяемые в процессе исполнения. С помощью команд send и get можно писать коммуникационные программы, использующие какой-либо асинхронный порт, отличный от порта, с которого запущена программа. В языке FlashBASIC имеется широкий набор математических и строковых операторов присваивания: =, #, , <, =, <=, +=, -=, \=, /=, *= и :=. FlashBASIC также обеспечивает поддержку чисел с плавающей точкой, 48-битовых целых чисел и математического сопроцессора.

FlashBASIC имеет символический отладчик, предназначенный для отладки программ на FlashBASIC. Он обладает стандартными возможностями: пошаговое выполнение программы, переход на указанную строку, выполнение останова на заданной строке и по условию, вывод на экран и изменение любой переменной, трассировка переменных, непосредственный вывод на терминал или принтер, вывод на экран и/или изменение стека подпрограмм, вывод на экран всех строк исходного текста, автоматический вывод текущей строки при пошаговом исполнении.

Содержание

Переменные оболочки

Новые переменные оболочки D3 аналогичны common-переменным языка FlashBASIC (тем, которые можно изменять) и могут бвть установлены в BASIC-программе с помощью стандартного синтаксиса присваивания значения переменной или с помощью редактора. Переменные оболочки сохраняют свои значения до тех пор, пока пользователь не изменил их, или не вышел из системы, и остаются доступными на любом уровне. Из D3 можно исполнять любые команды оболочки UNIX, используя данные D3. С помощью переменной оболочки @$path упрощается доступ к глаголам; с помощью переменной оболочки @$messages обеспечивается переключение приложений на разные языки индивидуально для каждого пользователя путем установки требуемого файла системных сообщений одной командой, например, set.messages=messages.rus. С помощью переменной @$prompt можно конфигурировать символ уровня системных команд TCL отдельно для каждого главного словаря (счета). Остальные переменные - это: @$am, @$fm, @$vm, @$svm, @$user, @$who, @$account, @$logname, @$pip, @$userno, @$time, @$date, @$day, @$month, @$year, @$id и @$system.return.code.

Содержание

Поддержка языка программирования C

Доступ к многомерной СУБД D3 возможен непосредственно из языка программирования С. А в языке FlashBASIC есть С-интерфейс. D3 позволяет приложениям Microsoft (W95, NT и др.) и UNIX интерактивно взаимодействовать с базой данных D3, включая пересылку данных между этими средами. Этот интерфейс позволяет работать с файловой системой D3, как в режиме чтения, так и в режиме обновления, работать со строковыми значениями и динамическими массивами, работать с лентой, выполнять команды TCL и подпрограммы на FlashBASIC, использовать конверсии. C-интерфейс D3 открывает доступ к базе данных D3 практически любым утилитам, сетвым программам и коммуникационным протоколам Microsoft и UNIX. Кроме того, имеющаяся в D3 библитека C-функций управляется теми же системными средствами, что и FlashBASIC, обеспечивая тем самым максимально высокий уровень производительности.

Содержание
 
СИЛЬНЫЕ СТОРОНЫ

Учитывая, что компьютеры существуют всего лишь около 40 лет, и что программное обеспечение, актуальное сегодня, через несколько лет становится устаревшим, многомерная СУБД, успешно развивающаяся более 30 лет, является очень большой редкостью. Фундаментальная архитектура D3, сформированная в конце 60 годов, сегодня не потеряла свой актуальности. Например, ее словарная архитектура, с самого начала краеугольный камень архитектуры Pick, является тем, к чему другие изготовители баз данных только начали переходить. Пожалуй, наиболее сильной стороной Pick является неуклонное следование первоначальным базовым принципам и активное внедрение новых технологий. Эта та самая прочная основа для столь откровенной, почти религиозной приверженности ее пользователей. Во время подготовки этого отчета один из давних и успешных реселлеров Pick Systems отметил, что в мире Pick программные продукты почти не подвержены старению. Клиент Pick останется им навсегда, - многозначительно заявил он.

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

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

С практической точки зрения, сильные стороны D3 - это интуитивная, ориентированная не ведение бизнеса модель данных, абсолютно открытая, эффективная файловая система, простота администрирования. Что часто упускается из вида при ее оценке, так это потрясающая эффективность с точки зрения использования системных ресурсов. В то время, как в Oracle рекомендуется от 4-х MB оперативной памяти на пользователя, а в Sybase минимум 15 MB, и лишь потом начинаются требования к оперативной памяти, зависящей от пользователей, D3 обеспечивает нормальную производительность с минимумом оперативной памяти, а с ее увеличением она значительно возрастает. В среде UNIX достаточно от 0,5 MB до 2 MB оперативной памяти на пользователя. В среде NT эти требования еще ниже.

Windows NT требует не менее 16 MB оперативной памяти, но лучше начинать с 32 MB. Потребности D3 сверх этого определяются количеством одновременных активных потоков. (Один пользовательский процесс в D3 NT использует один поток). Windows NT требует 1-3 MB оперативной памяти на 16 одновременных потоков. Т.е. требования к памяти зависят в большей от активности пользователей, чем от их числа. Чем больше памяти, тем больше вероятность того, что наиболее часто используемые программы и данные будут находиться в оперативной памяти, что обеспечивает наибольшую производительность. D3 привлекательнее для клиентов, желающих сэкономить на закупке оборудования.

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

В совокупности все эти сильные стороны, как самого продукта, так и разрабатывающей его компании, более высокая производительность при меньшей стоимости и наличие более 4000 вертикальных и горизонтальных приложений делают D3 очень серьезным конкурентом. Добавьте к этому спрос на приложения для Windows NT, порожденный потребностями пользователей в простых, интуитивных многомерных базах данных без ограничений, свойственных двухмерным СУБД, и возможности Pick Systems не просто на равных конкурировать, но и превзойти более известных конкурентов, становятся очевидными.

Содержание
 
ОГРАНИЧЕНИЯ

Несмотря на неоспоримое превосходство с точки зрения традиций и практических возможностей, D3 необходимо преодолеть некоторые серьезные барьеры. Pick Systems весьма успешно продавала свою продукцию в секторе малых и средних предприятий, но для того, чтобы утвердиться среди сильнейших, ей необходимо увеличить долю рынка среди малых и средних предприятий и увеличить долю рынка среди крупных и крупнейших потребителей из так называемого реестра Fortune 1000. В этой части рынка уже утвердились популярные реляционные базы данных, такие как Oracle, Sybase и Informix. У этих компаний больше средств для маркетинга своей продукции.

Несмотря на то, что D3 имеет множество преимуществ, которые только начинают признавать и реализовывать производители реляционных СУБД, рекламная война может привести к тому, что обратить внимание на D3 можно будет только при самом тщательном переборе конкурентов.

Большие возможности таит в себе Windows NT. Сегодня крупные компании смотрят на NT как на платформу, предназначенную для уровня филиалов или подразделений предприятий. Администраторов на этом уровне интересует не только соотношение цена/производительность, но и простота администрирования и использования. Вот один из путей проникновения на рынок Fortune 1000. Позднее, когда NT "развернется" и начнет увеличиваться до уровня предприятия, D3 сможет подняться на этой волне. D3 также привлекательна для малых компаний, поднимающихся до уровня NT. Они тоже находятся в поисках СУБД, которая была бы самой производительной, относительно недорогой и не требующей интенсивного администрирования.

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

Система Pick, хотя и поставлялась многими изготовителями комплексного оборудования (OEM), но никогда не была "железно" связана с этим, и только этим, оборудованием. И по сей день D3 можно легко портировать в любую операционную систему со всеми средствами взаимодействия, что делает ее не менее открытой, чем кто либо из конкурентов.

Слабой стороной была в свое время централизованная однопроцессорная идеология, когда все базы данных и приложения находятся на одном компьютере. С появлением в 90-х годах моделей клиент/сервер, СУБД от компании Pick Systems стали восприниматься как раритет, напоминающих о первых днях компьютеростроения. С появлением D3 все это радикально изменилось. Как уже отмечалось ранее в этом отчете, D3 поддерживает распределенные n-уровневые инфраструктуры клиент/сервер, в которых для общения с базами данных можно использовать инструменты и приложения на основе ODBC и OLE, а сама система D3 может быть физически распределена на любом количестве сетевых компьютеров под DOS, UNIX и Microsoft Windows. Использование стандартных удаленных процедур (DCE RPC) и собственного файлового интерфейса (OSFI) делают возможным работу различных физически распределенных компонентов D3 как единой виртуальной базы данных. Задача Pick Systems состоит в том, чтобы придать это гласности на рынке.

С инженерной точки зрения, D3 является СУБД с оригинальной архитектурой. Тот факт, что это многомерная СУБД, которая одинаково хороша как для транзактной обработки, так и для поддержки решений, является свидетельством ее технического совершенства. Единственной, действительно важной стороной, требующей укрепления, является графический интерфейс администратора. Несмотря на то, что D3 отличается простотой эксплуатации и требует минимальной настройки и администрирования, сложности связанные с эксплуатацией распределенных баз данных (к которым теперь причисляет себя D3), а также необходимость конкурировать с более известными СУБД, требуют наличия централизованного графического средства для администрирования баз данных. Во время составления этого отчета разработчики на Pick Systems были заняты созданием именно графического интерфейса пользователя (GUI) для настройки и администрирования баз данных.

Содержание
 
КОНКУРЕНТНЫЙ АНАЛИЗ

D3 выступает конкурентом традиционным базам данных, появляющимся многомерным базам данных и эмуляциям Pick.

Традиционно, главными конкурентами Pick Systems были фирмы-производители баз данных для UNIX, пытающиеся реализовать преимущества Pick путем разработки "Pick-подобных" продуктов. Pick Systems расширила круг конкурентов в 1996 году, выпустив D3, содержащий целый ряд новых свойств, таких как поддержка Windows-NT и ее высоко развитой файловой системы, возможности доступа к внешним по отношению к Pick данным, совершенно новая реализация на основе моделей клиент-сервер, поддержка единого "виртуального" представления физически распределенных данных. Революционное появление D3, объединяющее богатые традиции Pick с последними достижениями технологии, радикально изменило конкурентноспособность компании Pick Systems и предоставило ей новую возможность действовать на равных с нарождающимися многомерными и популярными реляционными базами данных. Давайте рассмотрим каждого из этих конкурентов более подробно.

Содержание 

Реляционные базы данных

Выход в свет D3 - это огромный шаг вперед для Pick. Поддержка серверов для Windows NT и UNIX, клиент-серверный доступ к данным на основе стандартов SQL и ODBC, а также использование стандартного промежуточного ПО (midlware), такого как OLE и DCE RPC, радикально обновляет технологию, предлагаемую Pick Systems, выводя эту компанию на позиции, где она может, если пожелает, потеснить популярные реляционные базы данных.

D3 не уступает крупнейшим РСУБД по масштабированию, полностью поддерживает n-уровневую распределенную модель базы данных, имеет более развитые возможности по доступу к данным, поставляется вместе с полным набором средств разработки и имеет на вооружении более 4000 готовых к использованию вертикальных и горизонтальных прикладных систем. Более высокая производительность при меньшей стоимости, многомерный подход, простота в использовании и администрировании, а также возможность одновременно нести нагрузку по поддержке решений и обработке транзакций дают ясное представление о ее преимуществах перед реляционными продуктами. Невозможно отрицать тот факт, что многие из крупных производителей РСУБД сегодня либо заключают альянсы с партнерами, либо сами занимаются переработкой архитектуры своих продуктов, продвигая их в сторону поддержки OLAP, и предоставления возможности конечным пользователям просматривать различные типы данных с многомерной точки зрения. Тот факт, что Pick Systems изобрела технологию многомерных баз данных и вывела ее не уровень масштабируемого, высокопроизводительного, общецелевого сервера баз данных, поддерживающего стандарты открытой распределенной базы данных на основе модели клиент-сервер, свидетельствуют о том, что эта компания предлагает более передовую технологию, чем производители РСУБД. Oracle и Informix рассматривают продукты OLAP и многомерные базы данных как дополнение к своим базовым реляционным средам хранения данных. Они попробовали заключить маркетинговые пакты для укрепления своих стратегий в хранении данных. Sybase, IBM и Computer Associates International Inc. утверждают, что все, касающееся OLAP, может быть реализовано в реляционных базах данных, если использовать расширения и объектную технологию. Эта стратегия, получившая название ROLAP (реляционная интерактивная аналитическая обработка) позволяет просматривать данные в различных измерениях, и при этом эти данные необязательно должны находиться отдельно от содержащей их реляционной базы данных. При таком сценарии обработки администратор базы данных определяет уровень матаданных между базой данных и средством их отображения. Далее это средство отображения работает с реляционной базой данных как с многомерной. Хотя это решение обеспечивает хорошую масштабируемость и обработку больших объемов данных большим количеством пользователей (устраняя главный недостаток многомерных баз данных), это требует больших затрат на поддержание уровня метаданных, требования к которому постоянно меняются. Для достижения хорошей производительности при проведении многомерного анализа реляционные базы данных необходимо перепроетировать, чтобы они поддерживали схемы "звезда". Но даже в этом случае производительность быстро падает при реализации более пяти измерений.

D3 заслуживает внимания средних и больших организаций, ищущих высокопроизводительный, экономичный, эффективный, ориентированный на ведение бизнеса, простой в использовании, общецелевой сервер баз данных на основе популярной сегодня многомерной модели. D3 обеспечивает непревзойденную мощность, необходимую для многомерного анализа данных (OLAP) и других задач поддержки решений, внутри общецелевой, оптимизированной на достижение наивысшей производительности СУБД, способной выполнять самую разнообразную обработку. D3 - потрясающе гибкая система! Когда в последний раз Вы встречали базу даных с 25-летними многомерными традициями, способную с одинаковым успехом выполнять требования OLAP, требования поддержки решений и требования трнзаактной обработки? Что, если она может с не меньшим успехом служить Web-сервером и виртуальным складом данных? Все эти свойства вместе взятые делают D3 привлекательной альтернативой для компаний, выбирающих среди реляционных СУБД.

Содержание

Многомерные и специализированные СУБД

По мере роста рынка средств аналитической обработки (OLAP) и складов данных на рынке бах данных появились новые компании-производители программного обеспечения с многомерным подходом. Даже производители реляционных СУБД двинулись в этом направлении, либо заключая партнерские соглашения с этими новыми производителями многомерных СУБД, либо перерабатывая свои продукты собственными силами с тем, чтобы они поддерживали OLAP.

Узнав о существовании Pick-овского подхода, просуществовавшего уже более 25 лет, пользователи, занимющиеся анализом данных, необходимым для поддержки решений на уровне предприятия, перестают считать стандартные ограничения реляционной (двухмерной) технологии приемлимыми. Хотя поначалу многомерная терминология и неожиданно обретенная "свобода" в запросах ошарашивают пользователей, очень скоро они перестают считать чем-то сложным запросы типа "Почему в магазинах к западу от Миссисипи голубые свитера продаются в четверг лучше, чем в субботу?" Они требуют возможности "нарезать" свои данные по стольким осям, сколько потребуется им для ведения бизнеса. Но это признание является своего рода днем падения Бастилии для Pick Systems. Из одинокого волка, обложенного со всех сторон производителями РСУБД, выделяющими огромные средства на маркетинг и готовые засмеять любого, кто хоть как то не вписывается в их подход, Pick Systems сразу превратилась в заслуживающую всяческого уважения компанию. Эта новая "революция" и положительное к ней отношение со стороны основных производителей реляционных баз данных сразу же подняли престиж подхода, исповедуемого фирмой Pick Systems и одобряемого ее клиентами уже более 25 лет. Удивительно, но это движение побудило даже традиционно непоколебимого Эдварда Кодда выдать новые "12 правил OLAP" в качестве продолжения своих знаменитых "12 правил РСУБД" (см. Рис.1 и 2).

Продукты от производителей многомерных баз данных обеспечивают высокую производительность при работе с базами данных объемом до 5 GB и поддерживают обычно более 5 измерений. Часто МСУБД используется небольшим числом пользователей (например, одним отделом). Известны следующие производители в этой области: IRI Express multidimensional OLAP Server (теперь принадлежит компании Oracle), Arbor Essbase, Comshare, Inc. Commander, Pilot Software, Inc. LightShip Server. За последние 5 лет появились также специализированные базы данных, предназначенные специально для создания складов данных и систем поддержки решений, например, Red Brick Warehouse. Эти базы данных могут быстро сортировать и анализировать огромные массивы данных, но они дорогие и могут использоваться только для поддержки решений.

Наиболее распространенная критика многомерных баз данных состоит в том, что будучи хорошо приспособленными для различной аналитической обработки, они лишены той масштабируемости, которой обладают реляционные базы данных. Многие из них ориентированы на PC и ограничены тем, что могут анализировать лишь "выборку" из большого объема данных из традиционных источников, и, прежде чем начинать анализ, эти данные должны быть переформатированы. Клиенты хотели бы, чтобы эти базы данных имели возможность обрабатывать большие объемы данных и поддерживать больше пользователей. Другой аспект, подвергаемый критике, это высокий уровень сложности реализации технологий МСУБД и OLAP, отмечаемый менеджерами информационных систем. Весьма, интересно, что это как раз и есть сильные стороны D3. D3 отличается и масштабируемостью в пределах поддерживаемых платформ, и простотой реализации и эксплуатации.

Исследование Datapro показало, что для конечных пользователей, потребности которых сложны и разнообразны, OLAP-продукты сами по себе недостаточны, и без реляционных баз данных они не могут обойтись. Это говорит о том, что какое-то время реляционные базы данных несомненно будут превосходить по значимости и популярности появляющиеся сегодня многомерные базы данных. Но при этом производители баз данных будут вынуждены обеспечивать поддержку OLAP в сочетании со стандартными типами систем поддержки решений и транзактной обработки. Потребность пользователей в разнообразных способах обработки данных подчеркивает высокие потребительные качества D3. Хотя в основе D3 лежит многомерная технология, эту систему нельзя относить исключительно к инструментам OLAP. D3 - это сервер, обладающий и масштабируемостью, и разнообразными возможностями по обработке данных, присущими многим реляционным базам данных. D3 приносит на рынок богатые многомерные традиции, делающие ее естественным инструментом для OLAP, и одновременно с этим она имеет богатые возможности и обладает повышенной мощностью по обработке информации.

Содержание

Базы данных, эмулирующие Pick

Появение Pick-подобных баз данных свидетельствует о фундаментальности подхода, заложенного в Pick. Заметив эти богатые новые возможности, в начале 80-х годов ряд производителей баз данных приступили к созданию эмуляторов баз данных Pick с целью покрыть новые платформы, в особенности платформы UNIX. Основными эмуляторами Pick являются базы данных фирм Unidata и VMark. Что интересно, Unidata не является лицензионной версией D3, а uniVerse была лицензирована не сразу. Сегодня эти производители, предлагающие главным образом версии для UNIX, конкурируют с D3 и предпочитают называть свои продукты "вложенно-реляционными" или "постреляционными", но не Pick-подобными. Разница между ними и D3 не заметна на первый взгляд, но весьма существенна.

После инсталяции на UNIX-машине, D3 может сглаживать многие недостатки UNIX, например, устанавливать свою собственную файловую систему, но может и использовать файловую систему UNIX. (Обратите внимание: поскольку файловая система Windows NT более развитая, чем файловая система UNIX, D3 использует все ее возможности, когда работает на NT). D3 также устанавливает свою собственную рабочую область для каждого пользователя и свой собственный механизм хеширования диска. Pick имеет свой собственный монитор, который инициализирует и управляет всеми аспектами базы данных, включая разделение пользователями всех программ и файлов данных системы. Аргумент в пользу Pick - это то, что она обеспечивает высокую производительность и экономичное расходование ресурсов, беря на себя полностью функцию управления своей средой, а пользователи могут выбирать по вкусу операционную систему и компьютер, и при этом не зависеть от специфичных для данной операционной среды ограничений и не терять из-за этого производительность.

Pick-подобные базы по другому реализованы. В основу положен принцип многоуровневости, и по этому они целиком и польностью зависят от базовой операционной системы, за исключением нескольких расширенных функций по работе с диском и памятью. При таком сценарии каждый пользователь работает со своей копией СУБД, а разделяемыми являются лишь несколько управляющих файлов. Такой многослойный подход обычно базируется на использовании большой программы-оболочки на С и 85-100 дополнительных программ, занимающих объем от 60 до 120 мб, в зависимости от платформы. Все пользовательские файлы становятся частью файловой системы операционной системы и управляются с помощью физических суперблокировок UNIX и записи inode. Поскольку этот подход очень сильно привязывает к файловой системе хост-компьютера, пользователи попадают в зависимость от блокировочных файлов, управляющих таблиц, объектного кода, таблиц устройств, а также явно примитивной символьной системы чтения/записи с диска, присущих операционной системе UNIX.
 
Насколько D3 фирмы Pick Systems соответствует 12-ти правилам OLAP Э.Кодда

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

  Да/Нет
1. МНОГОМЕРНОЕ КОНЦЕПТУАЛЬНОЕ ПРЕДСТАВЛЕНИЕ - пользователь должен иметь возможность просматривать информационные объекты в нескольких измерениях, например, по времени, региону и т.п.  

2. ПРОЗРАЧНОСТЬ - местонахождение специализированного продукта, обеспечивающего многомерный анализ должно оставаться незаметным для конечного пользователя.  

3. ДОСТУПНОСТЬ - инструмент OLAP должен обладать своей собственной схемой гетерогенного хранения данных.  

4. ПОСТОЯННАЯ ПРОИЗВОДИТЕЛЬНОСТЬ ПРИ ФОРМИРОВАНИИОТЧЕТОВ - по мере возрастания числа измерений пользователь OLAP не должен чувствовать значительного снижения производительности.  

5. АРХИТЕКТУРА КЛИЕНТ/СЕРВЕР - компонент сервера инструмента OLAP должен быть достаточно интеллектуальным, чтобы разные типы клиентов могли присоединяться к нему с минимальными усилиями.  

6. ЕСТЕСТВЕННАЯ РАЗМЕРНОСТЬ - для всех измерений может существовать лишь единственная логическая структура.  

7. ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ РАССЕЯННЫМИ ДАННЫМИ - необходимо эффективное управление рассеянными матрицами (в которых не каждый блок или ячейка содержат данные)  

8. МНОГОПОЛЬЗОВАТЕЛЬСКАЯ ПОДДЕРЖКА - одновременный доступ, защита и целостность данных при многопользовательской обработке.  

9. НЕОГРАНИЧЕННЫЕ ПЕРЕКРЕСТНЫЕ ОПЕРАЦИИ - вычисления и другие операции между измерениями не должны требовать вмешательства пользователя.  

10. ИНТУИТИВНАЯ МАНИПУЛЯЦИЯ ДАННЫМИ - сужение и укрупнение поля обзора, изменение пути консолидации данных и другие манипуляции при анализе и презентации данных.  

11. ГИБКАЯ СИСТЕМА ОТЧЕТОВ - позволяет анализировать, манипулировать и просматривать данные любым желаемым способом.  

12. НЕОГРАНИЧЕННОСТЬ УРОВНЕЙ РАЗМЕРНОСТИ И ГРУППИРОВАНИЯ - любой серьезный инструмент OLAP должен быть в состоянии обеспечить 15 - 20 измерений данных.

Да 
  
 

Да 
  
 

Да 
  

Да 
  
 
 

Да 
  
 

Да 
  

Да 
 
 

Да 
  

Да 
 
 

Да 
  
 

Да 
  

Да

Рис. 1. 12 требований OLAP

Содержание

Еще одним принципиальным отличием D3 фирмы Pick Systems от многослойных баз данных-эмуляций uniVerse и Unidata яавляется область системного администрирования. В D3 администрирование очень простое, заключающееся в стандартном сохранении и восстановлении данных, слежении за размерами файлов и общем превентивном обслуживании. Стандартное же администрирование баз данных-эмуляции обязательно включает в себя, помимо обслуживания СУБД, еще и обслуживание операционной системы UNIX.

Пока есть большой запас ресурсов, пользователь, работающий с приложением или просто делающий запросы к базе данных, не чувствуют разницы между D3 и эмулятором. Но, как только появляется дефицит ресурсов (ОЗУ, диск, персонал, денежные средства и т.д.), базовые различия в архитектуре неожиданно начинают поднимать свои уродливые головы. Хотя производители эмуляторов кинулись устранять эти проблемы, в том числе и путем умного маркетинга, превращая их в преимущества, Datapro считает, что D3 лучше работает с памятью, имеет более эффективную файловую систему и гораздо менее мудреную среду администрирования.
 
Насколько D3 фирмы Pick Systems соответствует 12-ти правилам РСУБД Э.Кодда  

В 1985 году основоположник баз данных Э.Ф.Кодд сформулировал 12 правил для систем управления реляционными базами данных. Кодд сказал, что полностью реляционной может считаться СУБД, удовлетворяющая хотя бы 6-ти из этих правил. 

  Да/Нет
1. ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ - Вся информация в РСУБД на логическом уровне представляется явно и только одни способом - значениями в таблицах.  

2. ГАРАНТИРОВАННЫЙ ЛОГИЧЕСКИЙ ДОСТУП - К любым элементам данных в РСУБД гарантируется логический доступ по имени таблицы, первичному ключу и имени столбца.  

3. СИСТЕМАТИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ОТСУТСТВУЮЩЕЙ ИНФОРМАЦИИ - Для представления факта отсутствия информации поддерживаются пустые значения, причем таким образом, что они не зависят от типа данных.  

4. ДИНАМИЧЕСКИЙ ОПЕРАТИВНЫЙ КАТАЛОГ - Данные, описывающие базу данных, представляются на логическом уровне как обычные данные.  

5. ПОЛНОФУНКЦИОНАЛЬНЫЙ СУБЯЗЫК ДЛЯ РАБОТЫ С ДАННЫМИ - Должен существовать по крайней мере один язык, предложения которого представляются символьными строками, имеют ясный выразительный синтаксис и позволяют выполнять разнообразные операции над базой данных, включая описание данных, описание представлений, манипулирование данными, поддержку целостности, авторизацию, транзактную обработку.  

6. ОБНОВЛЯЕМОСТЬ ПРЕДСТАВЛЕНИЙ - Все представления, которые  теоретически являются обновляемыми, должны также обновляться системой.  

7. ВЫСОКОУРОВНЕВЫЕ ВСТАВКА, ОБНОВЛЕНИЕ И УДАЛЕНИЕ  

8. НЕЗАВИСИМОСТЬ ФИЗИЧЕСКИХ ДАННЫХ - Прикладные программы и действия пользователей логически не меняются при любых изменениях представления памяти или методов доступа.  

9. НЕЗАВИСИМОСТЬ ЛОГИЧЕСКИХ ДАННЫХ - Прикладные программы и действия пользователей логически не меняются при любых изменениях, сделанных в таблицах базы данных.  

10. НЕЗАВИСИМОСТЬ ЦЕЛОСТНОСТИ - Ограничения, обеспечивающие целостность конкретной базы данных, должны задаваться на субязыке РСУБД и храниться в каталоге, а не в прикладной программе.  

11. НЕЗАВИСИМОСТЬ РАСПРЕДЕЛЕННОСТИ - Независимого от того, поддерживает система распределенные базы данных или нет, она должна иметь такой субязык для работы с данными, который в состоянии поддерживать распределенные базы данных, не влияя на логику прикладных программ и действия конечных пользователей.  

12. ПРАВИЛО НЕПРОТИВОРЕЧИВОСТИ - Если в РСУБД имеется язык низкого уровня, то его использование в обход правил и ограничений целостности, заданных на языке высокого уровня, должно быть невозможным.  

* В D3 пустое поле так и хранится как пустое, но, поскольку во всех известных реляционных всегда СУБД можно сбросить удаленное значение в состояние "всегда было пустым", это требование реально не выполняется ни в одной СУБД.

Да  
 
 

Да  
  
 

Нет *  
  
 
 

Да 
 

Да 
  
  
 
 
 
 

Да  
 

Да  

Да  
  
 

Да 
  
 

Да 
  
 

Да 
  
 
 
 

Да

 Рис. 2 - 12 принципов реляционных СУБД
 
Содержание

ПОЗИЦИЯ И СТРАТЕГИЯ НА РЫНКЕ

Продолжая вкладывать большие средства в исследование и разработку, поддерживая технологическое лидерство, фирма Pick Systems вкладывает сейчас немалые средства в то, чтобы обновить положение D3 на рынке. В основном эти средства направляются на то, чтобы обеспечить и пользователям, и разработчикам выход со своими приложениями на рынок NT. Поскольку послужной список системы Pick очень велик, и сущестующие пользователи очень довольны своими прикладными системами, что объясняется главным образом простотой использования и обслуживания, ресселеры и дистрибуторы Pick Systems, нацеленные на рынок NT, должны быть заинтересованы в том, чтобы продвигать свои программные продукты, а не бороться с техническими проблемами, поддерживая своих пользователей.

Рынок продукта D3 производства Pick Systems, Inc. - один из крупнейших в компьютерной индустрии среди независимых производителей программного обеспечения. Продажа на рынке Pick составляет, включая оборудование, программное обеспечение и услуги, более 3-х миллиардов долларов США (всего в мире насчитывается около 4-х миллионов пользователей Pick). Для системы Pick разработано более 4000 коммерческих приложений, что сравнимо с количеством приложений для Microsoft Windows и DOS. Для D3 сейчас доступно около 2000 приложений.

Pick Systems должна продвигать свой мощный жизнеспособный продукт D3 как альтернативу традиционным реляционным базам данных. При должном маркетинге D3 может стать сильным соперником на рынке NT. Pick Systems считает, что многим производителям реляционных баз данных, предлагающим Lite-версии своих продуктов для платформ Microsoft, пришлось урезать их функциональные возможности с тем, чтобы достичь приемлемой производительности. D3же, работая на NT без каких-либо усечений, может поддерживать гораздо больше пользователей, чем конкуренты, не принося в жертву никаких функциональных возможностей. Это должно помочь D3утвердиться на рынке, где привыкли считать деньги и бережно относиться к ресурсам. Pick Systems также заявляет, что D3является прекрасным продуктом для компаний, оценивших воможности многомерной модели данных и склоняющихся к OLAP, но опасающихся сделать решительный шаг потому, что слышали о плохой масштабируемости, сложности инсталяции и админстрирования, а также недостатке многих возможностей в OLAP-ориентированных многомерных СУБД.

Хотя, традиционно, Pick Systems продает свои продукты малым и средним предприятиям, Datapro полагает, что D3 заинтересует и крупные компании, где требуется супермощная и при этом максимально эффективная и дружественная СУБД. Нелишне заметить, что в свое время компании Pick Systems удалось успешно завоевать рынок IBM PC (и совместимых с ним) компьютеров, а также угадать лучшие направления развития UNIX, что поддержало ее рост, в то время, как многие компании потерпели фиаско. Сегодня Pick Systems полностью готова к тому, чтобы извлечь выгоду из быстро растущей популярности NT. Многие потенциальные покупатели, движущиеся в эту сторону рынка, экономны и пристрастны в выборе программных продуктов, ожидая максимальной отдачи от них в бизнесе. Datapro полагает, что клиентам такого типа особенно понравится подход, реализованный фирмой Pick Systems в D3. Если Pick Systems будет и дальше сопутствовать успех, основанный на D3, Datapro не видит помех для выхода этой компании на новые рынки и многократного преумножения ее доходов, сопровождаемого ростом числа дистрибуторов, прикладных систем и конечных пользователей.

Содержание
 
ИНТЕРВЬЮ, РЕЙТИНГ И МНЕНИЯ ПОЛЬЗОВАТЕЛЕЙ

Datapro провела опрос мнения пользователей, выбрав двенадцать компаний из числа дистрибуторов, дилеров и пользователей из списка, представленного компанией Pick Systems. Восемь из них вернули свои отчеты в двухнедельный срок. Мы хотели узнать, что они думают об этом продукте, какие функции и возможности ценят больше всего и какие менее всего или считают слишком ограниченными. Мы попросили пользователей дать оценку в баллах - от 1 (плохо) до 10 (отлично) - различным свойствам продукта, технической поддержке поставщиков и выразить свое мнение о продукте в целом. Затем мы подсчитали среднее значение этих показателей и представили их в таблице 1, "Пользовательские оценки МСУБД Pick в баллах".

Таблица 1. Пользовательские оценки МСУБД Pick в баллах
 
Функция/Возможность  

1. Характеристики  

а) Надежность   
б) Простота в использовании   
в) Простота инсталляции и обновления   
г) Открытая архитектура   

2. Функциональные возможности  

а) Гибкость   
б) Возможности интерфейса   
в) Широта возможностей   
г) Дружественность пользователю   

3. Поддержка продукта  

а) Документация   
б) Обучение проводится производителем   
в) Время реакции на проблемы   
г) Качество поддержки со стороны поставщиков   
д) Частотность релизов   
е) Реакция на запросы пользователей   

4. Общее мнение

Ср.балл(%)  

  

8.6  
9.4  
8.8  
9.2  
  
  

9.25  
7.5  
8.5  
8.75  
  
  

7.6  
7.2  
8.6  
8.8  
8.6  
8.4  

8.5 

 

В следующем разделе отчетов содержались ответы на вопросы конкретного характера. Мы подытожили их в таблице 2 "Мнения пользователей о МСУБД Pick".

Вопрос. Почему в качестве СУБД Вы выбрали Pick?

Ответы:

Вопрос. Назовите самые лучшие, на Ваш взгляд, характеристики. Вопрос. Какие есть ограничения?

Ответы:

Вопрос. Свойства, которое на Ваш взгляд, следует реализовать.

Ответы:

Вопрос. Ваши комментарии.

Ответы:

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

Респонденты работают с многомерными базами данных Pick на различных платформах с операционными системами - от LINUX до AIX и SCO. Некоторые респонденты перед выбором Pick производили оценку альтернатив - UniVerse и Unidata. Все респонденты порекомендовали потенциальным покупателям базу данных Pick.

Важно отметить, что большинство респондентов еще не делали обновления на D3 Release 7.0. Многие очень хотят сделать его в течение 6 - 12 месяцев. Версии баз данных респондентов варьировались от Advanced Pick 5.2.5 до V7.0. Многие недостатки, отмеченные респондентами, уже исправлены в текущей версии D3 или находятся в стадии исправления. Например, версия D3 для NT уже есть. Pick Systems также приняла возражения в области системного администрирования и поставила задачу реализовать графический интерфейс пользователя и расширенные возможности по управлению распределенной средой в следующих релизах.

Содержание