When starting any good SQL learning journey, you may quickly realise that once you’ve started to understand MySQL, all of a sudden there are 6 or 7 other types of SQL you’ve never even heard of before. What is PostgreSQL? NoSQL? MondoDB?

With all these new variants comes a slight panic “Are these SQL variants quite similar or completely different?”. Fortunately, much like learning programming languages, learning one will make the others easier to use as the concepts are similar and fortunately, there are only a handful of popular database setups.

SQL (Structured Query Language)

SQL stands for structured query language and is the standard language for managing relational databases, each type of database (or db) generally has its own strengths and weaknesses. Deciding which version to use will mainly depend on the specific needs of the organization or the project that is being worked on.

Here’s a list of the most common types of SQL services you will find in the industry:

  1. MySQL: MySQL is usually the first database language you will learn. It’s an open-source relational database management system (free). It’s widely used, popular and known for its speed, simplicity, reliability and ease of use.
  2. PostgreSQL: PostgreSQL offers a more extensive range of working data types compared to MySQL. Known for its ability to handle complex data structures.
  3. Oracle: Oracle is a commercial relational database management system known for its performance for handling large, complex database workloads.
  4. Microsoft SQL Server: Another commercial management system widely used in enterprise environments for its integration with other Microsoft products.

NoSQL (Not Only SQL)

Now I know what you’re thinking, surely NoSQL stands for, well.. ‘Not Structured Query Language’ (as I did for years)? And why would anybody use NoSQL over SQL? It’s because SQL enforces a rigid schema of structured data and NoSQL can use unstructured data. What’s the difference? Here are examples of both types:

Unstructured Data: Word Documents, Photos, Videos, Audio etc.
Structured Data: Spreadsheets, eXtensible markup, comma-separated values.

NoSQL is well suited for handling complex relationships in unstructured data. As such, they are well-suited for big data analytics and machine learning projects.
Here’s a list of the most common types of NoSQL you will find in the industry:

  1. MongoDB: MongoDB is a document-based NoSQL database that stores data in JSON-like documents. It is known for its horizontal scalability and flexibility.
  2. Amazon DynamoDB: DynamoDB is a fully managed NoSQL database service offered by Amazon Web Services, simplifying deployment and management.

NoSQL databases are often used for big data applications, real-time web applications, and other scenarios where data needs to be stored and retrieved quickly and efficiently. Much like SQL databases, each type of NoSQL database has its own advantages and disadvantages depending on the users needs.

This may seem obvious, but different solutions fit better to different problems and some of these products are unviable for small to medium enterprises because of the cost associated with them, but that’s for another day. Thanks for reading!

Let me know what you’re preferred SQL system is in the comments below.