IBM U2
Encyclopedia
Rocket U2 is a suite
of database management
(DBMS) and supporting software now owned by Rocket Software. It includes two MultiValue
database platforms: UniData and UniVerse. Both of these products are operating environment
s which run on current Unix
, Linux
and Windows operating system
s. They are both derivatives
of the Pick operating system
. The family also includes developer
and web-enabling
technologies including SystemBuilder/SB+, RedBack, and wIntegrate.
. UniData was originally developed by the Unidata Corporation for embedding in vertical software applications. In 1997, the Unidata Corporation merged with VMark Systems to form Ardent Software. In March of 2000, Ardent Software was acquired by Informix
. IBM subsequently acquired the database division of Informix in April 2001, making UniVerse and UniData part of IBM's DB2 product family. IBM subsequently created the Information Management group of which Data Management is one of the sub-areas under which the IBM U2 family comprised UniData and UniVerse along with the tools, SystemBuilder Extensible Architecture (SB/XA), U2 Web Development Environment (U2 Web DE) and wIntegrate.
On the 1st of October 2009 it was announced that Rocket Software had purchased the entire U2 portfolio from IBM. The U2 portfolio is grouped under the name RocketU2.
needed for the system to function properly. This includes the system's VOC (vocabulary
) file that contains every command
, filename
, keyword
, alias, script
, and other pointers. Each of these classes of VOC entries can also be created by a user
.
in a relational database
in that each file has a unique name to distinguish it from other files and zero to multiple unique record
s that are logically related to each other.
Files are made of two parts: a data file and a file dictionary (DICT). The data file contains records that store the actual data. The file dictionary contains the metadata
used to describe the contents of the file.
to sort the file's records into groups based on the record ID
s. When searching for data in a hashed file, the system only searches the group where the record ID is stored, making the search process run more efficiently and quickly than searching through the whole file.
, XML
or plain text
. This type of file is stored as a subdirectory within the account directory on the host operating system and may be read or edited using external tools.
Records (including record IDs) store the actual data as pure ASCII
strings; there is no binary data stored in U2. For example, the hardware representation of a floating-point number would be converted to its ASCII equivalent before being stored. Usually these records are divided into field
s (which are sometimes called "attributes" in U2). Each field is separated by a "field mark" (hexadecimal character FE).
Thus this string:
might represent a record in the EMPLOYEE file with 123-45-6789 as the Record ID, JOHN JONES as the first field, jjones@company.com as the second field and $4321.00 as a monthly salary stored in the third field. (The up-arrow (^) above is the standard Pick
notation of a field mark; that is, xFE).
Thus the first three fields of this record, including the record ID and trailing field mark, would use 49 bytes of storage. A given value uses only as many bytes as needed. For example, in another record of the same file, JOHN JONES (10 bytes) may be replaced by MARJORIE Q. HUMPERDINK (21 bytes) yet each name uses only as much storage as it needs, plus one for the field mark.
Fields may be broken down into values and even subvalues. Values are separated by value marks (character xFD); subvalues are separated by subvalue marks (character xFC). Thus, if John Jones happened to get a second email address, the record may be updated to:
where the close bracket (]) represents a value mark.
Since each email address can be the ID of a record in separate file (in SQL terms, an outer join; in U2 terms, a "translate"), this provides the reason why U2 may be classified as a MultiValue
d database.
RocketU2 provides a set of Client Tools to allow software developers to access U2 databases from other software languages.
Client Tool interfaces include:
designations related to the U2 product family through IBM until the end of 2009. All carry the title Certified Solutions Expert.
Product lining
Product lining is the marketing strategy of offering for sale several related products. Unlike product bundling, where several products are combined into one, lining involves offering several related products individually. A line can comprise related products of various sizes, types, colors,...
of database management
Database management system
A database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...
(DBMS) and supporting software now owned by Rocket Software. It includes two MultiValue
MultiValue
MultiValue is a type of multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system....
database platforms: UniData and UniVerse. Both of these products are operating environment
Operating environment
The operating environment in engineering describes the circumstances surrounding and potentially affecting something that is operating. For example electronic or mechanical equipment may be affected by high temperatures, vibration, dust, and other parameters which comprise the operating...
s which run on current Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and Windows operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
s. They are both derivatives
Derivative work
In United States copyright law, a derivative work is an expressive creation that includes major, copyright-protected elements of an original, previously created first work .-Definition:...
of the Pick operating system
Pick operating system
The Pick operating system is a demand-paged, multiuser, virtual memory, time-sharing operating system based around a unique "multivalued" database. Pick is used primarily for business data processing...
. The family also includes developer
Software developer
A software developer is a person concerned with facets of the software development process. Their work includes researching, designing, developing, and testing software. A software developer may take part in design, computer programming, or software project management...
and web-enabling
Web development
Web development is a broad term for the work involved in developing a web site for the Internet or an intranet . This can include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development...
technologies including SystemBuilder/SB+, RedBack, and wIntegrate.
History
UniVerse was originally developed by VMark Systems for vertical application developmentVertical market software
Vertical market software is aimed at addressing the needs of any given business within a discernible vertical market...
. UniData was originally developed by the Unidata Corporation for embedding in vertical software applications. In 1997, the Unidata Corporation merged with VMark Systems to form Ardent Software. In March of 2000, Ardent Software was acquired by Informix
Informix
IBM Informix is a family of relational database management system developed by IBM. It is positioned as IBM's flagship data server for online transaction processing as well as integrated solutions...
. IBM subsequently acquired the database division of Informix in April 2001, making UniVerse and UniData part of IBM's DB2 product family. IBM subsequently created the Information Management group of which Data Management is one of the sub-areas under which the IBM U2 family comprised UniData and UniVerse along with the tools, SystemBuilder Extensible Architecture (SB/XA), U2 Web Development Environment (U2 Web DE) and wIntegrate.
On the 1st of October 2009 it was announced that Rocket Software had purchased the entire U2 portfolio from IBM. The U2 portfolio is grouped under the name RocketU2.
Accounts
Systems are made one or more accounts. Accounts are directories stored on the host operating system that initially contain the set of filesComputer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...
needed for the system to function properly. This includes the system's VOC (vocabulary
Vocabulary
A person's vocabulary is the set of words within a language that are familiar to that person. A vocabulary usually develops with age, and serves as a useful and fundamental tool for communication and acquiring knowledge...
) file that contains every command
Command (computing)
In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell....
, filename
Filename
The filename is metadata about a file; a string used to uniquely identify a file stored on the file system. Different file systems impose different restrictions on length and allowed characters on filenames.A filename includes one or more of these components:...
, keyword
Keyword (computer programming)
In computer programming, a keyword is a word or identifier that has a particular meaning to the programming language. The meaning of keywords — and, indeed, the meaning of the notion of keyword — differs widely from language to language....
, alias, script
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
, and other pointers. Each of these classes of VOC entries can also be created by a user
User (computing)
A user is an agent, either a human agent or software agent, who uses a computer or network service. A user often has a user account and is identified by a username , screen name , nickname , or handle, which is derived from the identical Citizen's Band radio term.Users are...
.
Files
Files are similar to tablesTable (database)
In relational databases and flat file databases, a table is a set of data elements that is organized using a model of vertical columns and horizontal rows. A table has a specified number of columns, but can have any number of rows...
in a relational database
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
in that each file has a unique name to distinguish it from other files and zero to multiple unique record
Row (database)
In the context of a relational database, a row—also called a record or tuple—represents a single, implicitly structured data item in a table. In simple terms, a database table can be thought of as consisting of rows and columns or fields...
s that are logically related to each other.
Files are made of two parts: a data file and a file dictionary (DICT). The data file contains records that store the actual data. The file dictionary contains the metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
used to describe the contents of the file.
Hashed files
For hashed files, a U2 system uses a hashing algorithmHash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...
to sort the file's records into groups based on the record ID
Unique key
In relational database design, a unique key can uniquely identify each row in a table, and is closely related to the Superkey concept. A unique key comprises a single column or a set of columns. No two distinct rows in a table can have the same value in those columns if NULL values are not used...
s. When searching for data in a hashed file, the system only searches the group where the record ID is stored, making the search process run more efficiently and quickly than searching through the whole file.
Nonhashed files
Nonhashed files are used to store data with little or no logical structure such as program source codeSource code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
or plain text
Plain text
In computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....
. This type of file is stored as a subdirectory within the account directory on the host operating system and may be read or edited using external tools.
Records
Files are made of records, which are similar to rows within tables of a traditional relational database. Each record has a unique key (called a "record ID" in U2) to distinguish it from other records in the file. These record IDs are typically hashed so that data can be retrieved quickly and efficiently.Records (including record IDs) store the actual data as pure ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...
strings; there is no binary data stored in U2. For example, the hardware representation of a floating-point number would be converted to its ASCII equivalent before being stored. Usually these records are divided into field
Column (database)
In the context of a relational database table, a column is a set of data values of a particular simple type, one for each row of the table. The columns provide the structure according to which the rows are composed....
s (which are sometimes called "attributes" in U2). Each field is separated by a "field mark" (hexadecimal character FE).
Thus this string:
123-45-6789^JOHN JONES^jjones@company.com^432100^...
might represent a record in the EMPLOYEE file with 123-45-6789 as the Record ID, JOHN JONES as the first field, jjones@company.com as the second field and $4321.00 as a monthly salary stored in the third field. (The up-arrow (^) above is the standard Pick
Pick operating system
The Pick operating system is a demand-paged, multiuser, virtual memory, time-sharing operating system based around a unique "multivalued" database. Pick is used primarily for business data processing...
notation of a field mark; that is, xFE).
Thus the first three fields of this record, including the record ID and trailing field mark, would use 49 bytes of storage. A given value uses only as many bytes as needed. For example, in another record of the same file, JOHN JONES (10 bytes) may be replaced by MARJORIE Q. HUMPERDINK (21 bytes) yet each name uses only as much storage as it needs, plus one for the field mark.
Fields may be broken down into values and even subvalues. Values are separated by value marks (character xFD); subvalues are separated by subvalue marks (character xFC). Thus, if John Jones happened to get a second email address, the record may be updated to:
123-45-6789^JOHN JONES^jjones@company.com]johnnyjones@aol.com^432100^...
where the close bracket (]) represents a value mark.
Since each email address can be the ID of a record in separate file (in SQL terms, an outer join; in U2 terms, a "translate"), this provides the reason why U2 may be classified as a MultiValue
MultiValue
MultiValue is a type of multidimensional database, typically considered synonymous with PICK, a database originally developed as the Pick operating system....
d database.
Data
Raw information is called Data. A record is a set of logical grouped data. e.g. an employee record will have data stored in the form of fields/attributes like his name, address etc.Programmability
Both UniVerse and UniData have a structured BASIC language (UniVerse Basic and UniBasic, respectively), similar to Pick/BASIC which naturally operates on the structures of the MultiValue database. They also have a structured database query language (RetrieVe and UniQuery) used to select records for further processing and for adhoc queries and reports.RocketU2 provides a set of Client Tools to allow software developers to access U2 databases from other software languages.
Client Tool interfaces include:
- ODBC / JDBC
- UniOLEDB - OLEDB Driver
- UniObjects (COM)
- UniObjects (.NET)
- UniObjects (Java)
- Native XML
- U2 Web Services
Professional certification
RocketU2 offers seven professional certificationProfessional certification (Computer technology)
Professional certifications in computer technology are non-degree awards made to those who have achieved qualifications specified by a certifying authority. Depending on the particular certification, qualifications may include completing a course of study, proof of professional accomplishments,...
designations related to the U2 product family through IBM until the end of 2009. All carry the title Certified Solutions Expert.
- U2 Family Application Development
- U2 UniData V5.2 Administrator
- U2 UniData V6.1 Administration
- U2 UniData V7.1 Administration
- U2 UniVerse V9.6 Administration
- U2 UniVerse V10.1 Administration
- U2 UniVerse V10.2 Administration