26

データベースからのデータがファイルシステムにどのように保存されているかを知る必要があります。データベースごとにデータの保存方法が異なることは確かですが、一般的なルール (ある場合) と、特定の DB の設定で何が変更できるかを知りたいです。

  1. データベース全体はどのように保存されますか? 1 つの大きなファイルでしょうか、それともテーブルごとに 1 つのファイルでしょうか?
  2. テーブルが巨大な場合はどうなりますか? いくつかのファイルに分割されますか?
  3. その場合のファイルの典型的なサイズはどれくらいですか?
4

1 に答える 1

16

この質問に対する答えは、データベース実装の両方に依存します。以下に、データの保存方法の例をいくつか示します。

  • データベースごとに 1 つのファイルとして。(これは SQL Server の既定です。)
  • 別のファイル システム マネージャー (オペレーティング システムなど) を使用する。(MySQL には InnoDB のような名前のオプションがいくつかあります。)
  • テーブルごとに個別のファイルを使用します。(Access をデータベースと見なす場合。)
  • 複数の物理ファイルとして、複数のファイル システムに分散されますが、単一の「ファイル」として表されます。(たとえば、並列ファイル システムを使用してデータを格納する HIVE。)

ただし、これらはデフォルトの構成です。実際のデータベースでは通常、複数の物理デバイス間でデータを分割できます。SQL Server と MySQL はこれをパーティションと呼びます。Oracle では、この表スペースを呼び出します。これらは通常、システムのパフォーマンス要件を理解している知識豊富な DBA によって設定されます。

ただし、最後の質問には簡単に答えることができます。ほとんどのデータベースでは、領域が必要になったときにデータベースを拡張するか、データベースに固定 (または固定の最大) サイズを与えるかを選択できます。基礎となるデータを自動的に複数のファイルに分割するデータベース エンジンに遭遇したことはありませんが、新しい列指向のデータベース (Vertica など) が同様のことを行う可能性があります。

于 2012-08-18T15:16:31.697 に答える