Many of your online interactions involve databases. Whether you’re accessing bank accounts or cloud storage, streaming your favorite shows or checking your Facebook notifications, powerful databases are needed to retrieve and protect your data.
What is a database? Simply put, a database organizes information into rows, columns and tables. Data is then indexed so you can easily find relevant information. If you need to process thousands or even millions of actions securely and quickly, you’ll need a more complex database. There are different types of databases that can help you with specific uses and software needs.
Types of Databases
There are multiple ways to group different types of databases. For instance, you could discuss categories such as distributed databases (portions stored in multiple physical locations) and cloud databases. However, one of the most common ways to look at types of databases is to separate them into two broad classifications: relational and non-relational databases.
You’ll likely choose a relational database if you need something that can handle complicated querying, database transactions and routine analysis of data. Relational databases can cross-reference records in different tables, which means you can create relationships between them easily. Most databases are relational, and they’re still preferred for online transaction processing.
Edgar F. Codd invented the relational model for database management in 1970 for IBM. By using a set of tables with data that fits into a predefined category, relational databases group data into sets of tables of columns and rows, with a unique key for each row. That unique key enables data to be reorganized and accessed in multiple ways.
James Serra, a data platform solution architect at Microsoft, outlined the pros and cons of relational databases in an industry presentation. Advantages of relational databases include the ability to work with structured data, support for ACID (atomicity, consistency, isolation, durability) transactional properties and “joins” (merging tables), built-in data integrity, a large ecosystem and limitless indexing. Disadvantages include inefficient horizontal scaling, lots of joins as a result of normalized data, which affects speed, and issues working with semi-structured data.
Relational databases are known by other names. They may be referred to as RDBMS (relational database management system), which is technically the software system used to maintain relational databases. Also, because nearly all of them use SQL (Structured Query Language) statements to read, create, update and delete data, relational databases can be synonymous with SQL.
Real-time data service company Alooma discusses relational databases with SQL and RDBMS terminology and offers several additional (commercial) types of databases within this group: Oracle, MySQL, Microsoft SQL Server, PostgreSQL and DB2.
When you set up a relational database, you have to consider how you’ll set up primary and foreign keys. What if you’re not sure? Or what if you’re dealing with a particularly large amount of data? Non-relational or NoSQL databases may be right for your needs. They’re a popular alternative to relational databases for increasingly complex web applications and big data use.
The primary difference between these types of databases is that non-relational databases allows for unstructured and semi-structured data to be stored and manipulated. No keys are needed, which forms the primary benefit of non-relational databases, along with high availability. There are many open-source and “free” non-relational databases, but they involve plenty of training, setup and development costs. Other disadvantages include limited support for joins, weak support for ACID properties, lack of built-in data integrity and limited indexing.
Here are some common types of non-relational databases, according to Alooma:
- Key-value stores like Redis and Amazon DynamoDB. Those simple data management systems store key-value pairs and allow retrieval for value associated with a known key.
- Wide column stores like Cassandra, Scylla, and HBase. Those solutions store data in column families or tables, and can manage pentabytes of data across thousands of commodity servers. Some solutions use an SQL variant called CQL for data definition and manipulation, which can make it easier for professionals who have background in SQL to transition to wide column stores.
- Graph databases like Neo4J and Datastax Enterprise Graph. Those databases help facilitate data visualizations and graph analytics by representing data as a network of related nodes or objects. Nodes and objects contain free-form data connected by relationships and grouped by labels. Graph databases are helpful for making relationships with data points, such as fraud prevention and advanced enterprise operations.
- Search engines like Elasticsearch, Splunk and Solr. Those solutions store data using JSON documents, similar to document stores, but place a greater emphasis on making data easily accessible using text-based searches.
Selecting the Right Database
Choosing and implementing the right database solution requires a high level of knowledge and skills to build an efficient, secure solution. More professionals are needed in IT to manage big data, with employment of computer and information systems managers projected to increase 12 percent by 2026. Median pay for these in-demand professionals is $139,220 per year and an online bachelor’s in information technology management can fulfill the most common educational requirement for these roles.
At Jefferson Online, you’ll receive a well-rounded education in information technology with coursework in networking, database management and more. Study in a flexible learning environment that allows you to maintain your work and personal commitments. Get started today!