In our application SoSporty, we would like to choose relational database. In this post I will put advantages and disadvantages of SQL and NoSQL.

SQL:

  • Strength:
  1. Easy to understand: two-dimensional table structure is a concept very close to the logical world. Relational model is relatively easy to understand;
  2. Easy to use: a common SQL language makes it very convenient to operate relational database;
  3. Easy to maintain: rich integrity (entity integrity, referential integrity, and user-defined integrity) greatly reduces the  probability of data redundancy and data inconsistency;
  4. Can be used for complex queries;
  5. Maturity and stability;
  6. Good compatibility.
  • Weakness:
  1. Its read and write performance is relatively poor;
  2. A fixed table structure;
  3. High concurrent reading and writing requirements;
  4. High-efficiency reading and writing of massive data.

NoSQL:

  • Strength:
  1. Without parsing the sql layer, read and write performance is high;
  2. Based on the key-value pairs, the data is not coupled, easy to expand;
  3. The format of stored data: NoSQL storage format is key, value form, document format, picture format, etc., while the relational database only supports the basic type;
  4. Relatively cheap.
  • Weakness:
  1. Does not provide sql support and the cost of learning and use is high;
  2. No transaction processing, additional features such as BI support and reports are not good;
  3. Not mature;

Summary: SQL database and NoSQL database both have their strengths and shortcomings. In general, the advantages of one are the disadvantages of the other. Currently, the techniques of using and maintaining NoSQL databases are relatively limited thus we choose to use relational SQL database.

SQL vs NoSQL
SoSporty!

Post navigation