Factors to consider in database selection
Scability
Different database types handle scaling in various ways, we must first understand its architecture and design principles. From that, we can have the best decitions for our systems.
Relation database, store database in predefined schema, and they struggle to scale horizontally due to the need to maintain consistency in distributed environment.
Otherwise, NoSQL was born for horizontal scaling, so it more efficient to scale horizontally and bettern handler the growing data and traffic loads.
NewSQL databases aim to combine the consistency ability of Relation database and the powerful of scaling as TiDB. You can see the design principle behind it here
Consistency
Depending on your application, you may want to the data change events was consiststent or eventually consistency.
NoSQL database often lean towards eventual consistency, the update process will eventually propagat accross all nodes in the system, but they might not immediately visible.
Data Model
Relation database using fixed schema. It enforces a consistent structure across different nodes. How ever it can be a limited for your system if the system should dealing with diverse or rapidlly changing data schema, as schema changes can be time-consuming and may require downtime.