3 Types of Databases and How They’re Structured
The types of databases available in the modern market can be overwhelming, but they can be broken down into a few major categories. Understanding the most common types of databases and how theyâ€™re structured can help you gain a deeper appreciation for databases themselves and can also help you understand the field of data analytics better. Deepening your knowledge of database types and structures can help you add value to your organization or institution, so weâ€™ll cover some of the basics here.
Three Main Types of Databases
There are three main types of databases: relational databases, non-relational databases, and NewSQL databases. Hereâ€™s a brief breakdown of each type and what makes them unique.
Relational databases are the more traditional option. They are widely known and understood in the industry. They store data according to a schema. In relational databases, data is displayed as tables. Relational databases include platforms like MySQL and Oracle. While these databases are widely used and well-understood, they do have some serious limitations, which weâ€™ll discuss later.
These databases have emerged as a popular alternative to SQL and RDBMS databases. These databases are, as the name implies, non-relational and they tend to take on a variety of forms. As opposed to the structured nature of relational databases, non-relational databases can be agnostic where schemas are concerned and can allow semi-structured and unstructured data to be stored and utilized. There are various types of non-relational databases including key-value stores, wide column stores, and search engines.
NewSQL databases are hybrid databases that some players in the industry are developing. In a sense, they provide the best of both worlds. By utilizing the structure of relational databases and providing the flexibility of non-relational databases, they hold much promise for future developments. However, more work needs to be done before they will become mainstream.
SQL, RDBMS, and Relational Databases
Let’s talk a little bit more in-depth about how relational databases work and what they can be used for. We will also discuss some of the advantages that a relational database can offer.
How They Work
Relational databases emerged in the 1970s. Their long tradition means that they are widely used and accepted in the industry. They store data according to a schema. Schemas facilitate data display as rows and columns. This, of course, produces a table format. A relational database is essentially a collection of tables. Each table has fixed data types and attributes that items in the table will have. The schema represents these attributes. All relational databases facilitate reading, uploading, deleting, and creating data by utilizing Structured Query Language, or SQL, statements. Keys are used to identify locations in the table, rows, and columns, so information can be easily obtained.
There are many advantages to using a relational database. For one thing, they are mature, well-documented technologies. Also, many experts in the field exist. SQL standards are widely accepted and well-defined and they are all ACID-compliant. Acid refers to automaticity, consistency, isolation, and durability. Also, relational databases work well with structured data. They also have data integrity and a large ecosystem built-in.
While relational databases are entrenched in the industry and well-respected, they do have several limitations or disadvantages. First, they don’t scale horizontally very well if at all. They also struggle to work with semi-structured data. Furthermore, tables don’t always map one to one with a class or object that represents the same data. It’s also very difficult to migrate data as schemas, meaning both the schema of the source and the schema of the destination, must be identical. Also, since data is normalized there are a large number of joins, which slows everything down quite a bit.
Just as we discussed relational databases in more depth, we will go into some of the defining features, advantages, and limitations of non-relational databases as well.
How They Work
As web applications increased in number and complexity, non-relational databases became a popular alternative to relational databases due to their flexibility and variety. Non-relational databases fall into several categories. The first category is the key-value store database. This database is simple and only stores the key-value pairs. It offers basic retrieval functionality and not much more. The second category is wide-column stores, which are schema-agnostic. They are multi-dimensional key-value stores in which users can store data in column families or tables. A record refers to one row of a table or column family. Next, there are document stores, which are schema-free. These store data in JSON documents. The document name is the key and the document contents are the value. There are also graph databases in which data is represented by a network of related nodes or objects. This facilitates graph analytics and data visualization. A single node contains data that is free-form and connected by relationships. Itâ€™s also grouped according to labels. Graph-oriented database management software illustrates the connections between these data points. Finally, search engines store JSON documents and are schema-free, similar to document stores. The difference is that they more heavily emphasize the accessibility of semi-structured or unstructured data. They do this by using text-based searches that have strings of varying complexity.
It would be impossible to include all of the advantages of non-relational databases here. However, here are some of the most common advantages that users of non-relational databases find. Firstly, models that are schema-free are far easier to administer and provide more flexibility to the user. Secondly, databases that do not require SQL are more fault-tolerant. Thirdly these databases scale horizontally and easily distribute data across nodes. Fourthly, they offer high availability, and finally, most of them are open-source, although commercial products are also available.
One of the major drawbacks to non-relational databases is that they are not acid compliant. Also, there is insufficient support for joins and there is also limited indexing capabilities. Additionally, you have to code data integrity because it’s not built-in. Finally, denormalized data often means that you have to do mass updates in place of having them done automatically.
Non-relational database options are becoming more efficient and professionals who can use them are becoming more plentiful. While relational databases are still more stable, non-relational databases are better for semi-structured and unstructured data. For those who can afford to relax transactional consistency when importing data that is very high in volume, and in a few other situations, non-relational databases might be the best option. However, deciding which database type is right for you will depend largely on the functionality that you need. While the database options that are currently available are likely to grow in number and increase in flexibility and complexity as data needs continue to evolve, and even though non-relational databases are seeing an increase in usage and popularity, relational databases still tend to be the first choice since they are more traditional. That being said, it’s a brave new world for those interested in becoming early adopters of non-relational database technology.