
階層型データベースとVSAMの違い
メインフレームの話です。
階層型DB(IMS-DB)について勉強しているのですが、
VSAMとの違いがよくわかりません。
どちらも、HIDAMやHSAMもあり、CI単位にデータが
入っているとマニュアルに書いてありました。
実は、同じものなのでしょうか?
それとも、DBはロールバックやロールフォワードができ
VSAMはできないとかの違いだけあるのでしょうか?(よくわかりませんが)
VSAMと階層DBは、何が違うのか?と言われたときに、
「こう違います。」と説明できるようになりたいです。
よろしくおねがいします。
No.2ベストアンサー
- 回答日時:
#1回答者です。
「階層型データベース」と書かれていたので、少し誤解していました。DBMSの機能の一つとして、「VSAMなどのOSのファイルシステムで作成したファイルを、DMLで操作する」といったものがあります。この場合は、VSAMのファイルそのものを、DBMSの管理下で操作します。この機能を利用することで、アプリ側ではDMLで操作でき、ファイルの宣言、オープン/クローズ、例外処理などをDBMS側に任せることができます。
これらは、単純構造などの名称で呼ばれ、階層型データベースとはまったく別のものです。あくまでも、階層型DBMSの一機能として、VSAMファイルも操作できるというものです。
階層データベースについては、#1の回答を参照してください。
回答ありがとうございます。
確かに、子や孫のある階層の場合、VSAMでは定義できないですね。
ちょっと気がつきませんでした。
ロールバックはVSAMでもできるのですか?
つまり、ログなどをとっているのでしょうか?
排他制御は、OSが管理するのでしょうか?
さらに、それ以外にVSAMとIMSDBの違いというものは
あるのでしょうか?
ちなみに、DB2のマニュアル等にはDBMSについての記載がありますが
IMS-DBのマニュアルにDBMSはありません。DLI-SASとかが
ありますが、それがDBMSの代わりなのでしょうか?
先輩に聞きたいところですが、ベンダーである弊社でIMSを
よく知っている人はおらずマニュアルしか頼るものがありません。
しかし、IBMマニュアルはご存知だと思いますが、いまひとつ
わかりにくく、講習資料もVSAMとDBの違いを記載してません。
No.3
- 回答日時:
IMSについても、IBMによる高価なセミナーが実施されているようですね。
英語サイトですけど、IMSのDB内部構造等について、図などを用いられて解説されているところがありました。
http://www.dbazine.com/ofinterest/oi-articles/ims2
ざくっと見ましたけど、
IMSでのHSAMは、OSレベルではBSAM、QSAMで実装されている。
IMSでのHISAMは、OSレベルではVSAMで実装されている。
といった記述があるようです。
メインフレームの情報は、インターネット上でゴロゴロ転がっている訳ではないし、情報の鮮度や信憑性なども判断できません。
どこの誰だか分からない人に聞くのは、仕事上、大いに問題ありです。
ただ、IBMの情報は、英語サイトなどで意外と出てたりしますけどね。
英語サイトですが、メインフレーム・フォーラムもあるようですよ。
http://ibmmainframes.com/index.php
No.1
- 回答日時:
IBMのDBMSについて、そんなに詳しい訳ではないですが。
。。こういった Q&A サイトで、質問するようなことではないのでは?
子や孫が存在しない単純な構造だけを見れば、似たようなものと感じることもあるかも知れませんが、例えば、3階層のデータベースを考えてみましょう。1:m:nの関係、しかも m や n の個数を事前に予測できないといった場合、これをVSAMで容易に実現できますか?
VSAMを使った場合、定義変更があった場合は、どんな作業が発生するか考えてみましょう。また、IMSにつながるDBMSは、階層型だけでなく、リレショナル型のDB2などもありますよね?
VSAMも排他制御やログによる回復など、多機能だったりしますが、そこはやはりファイルシステムの一つです。
DBMSがシステム実装の上で、ファイルシステムとしてのVSAMを活用していたりもします。
この場合、
・VSAMの1レコード=DBMSの1レコード
といったケースや
・VSAM上では1レコードだけど、その1レコードの中をDBMS独自のデータ形式で管理し、DBMSとしては複数レコードを管理する
といったことも行われていたりします。
詳しくはここのようなサイトではなく、マニュアル、先輩、DBMSサポート部署などに相談してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- WordPress(ワードプレス) ワードプレスの管理画面でユーザー名が違うと出るのですがどこで設定したユーザー名を打てばいいのでしょう 1 2022/03/31 19:36
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- 日本語 dbとdBって違うんですか? 1 2022/05/04 00:15
- 分譲マンション オートロック内に宅配ボックス 3 2023/05/16 10:17
- 医師・看護師・助産師 病院に入院してみて、フロアが変わると階によって看護師さんの年齢層が違う気がするのですが、気のせいでし 2 2023/02/26 09:34
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- ネットワーク プロトコルの階層化とインターフェースとの違い 2 2022/07/26 02:38
- その他(年金) 企業年金(確定給付企業年金)についての勉強方法について 1 2022/05/21 23:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP-ACEESか PHP-MySQL-ACCESSか
-
この様なアプリ作成に適したデ...
-
データベースの更新は手動でや...
-
データベースのファイルの本体
-
エクセルVBAでcommit,rollback
-
ACCESS MSDE フォーム上から...
-
SQLiteファイルへの同時アクセ...
-
クラスタ構成について教えて下...
-
キャッシュしたクエリを確認したい
-
ディスク上のサイズの乖離が大...
-
MS-DOSについて
-
SJISのDBは作れますか?
-
pg_restoreでエラー
-
バキュームをクーロンから実行
-
ヤフーショッピングでPayPay支...
-
スキャンディスクをするとメモ...
-
フォーマットについて。
-
エラーについて(更新)
-
ORACLEを仕様目的について
-
fortranで文字列と数値が混在し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームだけを起動す...
-
階層型データベースとVSAM...
-
アクセスで、OLEサーバーも...
-
ACCESSのレコードを削除しても...
-
エクセルVBAでcommit,rollback
-
データベースが開けません
-
SQLのデータベースに韓国語を登...
-
HTMLからのデータベース アクセス
-
WWWでデータベースを作成したい...
-
Accessでは力不足?
-
SQLiteファイルへの同時アクセ...
-
SQLServer7.0上のエラーについて
-
Access2010でリボン等を非表示...
-
C#上でデータベースのコピーを...
-
HP上で商品の検索をしてもら...
-
SQLPlusでUnicode
-
エクセルのデータをアクセスに...
-
Access97のリンクテーブルについて
-
PostgresQLでサーバーを新規追...
-
データーベースがJAVAスク...
おすすめ情報