Understanding Data and Databases

No matter what kind of application you are working on in any programming language you eventually care about having data that exist beyond the running of the application. Data that doesn’t disappear when a program stops running is referred to as being “persistent”. Databases are essentially programs that organize large amounts of data and writes them to disk (hard drives) so they can persist.

On a small scale most databases can work well for most use cases but for large sets of data how the database works and organizes the data and searches through the data can make a big…