重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【解消】通知が届かない不具合について

メモリデータベースについて教えてください。
名前の通り、メモリ上のデータベースだと思いますが、
アクセスが高速であるということを聞いて少し調べていますが、いまいち理解できていません。

サンプルがありまして、VB.NETで掲載されているサイトを発見したのですが、クラスを仕様してメモリ上に表を作成するコードでした。

こちらはVB6で、メモリデータベースを実装したいと考えております。

たとえばSQLServerでメモリデータベース機能。
ORACLEでメモリデータベース機能などは無いのでしょうか?
それとも市販(メモリデータベース)を購入して実装しなければ出来ないのでしょうか?
MicrosoftADOなどで実現など出来ないのでしょうか?

分かる方がいらっしゃいましたら御教授ください。

A 回答 (1件)

それは ADO.NET の基本機能のことじゃないですか?


DataSet とか書いてませんでしたか?
ADO.NET では DB から取得したデータ一覧を DataSet というメモリ上の仮想 DB に DataTable として取り込みます。
フォーム上でデータを変更した場合、メモリ上の DataTable の値を更新します。
レコードを削除した場合もメモリ上の DataTable のレコードに削除マークを付けます。
レコードを追加した場合もメモリ上の DataTable にレコードを追加します。
ここまでの動作でホントの DB と通信したのは、最初にデータを取得した時だけです。
あとで任意のタイミングでメモリ上の DataTable の内容のうち「変化した」レコードだけを実際の DB に書き込みます。(削除も同じ)

これを自力で実装するとなるとかなり大変じゃないかと思いますよ。
ADO を使っていて具体的に何か困っているのでしょうか?
私は、ADO で行ける言語であれば ADO でも全然不便に感じませんし、速度も問題ないと思いますが。

参考URL:http://www.atmarkit.co.jp/fdotnet/basics/adonet_ …
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。参照したのはADO.NETです。
VB6では、やはり自力で実装しないと実現できないようですね。
特殊装置(詳細は書けませんが)~PC~DB間で、高速な処理を実現したかったのです。SQLServer~ADO間の処理スピードでは追いつかないと判断しメモリデータベースを検討しました。現在、PCの処理速度の件もあり、仕様を再度検討中です。大変参考になりました、ありがとうございました。

お礼日時:2006/01/23 15:35

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

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