Database management systems vs. file systems?

Database management systems vs. file systems

  • DBMS - A computerized record-keeping system
  • File System - A collection of individual files accessed by applications programs.

Common limitations of some file system based DBs

  • Separated and Isolated Data - Makes coordinating, assimilating and representing data difficult
  • Data Duplication - Wastes space and can lead to data integrity (inconsistency) problems
  • Application Program Dependencies - Changes to a single file can require changes to numerous application programs
  • Incompatible Files

Advantages of a DBMS

  • Data Consistency and Integrity - by controlling access and minimizing data duplication
  • Application program independence - by storing data in a uniform fashion
  • Data Sharing - by controlling access to data items, many users can access data concurrently
  • Checkpointing and Recovery
  • Security and Privacy
  • Multiple views of data
  • Expandability, Flexibility, Scalability
  • Reduced application development times once the system is in place
  • Standards enforcement
  • However …..
    • Commercial DBMS often have high initial cost
    • Many DBMSs have high overhead - require powerful computers
    • DBMS are not special purpose software programs
    • Performance depends on the application

When is a DBMS not necessarily appropriate?

  • Database is small with a simple structure
  • Applications are simple, special purpose and relatively static.
  • Concurrent, multi-user access to data is not required.
  • Need a quick prototype to demonstrate feasibility
  • Need an easy way to see the data without having to write a program
  • Customers don’t want to install a DBMS and want to get online quickly