この記事は具体的な例に重点を置きすぎています。(2015年2月) |
| Rocket U2 製品ファミリー | |
|---|---|
![]() | |
| 開発元 | ロケットソフトウェア |
| 初回リリース | 1987 |
| 安定版リリース | UniData 8.1、UniVerse 12.1.1、SB+ 6.5.6、Web DE 5.1.2 / 2022年1月7日 ( 2022-01-07 ) |
| 言語 | C、C++、UniBasic、Python |
| プラットフォーム | Linux、Unix、Windows |
| タイプ | マルチバリュー |
| ライセンス | 独自の |
| ウェブサイト | ロケットソフトウェア |
Rocket U2は、現在Rocket Softwareが所有するデータベース管理(DBMS)およびサポートソフトウェアのスイートです。これには、 UniDataとUniVerseという2つのMultiValueデータベースプラットフォームが含まれます。[ 1 ] これらの製品はどちらも、現在のUnix、Linux、およびWindowsオペレーティングシステムで実行されるオペレーティング環境です。[ 2 ] [ 3 ] どちらもPickオペレーティングシステムの派生製品です。[ 4 ]このファミリには、SB/XA(SB+またはSystemBuilderと呼ばれることもあります)、U2 Web開発環境(WebDE)、UniObjects接続API、wIntegrate端末エミュレーションソフトウェアなどの開発者およびWeb対応テクノロジも含まれています。[ 1 ]
UniVerseはもともとVMark Softwareによって開発され、UniDataはもともとUnidata Corporationによって開発されました。UniverseとUnidataは両方とも垂直アプリケーション開発に使用され、垂直ソフトウェアアプリケーションに組み込まれています。1997年、Unidata CorporationはVMark Systemsと合併してArdent Softwareを設立しました。[ 5 ] 2000年3月、Ardent SoftwareはInformixに買収されました。[ 5 ] その後、IBMは2001年4月にInformixのデータベース部門を買収し、[ 6 ] UniVerseとUniDataはIBMのDB2製品ファミリーの一部となりました。IBMはその後、情報管理グループを設立し、そのサブエリアの1つにデータ管理があり、IBM U2ファミリーはUniDataとUniVerseに加えて、ツールのSystemBuilder Extensible Architecture(SB/XA)、U2 Web Development Environment(U2 Web DE)、wIntegrateで構成されています。
2009年10月1日、Rocket SoftwareがIBMからU2ポートフォリオ全体を買収したことが発表されました。[ 7 ] [ 8 ] U2ポートフォリオはRocketU2という名前でグループ化されています。
システムは1つ以上のアカウントで構成されています。アカウントはホストオペレーティングシステムに保存されるディレクトリであり、システムが正常に機能するために必要な一連のファイルが最初に含まれています。これには、すべてのコマンド、ファイル名、キーワード、エイリアス、スクリプト、その他のポインターを含むシステムのVOC(語彙)ファイルが含まれます。これらの各クラスのVOCエントリは、 ユーザーによって作成することもできます
ファイルは、各ファイルには他のファイルと区別するための一意の名前があり、論理的に関連する 0~複数の一意のレコードがあるという点で、リレーショナルデータベースのテーブルに似ています
ファイルは、データファイルとファイル辞書(DICT)の2つの部分で構成されます。データファイルには、実際のデータを格納するレコードが含まれます。ファイル辞書には、ファイルの内容を記述したり、出力したりするための メタデータが含まれる場合があります。
ハッシュファイルの場合、U2システムはハッシュアルゴリズムを使用して、ファイルのレコードをレコードIDに基づいてグループに割り当てます。ハッシュファイル内のデータを検索する場合、システムはレコードIDが格納されているグループのみを検索するため、ファイル全体を検索するよりも効率的かつ迅速な検索プロセスになります
非ハッシュファイルは、プログラムのソースコード、XML、プレーンテキストなど、論理構造がほとんどまたは全くないデータを保存するために使用されます。このタイプのファイルは、ホストオペレーティングシステムのアカウントディレクトリ内のサブディレクトリとして保存され、適切なツールを使用して読み取りまたは編集できます。
ファイルはレコードで構成されます。レコードは、リレーショナルデータベースのテーブル内の行に似ています。各レコードには、ファイル内の他のレコードと区別するための一意のキー(「レコードID」と呼ばれる)があります。これらのレコードIDは通常、データを迅速かつ効率的に取得できるようにハッシュ化されています
レコード(レコードIDを含む)は、実際のデータを純粋なASCII文字列として格納します。U2にはバイナリデータは格納されません。例えば、浮動小数点数のハードウェア表現は、格納される前にASCII文字列に変換されます。通常、これらのレコードはフィールド(U2では「属性」と呼ばれることもあります)に分割されます。各フィールドは「フィールドマーク」(16進数文字FE)で区切られます。
したがって、この文字列は
123-45-6789^JOHN JONES^jjones@example.com^432100^...レコードIDが123-45-6789、最初のフィールドがJOHN JONES、2番目のフィールドがjjones@example.com、3番目のフィールドに月給$4321.00が格納されているEMPLOYEEファイルのレコードを表す可能性があります。(上記の上矢印(^)は、フィールドマークの標準的なピック表記、つまりxFEです。)
したがって、このレコードの最初の3つのフィールド(レコードIDと末尾のフィールドマークを含む)は、49バイトのストレージを使用します。特定の値は必要なバイト数だけ使用します。例えば、同じファイルの別のレコードでは、JOHN JONES(10バイト)がMARJORIE Q. HUMPERDINK(21バイト)に置き換えられる場合がありますが、それぞれの名前は必要なストレージ量とフィールドマーク用の1バイトのみを使用します。
フィールドは値だけでなく、サブ値にも分割できます。値は値マーク(文字xFD)で区切られ、サブ値はサブ値マーク(文字xFC)で区切られます。例えば、John Jonesが2つ目のメールアドレスを取得した場合、レコードは次のように更新されます。
123-45-6789^JOHN JONES^jjones@example.com]johnnyjones@example.net^432100^...ここで、閉じ括弧 (]) は値マークを表します。
各電子メール アドレスは、別々のファイル内のレコードの ID になる可能性があるため (SQL 用語では外部結合、U2 用語では「変換」)、これが U2 がMultiValuedデータベースとして分類される理由となります。
生の情報はデータと呼ばれます。レコードとは、論理的にグループ化されたデータの集合です。例えば、従業員レコードには、氏名、住所などのフィールド/属性の形式でデータが保存されます
UniVerseとUniDataはどちらも、MultiValueデータベースの構造を自然に操作するPick/BASICに類似した構造化BASIC言語(それぞれUniVerse BasicとUniBasic)を備えています。また、構造化データベースクエリ言語(RetrieVeとUniQuery)も備えており、これらを使用して、後続処理やアドホッククエリ、レポートのためにレコードを選択できます。
RocketU2は、ソフトウェア開発者が他のソフトウェア言語からU2データベースにアクセスできるようにするためのクライアントツールセットを提供しています。[ 9 ]
クライアント ツールのインターフェイスには次のものが含まれます。
UniVerseとUniDataはどちらも、OpenSSLを使用したTLSトランスポートレベルのデータ暗号化と、保存データのレコードレベルおよびファイルレベルの暗号化をサポートしています。カスタムソリューションを可能にしたり、特定の規制要件を満たしたりするために、追加のAPI暗号化機能も利用できます
RocketU2は、U2製品ファミリーに関連する3つのプロフェッショナル認定資格を提供しています。 [ 10 ]
Rocket Software UniverseとUnidataには、Universe/UniDataコンテンツへのWebベースのフロントエンドを作成する機能が限定されています。Rocket Softwareはデータベース製品へのSQLアクセスを提供しているため、U2のファイルやテーブルの使用に関わらず、SQLベースの製品を使用してデータベースへのWebベースのUIを構築できます。サードパーティ製のアプリケーションフレームワークを使用して、このようなWebインターフェースを構築することも可能です。