Разработчик | Дон Нельсон, Ричард А. (Дик) Пик, TRW |
---|---|
Написано на | языке ассемблера |
Первоначальный выпуск | 1965 (GIRLS ), 1973 (операционная система Reality) |
Маркетинговая цель | Бизнес обработка данных |
Доступно на | английском |
платформах | Solaris, Linux, AIX, Windows Server ( 2000 и выше) |
Ядро тип | Монолитное (или нет для реализаций операционной среды ) |
По умолчанию пользовательский интерфейс | Текстовый |
Лицензия | Собственная |
Операционная система Pick (часто называемая просто «системой Pick » или просто «Pick») - это со страницами по требованию, многопользовательская, виртуальная память, разделение времени компьютер операционная система на основе уникальной базы данных MultiValue. Выбор используется в основном для обработки данных бизнеса. Он назван в честь одного из разработчиков, Ричарда А. (Дика) Пика.
Термин «система выбора» также стал использоваться в качестве общего названия всех операционных сред, которые использовать эту многозначную базу данных и иметь некоторую реализацию запросов Pick / BASIC и ENGLISH / Access. Хотя Pick начинался с множества миникомпьютеров, система и ее различные реализации в конечном итоге распространились на широкий спектр микрокомпьютеров, персональных компьютеров и мэйнфреймов.
Операционная система Pick состоит из базы данных, словаря, языка запросов, процедурного языка (PROC), управления периферийными устройствами, -управление пользователями и скомпилированный язык программирования BASIC.
База данных представляет собой систему управления данными 'hash-file '. Хэш-файловая система - это набор динамических ассоциативных массивов, которые организованы вместе, связаны и управляются с помощью ассоциативных файлов в качестве системы управления базами данных. Будучи ориентированным на хэш-файлы, Pick обеспечивает эффективное время доступа к данным. Первоначально все структуры данных в Pick были хэш-файлами (на самом низком уровне), что означает, что записи хранятся как связанные пары первичного ключа с набором значений. Сегодня система Pick также может напрямую обращаться к файлам хоста в Windows или Unix в любом формате.
База данных Pick делится на одну или несколько учетных записей, главных словарей, словарей, файлов и субфайлов, каждый из которых является файлом, ориентированным на хэш-таблицу. Эти файлы содержат записи, состоящие из полей, подполей и подполей. В Pick записи называются элементами, поля - атрибутами, а подполя - значениями или вложенными значениями (отсюда и современный ярлык «многозначная база данных»). Все элементы имеют переменную длину, поля и значения отмечены специальными разделителями, так что любой файл, запись или поле может содержать любое количество записей нижнего уровня сущности. В результате элемент выбора (запись) может представлять собой единое целое (один полный счет-фактуру, заказ на покупку, заказ на продажу и т. Д.) Или быть похожим на файл в большинстве обычных систем. Сущности, которые хранятся как «файлы» в других обычных системах (например, исходные программы и текстовые документы), должны храниться как записи в файлах на Pick.
Иерархия файлов примерно эквивалентна обычному Unix-подобная иерархия каталогов, подкаталогов и файлов. Главный словарь похож на каталог тем, что в нем хранятся указатели на другие словари, файлы и исполняемые программы. Главный словарь также содержит язык командной строки.
Все файлы (учетные записи, словари, файлы, суб-файлы) организованы одинаково, как и все записи. Эта единообразие используется во всей системе как с помощью системных функций, так и с помощью команд системного администрирования. Например, команда «найти» найдет и сообщит о вхождении слова или фразы в файле и может работать с любой учетной записью, словарем, файлом или суб-файлом.
Каждая запись должна иметь уникальный первичный ключ, который определяет, где в файле хранится эта запись. Чтобы получить запись, ее ключом является хеш, а результирующее значение указывает, в каком из набора дискретных «сегментов» (называемых «группами») искать запись. (Внутри корзины записи сканируются последовательно.) Следовательно, большинство записей (например, полный документ) можно прочитать с помощью одной единственной операции чтения с диска. Этот же метод используется для записи записи обратно в ее правильное «ведро».
В своей первоначальной реализации записи Pick были ограничены общим размером 32 КБ (при стоимости жесткого диска 10 МБ US $ 5000), хотя это ограничение было снято в 1980-х годах. Файлы могут содержать неограниченное количество записей, но эффективность извлечения определяется количеством записей относительно количества сегментов, выделенных для файла. Каждому файлу может быть первоначально выделено столько сегментов, сколько требуется, хотя изменение этого объема позже может (для некоторых типов файлов) потребовать, чтобы файл был неподвижным. Все современные многозначные базы данных имеют специальный тип файла, который динамически изменяется по мере использования файла. В них используется метод, называемый линейным хешированием, стоимость которого пропорциональна изменению размера файла, а не (как в обычных хешированных файлах) самому размеру файла. Все файлы начинаются как непрерывная группа страниц на диске и растут за счет связывания дополнительных страниц «переполнения» из неиспользуемого дискового пространства.
Первоначальные реализации Pick не имели структур индексов, так как не считались необходимыми. Примерно в 1990 году была добавлена функция индексирования B-tree. Эта функция заставляет поиск по вторичному ключу работать так же, как запросы по ключу любой другой системы баз данных: требуется как минимум два чтения с диска (чтение ключа, затем чтение записи данных).
Файлы данных выбора обычно имеют два уровня. Первый уровень известен как «словарный» и является обязательным. Он содержит:
Файлы, созданные только с одним уровнем, по умолчанию являются файлами словарей. Некоторые версии системы Pick позволяют связать несколько уровней данных с одним файлом уровня словаря, и в этом случае в файле словаря будет несколько идентификаторов уровня данных.
В базе данных Pick нет данных с типом , поскольку все данные хранятся в виде символов, включая числа (которые хранятся в виде десятичных знаков). Данные целостность контролируется не системой, а приложениями и дисциплиной программистов. Поскольку логический документ в Pick не фрагментирован (как в SQL), целостность внутри записи выполняется автоматически.
В отличие от многих систем баз данных SQL , Pick позволяет использовать несколько предварительно вычисленных псевдонимов полей. Например, поле даты может иметь определение псевдонима для формата «12 октября 1999 года» и другой псевдоним, форматирующий это же поле даты как «10/12/99». Перекрестные соединения или объединения файлов обрабатываются как определение синонима внешнего ключа. Данные клиента, такие как имя и адрес, «объединяются» из файла клиента в файл счета-фактуры посредством определения синонима «номера клиента» в словаре «счета-фактуры».
Структура записи выбора отдает предпочтение композиции, отличной от первой нормальной формы, когда все данные для объекта хранятся в одной записи, что устраняет необходимость выполнять соединения. Такое управление большими разреженными наборами данных может привести к эффективному использованию дискового пространства. Вот почему эти базы данных иногда называют базами данных NF2 или NF-squared.
Pick изначально был реализован как G обобщенная I информация R etrieval L anguage S ystem (GIRLS) на IBM System / 360 в 1965 году Доном Нельсоном и Ричардом (Диком) Пиком в TRW, чей государственный контракт на Cheyenne Вертолетный проект потребовал создания базы данных. Предполагалось, что он будет использоваться США. Армия контролировала запасы частей вертолета Cheyenne.
Pick был впоследствии коммерчески выпущен в 1973 г. компанией Microdata Corporation (и ее британским дистрибьютором CMC) в качестве Операционная система Reality теперь поставляется Northgate Information Solutions. Макдоннелл Дуглас купил Microdata в 1981 году.
Первоначально в реализации Microdata, а затем внедрен во всех системах Pick, BASIC язык под названием Data / BASIC с многочисленными расширениями синтаксиса для интерфейса интеллектуального терминала и операций с базами данных был основным языком программирования для приложений. Для выполнения сценариев был предоставлен процедурный язык PROC. Язык в стиле SQL, называемый АНГЛИЙСКИЙ, разрешал извлечение базы данных и создание отчетов, но не обновления (хотя позже команда АНГЛИЙСКОГО «REFORMAT» разрешала обновления на пакетной основе). АНГЛИЙСКИЙ не позволял полностью манипулировать трехмерной многозначной структурой записей данных. Также он не предоставлял напрямую общих реляционных возможностей, таких как объединяет. Это произошло потому, что мощные переопределения словаря данных для поля позволяли объединять через выполнение вычисленного поиска в другом файле. В систему включен спулер . Был предоставлен простой для записей файловой системы, но редактор подходил только для обслуживания системы и не мог блокировать записи, поэтому большинство приложений были написаны с помощью других инструментов, таких как пакетная обработка, RPL или язык BASIC, чтобы гарантировать данные. проверка и разрешить блокировку записи.
К началу 1980-х наблюдатели видели в операционной системе Pick сильного конкурента Unix. BYTE в 1984 году заявил, что «Pick прост и эффективен, и, похоже, быть также эффективным и надежным... поскольку он хорошо работает в качестве многопользовательской системы, это, вероятно, самый экономичный способ использования XT ". Дик Пик основал компанию Pick Associates, позже переименованную в Pick Systems, затем Raining Data, а с 2011 года - TigerLogic, а позднее - Rocket Software. Он передал лицензию на «Pick» большому количеству производителей и продавцов, которые производили различные «вкусы» Pick. TigerLogic продавал базы данных D3, mvBase и mvEnterprise. Те, которые ранее продавались IBM под маркой «U2 », известны как UniData и UniVerse. Rocket Software приобрела семейство продуктов IBM U2 в 2010 году и продукты семейства TigerLogic D3 и mvBase в 2014 году.
Дик Пик умер от инсульта в октябре 1994 года.
Пик Системы часто оказывались запутанными в судебных процессах по лицензированию и уделяли относительно мало усилий маркетингу и совершенствованию своего программного обеспечения. Последующие порты Pick на другие платформы обычно предлагали одни и те же инструменты и возможности в течение многих лет, обычно с относительно небольшими улучшениями и просто переименованными (например, Data / BASIC стал Pick / BASIC, а ENGLISH стал ACCESS ). Лицензиаты часто разрабатывали собственные вариации и улучшения (например, Microdata создала собственный процессор ввода под названием ScreenPro).
База данных Pick была лицензирована примерно трем десяткам лицензиатов в период с 1978 по 1984 год. Реализации, совместимые с приложениями, превратились в производные, а также послужили источником создания подобных систем.
Благодаря вышеперечисленным и другим реализациям, системы, подобные Pick, стали доступны как среды баз данных / программирования / эмуляции, работающие под многими вариантами Unix и Microsoft Windows.
За прошедшие годы многие важные и широко используемые приложения были написаны с использованием Pick или одной из его производных реализаций. Как правило, конечные пользователи этих приложений не знают о базовой реализации Pick.
Native Pick не требовала для работы базовой операционной системы (ОС). Позже это изменилось в более поздних реализациях, когда для Pick требовалась ОС хоста (Windows, Linux, Unix и т. Д.). В то время как ОС хоста обеспечивала доступ к аппаратным ресурсам (процессор, память, хранилище и т. Д.), У Pick были внутренние процессы для управления памятью. Объектно-ориентированный Caché решил некоторые из этих проблем.
Работа в сети в mvBase была невозможна без сопутствующего приложения, работающего в ОС хоста, которое могло бы управлять сетевыми соединениями через порты TCP и передавать их во внутреннюю сеть Pick (через последовательное соединение
Отдельные учетные записи пользователей должны быть созданы в ОС Pick и не могут быть привязаны к внешнему источнику (например, локальным учетным записям в ОС хоста или LDAP ).
Пароли пользователей хранятся в Pick OS в зашифрованном виде. Зашифрованный пароль может быть «взломан» методами грубой силы, но требует доступа к системе и навыков программирования Pick как части вектора атаки.
Реализация Rocket D3 поддерживает шифрование файлов SSL.
Компании, желающие нанять разработчиков и обслуживающий персонал для систем на основе MultiValue (на основе выбора), признают, что Хотя разработчики обычно не изучают окружающую среду на курсах колледжей и университетов, разработчики могут быстро работать продуктивно, обладая наставничеством и обучением. Из-за эффективного дизайна и характера языка программирования (вариант BASIC) кривая обучения обычно считается низкой. Продукты Pick, такие как D3, UniVerse, UniData, jBASE, Revelation, MVON, Caché, OpenQM и Reality, по-прежнему поддерживаются во всем мире через хорошо налаженные каналы распространения и торговых посредников. Группа Google mvdbms - это полезное место для начала поиска ресурсов.
ОС Pick предлагает сравнение с MUMPS, которое превратилось в Caché. Сходства включают: