データベースは最終的にデータをファイルに保存しますが、ファイルシステムもデータをファイルに保存します。この場合、DBとファイルシステムの違いは何ですか。それはそれが検索される方法または他の何かの方法ですか?
回答:
データベースは通常、関連する構造化データを、明確に定義されたデータ形式で、挿入、更新、および/または取得(アプリケーションに応じて)のための効率的な方法で保存するために使用されます。
一方、ファイルシステムは、任意の、おそらく無関係なデータを格納するための、より非構造化されたデータストアです。ファイルシステムはより一般的であり、データベースはファイルシステムによって提供される一般的なデータストレージサービスの上に構築されます。[Quora]
オペレーティングシステムは一種のインデックスを維持しているため、ファイルシステムは特定のファイルを探している場合に役立ちます。ただし、txtファイルの内容はインデックスに登録されません。これは、データベースの主な利点の1つです。
非常に複雑な操作の場合、ファイルシステムは非常に遅くなる可能性があります。
RDBMSの主な利点:
テーブルは互いに関連しています
SQLクエリ/データ処理言語
SQLへのトランザクション処理の追加(Transact-SQL)
ストアドプロシージャ、関数、トリガー、ビューなどのサーバー側オブジェクトを使用したサーバークライアントの実装。
データベース管理システムに対するファイルシステムの利点は次のとおりです。
任意の、おそらく無関係なデータを含む小さなデータセットを処理する場合、ファイルはデータベースよりも効率的です。単純な操作の場合、読み取り、書き込み、ファイル操作はより高速で簡単です。
あなたはインターネット上でn個の違いを見つけることができます。
ファイル処理システムとデータベース管理システムの違いは次のとおりです。
ファイル処理システムは、コンピューターのハードディスクにファイルを保存および管理するプログラムのコレクションです。一方、データベース管理システムは、データベースの作成と保守を可能にするプログラムの集合です。
ファイル処理システムは、データの冗長性が高く、dbmsのデータの冗長性が低くなっています。
コンテキスト:本番環境で7年間実行されているファイルシステムを作成しました。[1]
ファイルシステムとデータベースの主な違いは、ファイルシステムAPIがOSの一部であるため、ファイルシステムの実装はそのAPIを実装する必要があるため、特定のルールに従う必要がありますが、データベースは完全に自由なサードパーティによって構築されます。
歴史的に、OSによって提供されたファイルシステムが目前の問題に対して十分ではなかったときに作成されたデータベース。考えてみてください。特別な要件がある場合は、MicrosoftやAppleに電話してファイルシステムAPIを再設計することはできません。先に進んで独自のストレージソフトウェアを作成するか、既存の代替ソフトウェアを探します。そのため、その必要性からサードパーティのデータストレージソフトウェアの市場が生まれ、最終的にデータベースと呼ばれるようになりました。それについてです。
ファイルシステムにはファイルやディレクトリのような特定のルールがあるように見えるかもしれませんが、これは真実ではありません。最大のオペレーティングシステムはそのように動作しますが、動作が異なるモールの小さなOSがたくさんあります。それは確かに難しい要件ではありません。(新しいファイルシステムを構築するには、新しいOSを作成する必要があることを覚えておいてください。これにより、採用がかなり難しくなります。代わりに、ストレージエンジンだけに焦点を当てて、データベースと呼んでみませんか?)
結局、データベースとファイルシステムの両方がすべての形とサイズで提供されます。トランザクション、リレーショナル、階層、グラフ、テーブル; あなたが考えることができるものは何でも。
[1] Boomla OS&Web ApplicationPlatformの背後にあるストレージシステムであるBoomlaファイルシステムに取り組んできました。