Databases come in many sizes and flavors. Knowing which one is best for the type of application/website and data you are using can save you a lot of time and money in the long term. The following are three common database types as well as scenarios when you might want to use them.
Flat-file Database – Perhaps the most basic of the bunch, a flat-file database can be as simple as a comma separated value (CSV) text file. Other types of delimiters include tabs or lines. As the name implies, a database is typically stored in a single, flat file. When you have a simple list, like a roster, or need something created quickly, a flat-file database may be the way to go.
RDBMS – A relational database management system stores data in tables and then stores the relationships of those databases in tables as well. Some RDBMS systems run as their own services, such as MySQL or PostgreSQL. Others, such as SQLite, only require a few library files in order to work properly. When you have a complex set of data values for each table, an RDBMS can simply things greatly.
NoSQL – This can refer to any database management system that does not use a relational model and thus does not use SQL as its query language. Common NoSQL systems include Apache’s Cassandra and Hadoop. Many NoSQL systems are good for working with large amounts of data that do not require structure. Large companies that work with big data often need to store or archive data objects and are less concerned with storing them in ordered tables than they are with simply making them available for fast access.