This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Rocket U2" – news ·newspapers ·books ·scholar ·JSTOR(September 2014) (Learn how and when to remove this message) |
This articlefocuses too much on specific examples. Please helpimprove it by adding sources thatevaluate within broader context. Relevant discussion may be found on thetalk page.(February 2015) (Learn how and when to remove this message) |
| Rocket U2 Product Family | |
|---|---|
![]() | |
| Developer | Rocket Software |
| Initial release | 1987 |
| Stable release | UniData 8.1, UniVerse 12.1.1, SB+ 6.5.6, Web DE 5.1.2 / January 7, 2022; 4 years ago (2022-01-07) |
| Written in | C,C++, UniBasic,Python |
| Platform | Linux,Unix,Windows |
| Type | MultiValue |
| License | Proprietary |
| Website | rocketsoftware |
Rocket U2 is asuite ofdatabase management (DBMS) and supporting software now owned byRocket Software. It includes twoMultiValue database platforms:UniData andUniVerse.[1] Both of these products areoperating environments which run on currentUnix,Linux andWindowsoperating systems.[2][3] They are bothderivatives of thePick operating system.[4] The family also includesdeveloper andweb-enabling technologies includingSB/XA (sometimes known asSB+ or SystemBuilder),U2 Web Development Environment (WebDE),UniObjects connectivityAPI andwIntegrate terminal emulation software.[1]
UniVerse was originally developed by VMark Software and UniData was originally developed by the Unidata Corporation. Both Universe and Unidata are used forvertical application development and are embedded into the vertical software applications. In 1997, the Unidata Corporation merged with VMark Systems to form Ardent Software.[5] In March 2000, Ardent Software was acquired byInformix.[5] IBM subsequently acquired the database division of Informix in April 2001,[6] 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 1 October 2009 it was announced that Rocket Software had purchased the entire U2 portfolio from IBM.[7][8] The U2 portfolio is grouped under the name RocketU2.
Systems are made of one or more accounts. Accounts are directories stored on the host operating system that initially contain the set offiles needed for the system to function properly. This includes the system's VOC (vocabulary) file that contains everycommand,filename,keyword,alias,script, and otherpointers. Each of these classes of VOC entries can also be created by auser.
Files are similar totables in arelational database in that each file has a unique name to distinguish it from other files and zero to multiple uniquerecords 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 may containmetadata to describe the contents or to output the contents of a file.
For hashed files, a U2 system uses ahashing algorithm to allocate the file's records into groups based on therecord IDs. When searching for data in a hashed file, the system only searches the group where the record ID is stored, making the search process more efficient and quicker than searching through the whole file.
Nonhashed files are used to store data with little or no logical structure such as programsource code,XML orplain 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 appropriate tools.
Files are made of records, which are similar to rows within tables of a relational database. Each record has a unique key (called a "record ID") 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 pureASCII 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 intofields (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@example.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@example.com as the second field and $4321.00 as a monthly salary stored in the third field. (The up-arrow (^) above is the standardPick 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@example.com]johnnyjones@example.net^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, anouter join; in U2 terms, a "translate"), this provides the reason why U2 may be classified as aMultiValued database.
Raw information is called Data. A record is a set of logicalgrouped data. e.g. an employee record will have data stored in the form of fields/attributes like his name, address etc.
Both UniVerse and UniData have astructured 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 ad hoc queries and reports.
RocketU2 provides a set of Client Tools to allow software developers to access U2 databases from other software languages.[9]
Client Tool interfaces include:
Both UniVerse and UniData support TLS transport level data encryption and record and file level encryption of data at rest using OpenSSL. Additional API encryption functionality is also available to allow custom solutions or meet specific regulatory requirements.
RocketU2 offers threeprofessional certification designations related to the U2 product family.[10]
Rocket Software Universe and Unidata have limited ability to create web-based front-ends to Universe/UniData content. Since Rocket Software provides SQL access to its database products, a SQL-based product can be used to build a web-based UI to the databases; regardless of using Files or Tables in U2. A third-party application framework, can be used to build such web interfaces.