メモリデータベースについて教えてください

このQ&Aのポイント
  • メモリデータベースは、アクセスが高速なデータベースです。
  • VB.NETを使用してメモリ上に表を作成することができます。
  • 一部のデータベース製品には、メモリデータベース機能が提供されています。
回答を見る
  • ベストアンサー

メモリデータベースについて

メモリデータベースについて教えてください。 名前の通り、メモリ上のデータベースだと思いますが、 アクセスが高速であるということを聞いて少し調べていますが、いまいち理解できていません。 サンプルがありまして、VB.NETで掲載されているサイトを発見したのですが、クラスを仕様してメモリ上に表を作成するコードでした。 こちらはVB6で、メモリデータベースを実装したいと考えております。 たとえばSQLServerでメモリデータベース機能。 ORACLEでメモリデータベース機能などは無いのでしょうか? それとも市販(メモリデータベース)を購入して実装しなければ出来ないのでしょうか? MicrosoftADOなどで実現など出来ないのでしょうか? 分かる方がいらっしゃいましたら御教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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_index/
sai943
質問者

お礼

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

関連するQ&A

  • データベースにアクセス

    OSはWindows2000Serveを使用しています。 VB6でOracle8iのデータベースに接続してデータのやり取りを行いたいです。 Option Explicit Public OraSession As Object 'オラクルセッション用変数名 Public OraDatabase As Object 'オラクルデータベース用変数名 こういった標準モジュールをベースに考えています。 今回行いたいのはデータベースに接続してセレクト文で引っ張ってきたデータを表示させたいというものなのですがこういったごく簡単なサンプルコードはありませんでしょうか? インターフェース部分だけでよろしいのでよろしくお願いします。 またVBとオラクル関係の詳しく記述されているHPなんかがあればよろしく お願いします。

  • データーベース?の仕組みについて

    職場で、VBでアプリをつくり、データーベースに、オラクル、SQLを使用しています。テーブルは、EXCELで作成しています。 そこで質問なのですが、VBのプログラムで、クラスをセットしたり、テーブルを削除したり更新したり・・とどうしてこういうことをするのか、という、仕組みを勉強するには、どういった参考書を読めばいいでしょうか? すいません。よろしくお願いします。

  • webサイトでデータベースを用いたいのですが

    データベースの知識を持っておりませんが、質問させてください。 webサイトで、データベースを用いて以下のような機能を実現することは可能なのでしょうか。 ・会員制で、ログインした会員のアクセス時間や行動をデータベースに記録する。 また、このような機能を実装してくださる会社がございましたら教えてください。 どうぞよろしくお願いいたします。

  • ORACLEを仕様目的について

    データベースでORACLEやIBMのDB2、MSのSQLServerなどがありますがEnterpriseクラスで上記の3つのうちOracleが断トツで一番値段が高いと聞きましたが そんなに機能がちがうのでしょうか?それともたまたま 使える人が多いからでしょうか?(シェア?) ご存知の方お教えください。

  • VBでのデータベース作成のメリットって?

    VBでのデータベース作成のメリットって? VBとAccessを勉強させられていますが、 Accessというデータベースソフトがあるのに、なぜ書店には「VBでデータベースを作る」といった本があふれているのでしょうか。 Accessでは実現できない機能や利便性があるのでしょうか。 PCには両方のソフトが入っているという条件で回答いただけませんでしょうか。

  • データベースに何を使うか

    こんにちは、よろしくお願いします。 VB2005+AccessでWindowsアプリをはじめて作りました。 このアプリはデータベースがAccessなのでスタンドアロン形式 として開発しました。(初めてのプログラミングです。) 次に、2~5台くらいまでのパソコンで使えるようなアプリを 開発したいと思っているのですが、 データベースに何を使ったら良いのかわかりません。 パソコンに、Microsoft SQL Server 2005がプログラムメニューに あるのですが、これが利用できるのでしょうか? 利用できるのなら使いたいのですが、 色々と調べていたら、SQLServerの価格表があり、高いものは 300万とか書いてあり、びっくりしました。 上記を使うと開発者やユーザーに何か料金が必要なのでしょうか? ExpressEditionは無料、とありましたが制約が多くて 使にくかったらどうしようかと思い、不安です。 Oracleも無料とありましたが、Windowsアプリに利用するにあたって 何も問題はないのでしょうか? 経験者の方、おすすめデータベースのアドバイスがありましたらお願い致します。 参考サイトや書籍などの情報がありましたらあわせてお願い致します。

  • VBAでバイナリーデータを画像として貼り付けたい

    お世話になります。 現在、ExcelからOracleのデータベースを検索して値を選択→シートに張り付けて印刷する、請求書発行のプログラムを作っています。 そこで、実装方法が不明なところがでてきましたので、もしご存知の方は教えてください。 Oracleのデータベースには、Blob型のカラムに請求書発行元会社のロゴデータ(gif形式)が格納されていますが、これをExcelのシートに画像オブジェクトとして貼り付けようとしています。 Oracleのデータベースからの値の取得はできていて、これを画像オブジェクトとしてシートに貼り付ける方法をいろいろ試行錯誤しているのですが、いまだ実現できずにいます。 ※できれば、サンプルのプログラムも記載いただければ幸いです

  • 【WPF】DataGridのページング機能について

    Visual Studio2012にてVBを用いてWPFアプリケーションを作成しております。 Oracleデータベースから取得したデータをDataGridで表示する際に手軽にページング機能を搭載する方法はあるのでしょうか? SilverLightなどではDataPagerというコントロールを用いて手軽に実装できるようなのですが・・・。 以上、ご教授よろしくお願いいたします。

  • データベース型アプリの設計について

    いつも参考にさせていただいております。 VB等の言語を使用してWindowsアプリを作成するときに データベースを使用したくなることが多いと思いますが、 そういった場合にはどうしても「データベース」として オラクル等を使用しなければならないのでしょうか? ふと疑問に思ったのですが、例えばMS-Access でデータベースを作った場合に.mdbファイルが作成 されますが、これってAccessで開いて初めてデータ ベースとして機能しますよね? かなり高度な話になるのでしょうが、自分でアプリを 作成してそのアプリ独自のファイルを作成してデータ ベースを構築することは出来るのでしょうか? そんな作り方をしている方はいるのでしょうか? ソフト屋のホントに売るためのソフト開発でもないと そこまでしないぞ、ということなのかもしれませんが。 どなたかご意見ください。

  • Accessからのアップグレード

    Access2000からSQLServerまたは Access2000からOracleにアップグレードしたいと 思っているのですが、手動ではなくエクスポート 機能などを使ってデータベースの構造と内容をその まま移行することは可能でしょうか。