• ベストアンサー

データベースを利用したアプリケーションの開発(一般的な質問含む)

私は、今度、業務でデータベースを利用した アプリケーションの開発をやることになりました。 しかし、私はデータベースのことがよくわかって いないため、どのタイプのデータベースが最適か、 どんな技術が必要で、何から勉強すれば良いのか わかりません。よって、皆様のご意見から開発の 方向性を見つけることができればと考えています。 開発するアプリケーションは、研究開発で利用される アプリケーションです。データベースは研究開発で 得られたデータを管理します。(実は現時点で仕様が はっきり決まっていません) 上記の事を踏まえて質問ですが、 ア)数十GBにもなるデータをデータベースで管理する   場合、データベース側では1つのファイルに   全データを格納しているのですか?それとも、   複数のファイルに分けているのですか? イ)データベースで管理している数十GBのデータを   他のコンピュータに移植する場合はどうするの   ですか?例えば、研究開発した企業が、研究開発   を依頼した企業に研究開発の成果物として   データベースごと収める場合です。 ウ)データベースがサーバ上に置いてある場合と、   データベースがローカルのコンピュータに置いて   ある場合とでは、データベースにアクセスする   プログラムのコードは違ってきますか? エ)データベースで管理しているデータをバージョン   管理することは可能でしょうか?例えば、ある   データAが管理されているとして、このデータAの   内容を変更してBに、さらに内容に変更を加えてC   になったときに、最初のデータAに内容を戻すこと   が可能なのでしょうか? 以上、よろしくお願いします。

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

  • ベストアンサー
  • tsuna555
  • ベストアンサー率53% (22/41)
回答No.1

どのRDBMSを使用するか決めないと明確にはいえませんが、Oracleでの話をさせていただきます。 ア)一つにするのも、複数に分けるのも設計次第です。Oracleではテーブルごとに表領域(ファイル)を分けることも可能です。 イ)方法はいろいろあります。エクスポート/インポートやバックアップツールの使用など。 ウ)プログラムの設計によります。DBのパラメータなどは設定ファイルとして、コードと分離すればコードには影響しません。 エ)REDOログなどに実行したSQLのログが残るので、ログが残っている範囲ならば復元可能です。長期に渡ってログを残すのならば、アーカイブログ・モードで運用する必要があります。

pugoo
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきます。

その他の回答 (1)

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.2

 tsuna555さんと、ア~ウまでは、同じです。  エに関しては、補足が必要なような気がします。  OLACLEのシステムとしてのデータ管理は、たしかに、No1での回答通りです。しかし、pugooさんの開発されるシステムとしての立場からすると、これは、プログラムの設計によります。たとえば、データベースのデータに登録した日時を含め、変更したときには、元のデータを変更するのでは無く、新しいデータを追加するといった形にすれば、過去のデータはすべて残ります。普通の検索では、最新のデータを抽出する形になるでしょうし、どのデータをどう採用していくかは、業務の内容からくる要求とシステムの設計次第です。研究開発で得られたデータというのは、履歴そのものがデータとして重要な場合が多いでしょうから、データベース上の過去のデータを直接変更するという形のシステムにはならないように思います。  イに関しては、データを提出する相手方のシステムの設計にもよりますから、たぶん、相手方に提出するデータを生成するためのプログラムを別途開発する形になるような気もします。相手方に自分と同じシステムが構築されているか構築するのなら、tsuna555さんと同じ回答だと思います。

pugoo
質問者

お礼

ご回答ありがとうございました。 参考にさせていただきます。

関連するQ&A