SQL vs NoSQL: Choosing the Right Database for An Application