Rocket U2 es una suite de gestión de bases de datos (DBMS) y software de soporte que ahora es propiedad de Rocket Software . Incluye dos plataformas de bases de datos MultiValue : UniData y UniVerse . [1] Ambos productos son entornos operativos que se ejecutan en los sistemas operativos Unix , Linux y Windows actuales . [2] [3] Ambos son derivados del sistema operativo Pick . [4] La familia también incluye tecnologías para desarrolladores y habilitación web , incluidas SB/XA ( a veces conocida como SB+ o SystemBuilder ), U2 Web Development Environment (WebDE), UniObjects Connectivity API y el software de emulación de terminal wIntegrate . [1]
UniVerse fue desarrollado originalmente por VMark Software y UniData fue desarrollado originalmente por Unidata Corporation. Tanto Universe como Unidata se utilizan para el desarrollo de aplicaciones verticales y están integrados en las aplicaciones de software verticales. En 1997, Unidata Corporation se fusionó con VMark Systems para formar Ardent Software. [5] En marzo de 2000, Ardent Software fue adquirida por Informix . [5] Posteriormente, IBM adquirió la división de bases de datos de Informix en abril de 2001, [6] haciendo que UniVerse y UniData fueran parte de la familia de productos DB2 de IBM. Posteriormente, IBM creó el grupo de Gestión de la información, del cual la Gestión de datos es una de las subáreas bajo las cuales la familia IBM U2 comprendía UniData y UniVerse junto con las herramientas SystemBuilder Extensible Architecture (SB/XA), U2 Web Development Environment (U2 Web DE) y wIntegrate.
El 1 de octubre de 2009 se anunció que Rocket Software había comprado toda la cartera de U2 de IBM. [7] [8] La cartera de U2 está agrupada bajo el nombre RocketU2.
Los sistemas están formados por una o más cuentas. Las cuentas son directorios almacenados en el sistema operativo host que inicialmente contienen el conjunto de archivos necesarios para que el sistema funcione correctamente. Esto incluye el archivo VOC ( vocabulario ) del sistema que contiene cada comando , nombre de archivo , palabra clave , alias , script y otros indicadores . Cada una de estas clases de entradas VOC también puede ser creada por un usuario .
Los archivos son similares a las tablas de una base de datos relacional en el sentido de que cada archivo tiene un nombre único para distinguirlo de otros archivos y de cero a varios registros únicos que están relacionados lógicamente entre sí.
Los archivos se componen de dos partes: un archivo de datos y un diccionario de archivos (DICT). El archivo de datos contiene registros que almacenan los datos reales. El diccionario de archivos puede contener metadatos para describir el contenido o para generar el contenido de un archivo.
En el caso de los archivos con algoritmo hash, un sistema U2 utiliza un algoritmo hash para asignar los registros del archivo a grupos según los identificadores de registro . Al buscar datos en un archivo con algoritmo hash, el sistema solo busca en el grupo donde se almacena el identificador de registro, lo que hace que el proceso de búsqueda sea más eficiente y rápido que buscar en todo el archivo.
Los archivos sin hash se utilizan para almacenar datos con poca o ninguna estructura lógica, como código fuente de programas , XML o texto sin formato . Este tipo de archivo se almacena como un subdirectorio dentro del directorio de la cuenta en el sistema operativo host y se puede leer o editar con las herramientas adecuadas.
Los archivos están formados por registros, que son similares a las filas dentro de las tablas de una base de datos relacional. Cada registro tiene una clave única (denominada "ID de registro") para distinguirlo de otros registros del archivo. Estos ID de registro suelen estar codificados para que los datos se puedan recuperar de forma rápida y eficaz.
Los registros (incluidos los identificadores de registro) almacenan los datos reales como cadenas ASCII puras ; no hay datos binarios almacenados en U2. Por ejemplo, la representación de hardware de un número de punto flotante se convertiría a su equivalente ASCII antes de almacenarse. Por lo general, estos registros se dividen en campos (que a veces se denominan "atributos" en U2). Cada campo está separado por una "marca de campo" (carácter hexadecimal FE).
Así que esta cadena:
123-45-6789^JOHN JONES^[email protected]^432100^...
podría representar un registro en el archivo EMPLEADO con 123-45-6789 como ID de registro, JOHN JONES como primer campo, [email protected] como segundo campo y $4321.00 como salario mensual almacenado en el tercer campo. (La flecha hacia arriba (^) anterior es la notación Pick estándar de una marca de campo; es decir, xFE).
Por lo tanto, los tres primeros campos de este registro, incluido el ID del registro y la marca del campo final, utilizarían 49 bytes de almacenamiento. Un valor determinado utiliza solo la cantidad de bytes necesaria. Por ejemplo, en otro registro del mismo archivo, JOHN JONES (10 bytes) puede reemplazarse por MARJORIE Q. HUMPERDINK (21 bytes), pero cada nombre utiliza solo la cantidad de almacenamiento que necesita, más uno para la marca del campo.
Los campos se pueden dividir en valores e incluso subvalores. Los valores se separan mediante marcas de valor (carácter xFD); los subvalores se separan mediante marcas de subvalor (carácter xFC). Por lo tanto, si John Jones obtiene una segunda dirección de correo electrónico, el registro se puede actualizar a:
123-45-6789^JOHN JONES^[email protected]][email protected]^432100^...
donde el corchete de cierre (]) representa una marca de valor.
Dado que cada dirección de correo electrónico puede ser el ID de un registro en un archivo separado (en términos de SQL, una unión externa ; en términos de U2, una "traducción"), esto proporciona la razón por la cual U2 puede clasificarse como una base de datos multivalor .
La información en bruto se denomina datos. Un registro es un conjunto de datos agrupados de forma lógica . Por ejemplo, el registro de un empleado tendrá datos almacenados en forma de campos o atributos, como su nombre, dirección, etc.
Tanto UniVerse como UniData tienen un lenguaje BASIC estructurado (UniVerse Basic y UniBasic, respectivamente), similar a Pick/BASIC, que opera naturalmente sobre las estructuras de la base de datos MultiValue. También tienen un lenguaje de consulta de base de datos estructurado (RetrieVe y UniQuery) que se utiliza para seleccionar registros para su posterior procesamiento y para consultas e informes ad hoc.
RocketU2 proporciona un conjunto de herramientas de cliente que permiten a los desarrolladores de software acceder a las bases de datos de U2 desde otros lenguajes de software. [9]
Las interfaces de la herramienta cliente incluyen:
Tanto UniVerse como UniData admiten el cifrado de datos a nivel de transporte TLS y el cifrado de datos en reposo a nivel de registro y archivo mediante OpenSSL. También hay disponible una funcionalidad de cifrado API adicional para permitir soluciones personalizadas o cumplir con requisitos normativos específicos.
RocketU2 ofrece tres designaciones de certificación profesional relacionadas con la familia de productos U2. [10]
Rocket Software Universe y Unidata tienen una capacidad limitada para crear interfaces web para el contenido de Universe/UniData. Dado que Rocket Software proporciona acceso SQL a sus productos de base de datos, se puede utilizar un producto basado en SQL para crear una interfaz de usuario web para las bases de datos, independientemente de si se utilizan archivos o tablas en U2. Se puede utilizar un marco de aplicación de terceros para crear dichas interfaces web.