dポイントプレゼントキャンペーン実施中!

階層型データベースとVSAMの違い

メインフレームの話です。
階層型DB(IMS-DB)について勉強しているのですが、
VSAMとの違いがよくわかりません。

どちらも、HIDAMやHSAMもあり、CI単位にデータが
入っているとマニュアルに書いてありました。

実は、同じものなのでしょうか?
それとも、DBはロールバックやロールフォワードができ
VSAMはできないとかの違いだけあるのでしょうか?(よくわかりませんが)

VSAMと階層DBは、何が違うのか?と言われたときに、
「こう違います。」と説明できるようになりたいです。

よろしくおねがいします。

A 回答 (3件)

#1回答者です。

「階層型データベース」と書かれていたので、少し誤解していました。

DBMSの機能の一つとして、「VSAMなどのOSのファイルシステムで作成したファイルを、DMLで操作する」といったものがあります。この場合は、VSAMのファイルそのものを、DBMSの管理下で操作します。この機能を利用することで、アプリ側ではDMLで操作でき、ファイルの宣言、オープン/クローズ、例外処理などをDBMS側に任せることができます。

これらは、単純構造などの名称で呼ばれ、階層型データベースとはまったく別のものです。あくまでも、階層型DBMSの一機能として、VSAMファイルも操作できるというものです。

階層データベースについては、#1の回答を参照してください。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

確かに、子や孫のある階層の場合、VSAMでは定義できないですね。
ちょっと気がつきませんでした。

ロールバックはVSAMでもできるのですか?
つまり、ログなどをとっているのでしょうか?
排他制御は、OSが管理するのでしょうか?

さらに、それ以外にVSAMとIMSDBの違いというものは
あるのでしょうか?

ちなみに、DB2のマニュアル等にはDBMSについての記載がありますが
IMS-DBのマニュアルにDBMSはありません。DLI-SASとかが
ありますが、それがDBMSの代わりなのでしょうか?

先輩に聞きたいところですが、ベンダーである弊社でIMSを
よく知っている人はおらずマニュアルしか頼るものがありません。
しかし、IBMマニュアルはご存知だと思いますが、いまひとつ
わかりにくく、講習資料もVSAMとDBの違いを記載してません。

お礼日時:2010/02/07 19:42

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
    • good
    • 0

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サポート部署などに相談してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す