Some information is so important that you cannot afford to lose it. Consider the name and password for authenticating users. If a person registers at a site that charges a subscription fee, it would be unfortunate if his subscription details were lost the next time the web server was restarted. In this case, the information must be stored in a non-volatile way, and that usually means on disk. Several options are available, ranging from flat files to DBM files to fully-fledged relational databases. Which one you choose will depend on a number of factors, including:
The size of each record and the volume of the data to be stored
The number of concurrent accesses (to the server or even to the same data)
Data complexity (do all the records fit into one row, or are there relations between different kinds of record?)
Budget (some database implementations are great but very expensive)
Failover and backup strategies (how important it is to avoid downtime, how soon the data must be restored in the case of a system failure)
 
Continue to: