データを保存するには、データベースまたはファイルシステムの 2 つの標準的な方法があります。これらの間に、データベースには、データの整合性を維持するための少なくとも 2 つの利点があります。
- スキーマ: データの意図した構造を宣言し、データがこの構造を満たすことを保証できます
- 完全な ACID プロパティによるトランザクション性
これらの重要な機能を提供するファイルシステム、またはファイルシステムの上にあるファイルシステムマネージャーはありますか?
たとえば、1 つのディレクトリ内のデータを管理するプログラム、私が提供するスキーマ、およびアトミック性を確保するためにトランザクションを使用してこのディレクトリを更新する CRUD 命令を発行するプログラムを想像します。
たとえば、スキーマは帰納的に定義される場合があります。
root ::= { pdfcontainer }
pdfcontainer ::= { pdf }
pdf(f) ::= isfile && suffix == 'pdf'
その後、 が満たされないため、命令CREATE /container1/image.jpg <contents>
は失敗します。これは、/container1
が満たされないことpdfcontainer
を意味します。/
root