Question

No doubt that, DBMS plays vital role in today's developer's life which is easy way of retrieving the data particularly when we don't require JOINS. But apart from easy factor, which is faster? Files or Databases?

Was it helpful?

Solution

Depends upon the situation. One might conclude that a filesystem is faster, under the belief that the DBMS must use a filesystem to store its data and therefore is only adding a layer of buffer. That is not strictly true as some DBMS (eg Oracle) implement and can use their own filesystem. One might conclude that a filesystem is faster, under the belief that system calls (eg fread() and fwrite()) have less overhead than a SQL call (eg SELECT *). That also is not strictly true, as the overhead from reading multiple files and joining multiple files may be less efficient than the DBMS implementation of data storage (eg btree in file).

The only way to know is to choose a scenario and benchmark it. As with any design, one must balance the tradeoffs: complexity of a DBMS vs ease of filesystem, ease of DBMS selection vs complexity of filesystem reads, etc.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top