When selecting the right database, there are three vectors to consider.
- Do you need a general purpose operational database, an analytical database, or a highly specialized database like a time-series or scientific database?
- Do you need something that industry standards like SQL or ACID guarantees can't provide? If you’re running an application with valuable information in it - customer and business data for instance - you probably need strict consistency and could benefit from the established SQL ecosystem. But if you’re running an Internet of Things application, you may need a non-relational database and can get away with something less than strict transactional guarantees.
- Do your growth and availability expectations demand a multi-server architecture? Do you want the ability to scale-up and down on demand, or are you comfortable with a more traditional pre-provisioning model? When scaling, do you want a naturally distributed architecture that aligns with cloud environments, or do you prefer to take a sharded or clustered approach?
As you move your way down any given path, you can quickly determine based on your application requirements whether a distributed SQL database meets your needs. In short, if you are looking to retain your traditional SQL database benefits and gain new cloud efficiencies, then a distributed SQL database is the right option to consider.