How to choice database?
Databases are widely divided into two major types or categories, namely, Relational or Sequence Databases and Non-relational or Non-sequence databases or No SQL databases.
An organization may use them individually or combined, depending on the nature of data and functionality required.
Let’s delve into the various types of databases mentioned above.
Finding the right database solution for your application is not easy. Database selection across several fields: Online Transactional Processing (OLTP), Online Analytical Processing (OLAP), Hybrid Transaction/Analytical Processing (HTAP), SQL, and NoSQL.
This matrix has these characteristics:
- In the upper left corner
Databases support OLTP workloads and the SQL language. For example, MySQL supports different transaction isolation levels, high QPS, and low latency. We mainly use it to store transaction information and critical data, such as orders and VIP information. - In the lower left corner
We use NoSQL databases to optimize special scenarios. Generally, these databases have simple schemas or they are schemaless with high throughput and low latency. We mainly use them as caches or key-value (KV) databases. - On the right
All are OLAP big data analytical systems, such as ClickHouse and Impala. Generally, they support the SQL language and don’t support transactions. They have good scalability and long response latency. We can add machines to enlarge data storage capacity, and the response delay is longer. - Around the two axes’ meeting point
These databases are neutral, and we call them HTAP databases, such as TiDB. When the amount of data is small, they have good performance. When the data size is large or the queries are complex, their performance is not bad. Generally, to meet different application needs, we use different storage engines and query engines.