Rocket U2 — это пакет управления базами данных (СУБД) и вспомогательного программного обеспечения, который теперь принадлежит Rocket Software . Он включает в себя две платформы баз данных MultiValue : UniData и UniVerse . [1] Оба эти продукта представляют собой операционные среды , работающие в современных операционных системах Unix , Linux и Windows . [2] [3] Они оба являются производными операционной системы Pick . [4] В семейство также входят технологии для разработчиков и веб-технологий , включая SB/XA ( иногда известный как SB+ или SystemBuilder ), среду веб-разработки U2 (WebDE), API подключения UniObjects и программное обеспечение для эмуляции терминала wIntegrate . [1]
UniVerse изначально был разработан VMark Software, а UniData — корпорацией Unidata. И Universe, и Unidata используются для разработки вертикальных приложений и встраиваются в вертикальные программные приложения. В 1997 году корпорация Unidata объединилась с VMark Systems и образовала Ardent Software. [5] В марте 2000 года компания Ardent Software была приобретена Informix . [5] Впоследствии IBM приобрела подразделение баз данных Informix в апреле 2001 года, [6] сделав UniVerse и UniData частью семейства продуктов IBM DB2. Впоследствии IBM создала группу управления информацией, в которой управление данными является одной из подобластей, в рамках которой семейство IBM U2 включало UniData и UniVerse, а также инструменты: расширяемую архитектуру SystemBuilder (SB/XA), среду веб-разработки U2 (U2 Web DE). ) и wIntegrate.
1 октября 2009 года было объявлено, что Rocket Software приобрела у IBM весь портфель U2. [7] [8] Портфолио U2 сгруппировано под названием RocketU2.
Системы состоят из одной или нескольких учетных записей. Учетные записи — это каталоги, хранящиеся в операционной системе хоста, которые изначально содержат набор файлов , необходимых для правильной работы системы. Сюда входит системный файл VOC ( словарь ), который содержит каждую команду , имя файла , ключевое слово , псевдоним , сценарий и другие указатели . Каждый из этих классов записей VOC также может быть создан пользователем .
Файлы похожи на таблицы в реляционной базе данных тем, что каждый файл имеет уникальное имя, позволяющее отличить его от других файлов, а также от нуля до нескольких уникальных записей , логически связанных друг с другом.
Файлы состоят из двух частей: файла данных и файлового словаря (DICT). Файл данных содержит записи, в которых хранятся фактические данные. Словарь файлов может содержать метаданные для описания содержимого или вывода содержимого файла.
Для хешированных файлов система U2 использует алгоритм хеширования для распределения записей файла по группам на основе идентификаторов записей . При поиске данных в хешированном файле система ищет только группу, в которой хранится идентификатор записи, что делает процесс поиска более эффективным и быстрым, чем поиск по всему файлу.
Нехешированные файлы используются для хранения данных с небольшой логической структурой или вообще без нее, таких как исходный код программы , XML или простой текст . Файлы этого типа хранятся в виде подкаталога в каталоге учетной записи в операционной системе хоста и могут быть прочитаны или отредактированы с помощью соответствующих инструментов.
Файлы состоят из записей, которые аналогичны строкам в таблицах реляционной базы данных. Каждая запись имеет уникальный ключ (называемый «идентификатором записи»), позволяющий отличить ее от других записей в файле. Эти идентификаторы записей обычно хешируются, чтобы данные можно было быстро и эффективно получить.
Записи (включая идентификаторы записей) хранят фактические данные в виде чистых строк ASCII ; в U2 не хранятся двоичные данные. Например, аппаратное представление числа с плавающей запятой перед сохранением будет преобразовано в его эквивалент ASCII. Обычно эти записи делятся на поля (которые в U2 иногда называются «атрибутами»). Каждое поле разделено «меткой поля» (шестнадцатеричный символ FE).
Таким образом, эта строка:
123-45-6789^JOHN JONES^[email protected]^432100^...
может представлять запись в файле EMPLOYEE с 123-45-6789 в качестве идентификатора записи, JOHN JONES в качестве первого поля, [email protected] в качестве второго поля и $4321,00 в качестве ежемесячной зарплаты, хранящейся в третьем поле. (Стрелка вверх (^) выше — это стандартное обозначение метки поля, то есть xFE).
Таким образом, первые три поля этой записи, включая идентификатор записи и конечную метку поля, будут использовать 49 байт памяти. Данное значение использует ровно столько байтов, сколько необходимо. Например, в другой записи того же файла ДЖОН ДЖОНС (10 байт) может быть заменен на МАРДЖОРИ К. ХАМПЕРДИНК (21 байт), однако каждое имя использует ровно столько памяти, сколько ему необходимо, плюс еще один для отметки поля.
Поля могут быть разбиты на значения и даже подзначения. Значения разделяются знаками значений (символ xFD); подзначения разделяются метками подзначений (символ xFC). Таким образом, если Джон Джонс получил второй адрес электронной почты, запись может быть обновлена следующим образом:
123-45-6789^JOHN JONES^[email protected]][email protected]^432100^...
где закрывающая скобка (]) представляет собой знак значения.
Поскольку каждый адрес электронной почты может быть идентификатором записи в отдельном файле (в терминах SQL — внешнее соединение ; в терминах U2 — «перевод»), это объясняет, почему U2 можно классифицировать как многозначную базу данных.
Необработанная информация называется данными. Запись представляет собой набор логически сгруппированных данных . например, запись о сотруднике будет содержать данные, хранящиеся в виде полей/атрибутов, таких как его имя, адрес и т. д.
И UniVerse, и UniData имеют структурированный язык BASIC (UniVerse Basic и UniBasic соответственно), аналогичный Pick/BASIC, который естественным образом работает со структурами базы данных MultiValue. У них также есть структурированный язык запросов к базе данных (RetrieVe и UniQuery), используемый для выбора записей для дальнейшей обработки, а также для специальных запросов и отчетов.
RocketU2 предоставляет набор клиентских инструментов, позволяющих разработчикам программного обеспечения получать доступ к базам данных U2 с других языков программного обеспечения. [9]
Интерфейсы клиентского инструмента включают в себя:
И UniVerse, и UniData поддерживают шифрование данных на транспортном уровне TLS, а также шифрование хранящихся данных на уровне записей и файлов с использованием OpenSSL. Также доступны дополнительные функции шифрования API, позволяющие создавать индивидуальные решения или соответствовать конкретным нормативным требованиям.
RocketU2 предлагает три профессиональных сертификата , относящихся к семейству продуктов U2. [10]
Rocket Software Universe и Unidata имеют ограниченные возможности по созданию веб-интерфейсов для контента Universe/UniData. Поскольку Rocket Software предоставляет SQL-доступ к своим продуктам баз данных, продукт на основе SQL можно использовать для создания веб-интерфейса пользователя к базам данных; независимо от использования файлов или таблиц в U2. Для создания таких веб-интерфейсов можно использовать стороннюю платформу приложений.