A database management system or DBMS is feature rich tool that the application developer can use to easily and reliably store and retrieve data. However, a DBMS is not always an appropriate solution for addressing the application’s data storage needs. Some conditions where this might be applicable not to use a DBMS are:
Simple application data requirements or special purpose and relatively static data;
Data sets are very small and data loss is an acceptable risk; or,
Concurrent, multi-user access to data is not needed (“users” can be defined as multiple threads and/or multiple processes).
A database is generally used for storing related, structured data, with well defined data formats, in an efficient manner for insert, update and/or retrieval (depending on application).
On the other hand, a file system is a more unstructured data store for storing arbitrary, probably unrelated data. The file system is more general, and databases are built on top of the general data storage services provided by file systems.
There are also differences in the expected level of service provided by file systems and databases. While databases must be self consistent at any instant in time (think about banks tracking money!), provide isolated transactions and durable writes, a file system provides much looser guarantees about consistency, isolation and durability. The database uses sophisticated algorithms and protocols to implement reliable storage on top of potentially unreliable file systems. It is these algorithms that make database storage more expensive in terms of processing and storage costs that make general file systems an attractive option for data that does not require the extra guarantees provided by a database.
As technology moves forward, though, the lines are blurring, as some file systems pick up features previously the domain of databases (transactions, advanced queries) and some databases relax the traditional constraints of consistency, isolation and durability. ZFS and BTRFS might be considered examples of the former, MongoDB and CouchDB examples of the latter.
A database management system or DBMS is feature rich tool that the application developer can use to easily and reliably store and retrieve data. However, a DBMS is not always an appropriate solution for addressing the application’s data storage needs. Some conditions where this might be applicable not to use a DBMS are:Simple application data requirements or special purpose and relatively static data;Data sets are very small and data loss is an acceptable risk; or,Concurrent, multi-user access to data is not needed (“users” can be defined as multiple threads and/or multiple processes).A database is generally used for storing related, structured data, with well defined data formats, in an efficient manner for insert, update and/or retrieval (depending on application).On the other hand, a file system is a more unstructured data store for storing arbitrary, probably unrelated data. The file system is more general, and databases are built on top of the general data storage services provided by file systems.There are also differences in the expected level of service provided by file systems and databases. While databases must be self consistent at any instant in time (think about banks tracking money!), provide isolated transactions and durable writes, a file system provides much looser guarantees about consistency, isolation and durability. The database uses sophisticated algorithms and protocols to implement reliable storage on top of potentially unreliable file systems. It is these algorithms that make database storage more expensive in terms of processing and storage costs that make general file systems an attractive option for data that does not require the extra guarantees provided by a database.As technology moves forward, though, the lines are blurring, as some file systems pick up features previously the domain of databases (transactions, advanced queries) and some databases relax the traditional constraints of consistency, isolation and durability. ZFS and BTRFS might be considered examples of the former, MongoDB and CouchDB examples of the latter.
การแปล กรุณารอสักครู่..