Let's now discuss the storage for your application. First let's decide whether you should go with SQL, NoSQL, or something else.
A good rule of thumb is to decide on the technology according to the size of your database. For small databases, say, those whose size will never grow into the terabyte area, going with SQL is a valid approach. If you have a very small database or want to create an in-memory cache, you can try SQLite. If you plan to go into single terabytes, again guaranteeing that the size will never get bigger than that, your best bet would be to go with NoSQL. It's possible in some cases to still stick to SQL databases, but it gets expensive quickly because of the costs of hardware, as you'll need a beast of a server for your master node. Even if it's not an issue, you should measure whether the performance is enough for your needs and be prepared for long maintenance windows. In some cases, it may also suit you to just...