No.1
- 回答日時:
例えば100万件のデータから、1件を抽出するとき
ファイルでは大変な時間がかかるでしょう。
しかしリレーショナルデータベースでは、
しかるべき索引があれば一瞬ですみます。
またセキュリティもデータベースならばそれぞれのDBMSで
きめの細かい指定が可能です。
(aさんは読込のみ、bさんは更新はできるが削除はさせないなど)
暗号化などの対策も比較的簡単です。
ファイルで暗号化を行うとメンテナンスは手動ではほぼ不可能ですよね。
扱うデータの容量が多くセキュリティに気を遣う必要があるシステムでは
ほとんどデータベースが使われます。
逆に簡便で軽量かつ秘守性のないシステムならば
ファイルによるデータ蓄積で充分、ということになると思います。
データベースを使う必要性は無いと言えます。
No.2ベストアンサー
- 回答日時:
> 簡単なデータ管理は実現可能です。
おっしゃるとおり、「簡単ではないデータ管理」に使うのではないかと。
性能に対しての考え方は時代により変化していくでしょう。
DBやファイルに依存するより、メモリにのせた方が桁違いに早いので、
容量が小さいものは、起動時に読み込んじゃった方が早いです。
メモリの値段は、年々安くなって、今ではPCだってサーバーだって
数ギガ積むのが当たり前ですよね。
ということは、1GB程度のデータならメモリに読んじゃった方が
性能は桁違いに早いです。
10年後には、もっと多くのメモリを積めるでしょうし、SSDだって登場します。
DBよりファイルアクセスが優位に立つ時代も近いかもしれません。
一方、簡単なデータ管理にも使うケースがあります。
簡単なデータ管理も、Webサーバーのように複数から同時アクセスがり、
しかもファイルの更新がある場合、ファイルで正しく更新の制御を行う
のはものすごく大変です。
でも、DBならファイル操作に比べて簡単に出来上がります。
多くの技術者が慣れている、という場合もあります。
ミドルウェアを購入することは、手順化された手続きを買うというケースも
あります。
No.3
- 回答日時:
こんにちは。
ぱっと思いついた事を羅列していきますね。
・SQLという共通言語でデータの取り出し、操作が行える事。
・トランザクション等の仕組みが提供されていて、複数ユーザで同時アクセスしてもデータの不整合が起こらない事。
・データが破損した時に、データを復元する方法が提供されている事。
・他の回答者様による「大量データアクセス時も効率よく目的のデータを取得できる事」
データ不整合やデータ消失をさせずに、効率的なデータアクセスを提供しますよってのが利点です。
参考URL:http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/97 …
No.4
- 回答日時:
答えは他の方がすでに出していますので、ちょっと違う回答をします。
テキストファイル・データベースそれぞれ利点があります。
扱うデータの量が少ない時はテキストファイルが向いています。(扱いが簡単なため)
しかし膨大なデータを扱う事を考えてみてください。
(例 : 図書館のデータ。本が300万冊あるとする)
ISBN 著者 タイトル 本棚の番号
00909 オラクル太郎 データベースの謎 C3
03033 吉野家一郎 牛丼の謎 D2
…
(中略:300万行)
…
39993 砂漠五郎 砂漠の謎 E3
これをテキストファイルに保存した時、"JAVAの謎"というタイトルの本の本棚の番号を調べるプログラムを書く事を想像してみてください。
300万行逐一アクセスしていては膨大な時間がかかってしまいます。
しかし、データベース等を用いて、タイトルにインデックス(索引)をつけていれば、一瞬で見つかります。インデックスの付け方にもよりますが、22回もアクセスすれば見つかります。スピードにして1万倍以上です。
しかし、本が5冊しかないならば・・データベースは不要と言えます。
他にも利点・欠点はありますので用途に応じて選べばいいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- Excel(エクセル) エクセル関数のXlookupのフィルハンドル機能(類した機能でも可)を知りたいです。 3 2022/09/20 20:02
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- 体重計・体脂肪計・体組成計 スマートウォッチや体重計のデータをパソコンで処理できませんか?スマホアプリでは限定的で!? 3 2022/10/09 08:10
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コンピュータ用語、データベー...
-
型 varchar から型 numeric へ...
-
リスト形式の表とデータベース...
-
SQLを使いこなしている人が ETL...
-
データベースソフトのTCARDにつ...
-
エクセルの重複データの曖昧検索
-
オラクルを使っての仕事内容
-
ODBCを使わないでExcelへ連携
-
データベースを利用した経営資...
-
【ACCESS】複数のパソコンから...
-
ハイフン無しの電話番号データ...
-
Access or SQLServer どちらを...
-
CDの売上枚数を知りたいのですが
-
JavaとOracle Javaって何が違う...
-
汎用カード型のデータベースソ...
-
Accessのレポートで「縦書き」...
-
accessの勉強ができるサイトは?
-
Microsoft Accessについて
-
ADODB.Recordset エラー '800a0...
-
SQLて何ですか!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
リスト形式の表とデータベース...
-
エクセルの重複データの曖昧検索
-
エクセルのフォームについて(...
-
ACCESSで条件付き書式の設定方法
-
ハイフン無しの電話番号データ...
-
カンマ区切りで格納するカラム...
-
OpenOfficeのBaseでExcelのデー...
-
オラクルのLONG RAW型のテーブ...
-
ODBCを使わないでExcelへ連携
-
データのインポートに失敗します。
-
【パフォーマンス】ファイル読...
-
データベースソフトのTCARDにつ...
-
Accessで入力したデータ...
-
SQLを使いこなしている人が ETL...
-
SQL Server 縦方向のデータを列...
-
【ACCESS】複数のパソコンから...
-
アクセスがエクセルより優れて...
-
DBとテキストファイルの比較
-
CSVでDLしたデータにダブルクォ...
おすすめ情報