ここから本文です

データベースの保存場所についての質問です。 初歩的な質問になってしまうと思...

so1********さん

2018/10/3020:11:20

データベースの保存場所についての質問です。

初歩的な質問になってしまうと思いますが、お願いします。

普通のデータファイルはフォルダの中に格納されていたらファイラーで確認すると目で見て簡単にわかるのに対し、データベースのデータ保存場所がどこなのかがわかりません。
それは目に見えるもの(ファイル)なのか、それとも別のものなのかを教えて欲しいです。

開発でデータベースを使うのですが、いまいちイメージが湧きにくく少しお力を借りたいです。

回答よろしくお願いします。

閲覧数:
11
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nor********さん

2018/10/3101:37:12

> それは目に見えるもの(ファイル)なのか、それとも別のものなのかを教えて欲しいです。

RDBMSによります。
ほとんどの場合はファイルシステム上のファイルを使います。ものによってはRAWデバイスにデータを保持することが出来るものもあります。
データやインデックス、ログデータなどがファイルに入っていても、あくまで管理するRDBMSを通してアクセスするものがほとんどです。

SQLiteなどはデータベースファイルに対してプログラム側から共有ライブラリ、DLLなどを通してアクセスします。サーバープロセスはありません。
FirebirdはSQLiteのような組み込み型の利用と通常のRDBMSのようなサーバープロセスを通してアクセスの両方ができます。

Oracleなら
「DBA_DATA_FILES」というデータ・ディクショナリ・ビューでファイルの位置を確認できますし、操作コマンドで配置を変更することも可能です。

SQLSERVERは「C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA」
などにあったりしますが、データベース作成時に保存場所やファイルグループの指定が可能です。

PostgreSQLなどもWindows版だと
「C:\Program Files\PostgreSQL\10\data」
などにデータがありますが、エクスプローラで探して見てみてもテーブルとの関係は検討がつかない名称の多数のファイルの集まりです。

MySQL、MariaDBも
「C:\ProgramData\MySQL\MySQL Server 8.0\Data」
とか
「C:\Program Files\MariaDB 10.2\data」
とかにあります。

Windows版のDB2なども探せばそれらしいのが出てきます。

複数のDISKがあるコンピュータシステムだと、以前のOracleなどだとベースとなるテーブルのデータ、インデックス、UNDO領域、一時表領域、REDOログなどの配置について検討したりしてました。
最近はRAID 1+0でまとめたり、ASMに任せる例が多いかもしれません。

これらのデータファイルなどについては基本的にはDBAの管轄です。
サイジング、パフォーマンス・チューニングなどについて必要があればインフラ担当者含めて相談してください。

ただ、RDBMSの場合インメモリの動作させるとかでなければディスクIOがボトルネックになりがちなのも確かなのでどんなSQLが望ましいものかはRDBMSのアーキテクチャ知った上で検討したほうがいいと思います。
最近は64bit化で使える物理メモリサイズが大きくなった関係で、テーブルデータがデータベースバッファにほとんど収まって、無茶なSQLを書いてもディスクIOよりもCPU使用率のほうが厳しくなる場合もありますが。無駄な金をかけているとも言えるのであまり感心はしません。

質問した人からのコメント

2018/11/3 12:43:56

わかりやすく説明していただいてありがとうございます!
とても納得できました!

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

nob********さん

2018/10/3020:22:33

データベースも当然普通のファイルに格納されていますが、プログラムからはデータベースのソフトに接続するだけですので、物理的に何処に格納されているかは、データベース側のソフトが知っていれば良いだけの話で、データベースのソフト毎に別々のルールでファイルが作られています。尚、SQLiteやAccessやFirebirdのようにデータベースによってはプログラムでファイルの場所を陽に指定する物も有ります。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる