The Types of Modern Databases

Are you storing data from IoT devices? Running a digital content management system? What about handling configuration data or recording inventory or transaction information? Or maybe dealing with just about any other system handling or generating data? If your data needs to be stored and accessed, you'll need some sort of a database.

Chances are, you already know this. But if you haven't looked at databases recently, you may be surprised at how the landscape has changed. It's no longer just a battle between monolithic relational database vendors. In fact, the popularity of non-relational databases is on the rise, more than doubling over the last five years; however, only one (MongoDB) is in the top five overall (relational and non-relational combined).

Depending on the type, structure, data model, data store, and intended use case of your data, different systems are likely to be better suited to your needs. The schema or querying mechanism required, your consistency or latency requirements, or even transaction speed (including real-time) can also influence your decision. For example, an embedded database for a system with locally stored dynamic configuration data will have quite different requirements from an operational relational database intended for tracking hotel room bookings.

So, where do you begin in choosing a database? We've looked at both NoSQL (non-relational) and relational database management systems (RDBMS) to come up with a bird's eye view of both ecosystems to get you started.

SQL/RDBMS/Relational Databases

Relational databases and related management systems (RDBMS) are more widely known and understood than their NoSQL cousins. Relational databases emerged in the 70s to store data according to a schema that allows data to be displayed as tables with rows and columns. Think of a relational database as a collection of tables, each with a schema that represents the fixed attributes and data types that the items in the table will have. RDBMSs all provide functionality for reading, creating, updating, and deleting data, typically by means of Structured Query Language (SQL) statements.

The tables in a relational database have keys associated with them, which are used to identify specific columns or rows of a table and facilitate faster access to a particular table, row, or column of interest.

Data integrity is of particular concern in relational databases, and RDBMS use a number of constraints to ensure that the data contained in your tables are reliable and accurate.

While there are many relational databases, over time, these have become the most popular:

Advantages

Disadvantages

NoSQL/Non-Relational Databases

NoSQL databases emerged as a popular alternative to relational databases as web applications became increasingly complex. NoSQL/non-relational databases can take a variety of forms. However, the critical difference between NoSQL and relational databases is that RDBMS schemas rigidly define how all data inserted into the database must be typed and composed, whereas NoSQL databases can be schema-agnostic, allowing unstructured and semi-structured data to be stored and manipulated.

Types

Note that some products may fall into more than one category. For example, Couchbase is both a document database and a key-value store.

Advantages

Since there are so many types and varied applications of NoSQL databases, it's hard to nail these down, but generally:

Disadvantages

These are also dependent on the database type. Principally:

Popular Relational and Non-Relational Databases

Which Database Is Right For You?

This post looks only at the most popular and best-known examples of these types of databases. For a more comprehensive list, including descriptions, look here.

 

 

 

 

Top