You might not realize this but databases are pretty much at the root of everything in Information Technology. If you use any type of computer, you access and create databases on a daily basis.
For example, the contact list on your smartphone is a database; so is your “Friends” list in Facebook, your wish list at Amazon – along with the record of your previous orders, the activity page for your Fitbit, and the radio stations you create on Pandora.
Databases are everywhere, and database management systems control how that data is used and accessed.
Types of Database Management Systems
There are four major types of database management systems (DBMS), and each system determines how a database is structured.
Hierarchical databases are structured in tiers, where you have one piece of data at the top tier, and a related piece of data on the next tier down, and so on.
For example, let’s say you have a food catalog. On the top tier are all the departments, such as Meats, Dairy, Condiments, etc. If you click on “Meats” you reveal the next tier, which contains the different types of meats (ie: “Pork,” “Chicken,” “Beef,” etc.). If you click on “Beef” you reveal the next tier, which contains the cuts of beef. The tiers branch out like tree roots, where the next tier down contains more data than the previous.
With a hierarchical DBMS, data is arranged in a linear fashion. With the Network DBMS, the data is more of a cloud because each piece of data could be connected to several other pieces of data at once. Unlike the catalog example for the hierarchical database, the Network DBMS is not as visible and is much more complicated. Often, these types of database work in the background to link several different ideas, and make them appear linear on the front end.
For example, if that food catalog has a section where you can view items by price, availability, shipping costs, or any other criteria, and it’s designed to return results from multiple categories across the catalog site, there is probably a Network DBMS working in the background to make that happen.
A relational DBMS is kind of like a network DBMS in that each piece of data could be connected to several other pieces of data. However, the difference is in how those relationships are structured. A network DBMS uses two elements (records and sets) to identify and arrange data in a graph. A relational DBMS uses three elements (domain, relation, and attitude) to identify data and arrange it in a table. Like the network DBMS, it could be used to generate reports by pulling data from multiple related sources.
Object-oriented databases are similar to network and relational databases in that they are complex and deal with data that has multiple connections to other pieces of data. However, unlike the previous sets, the object-oriented DBMS handles graphics, photographs, video, sound, in addition to alpha-numeric text. On the back end, the data is arranged in a grid, even it appears hierarchical to the user.
Media sharing sites, like YouTube, and streaming video sites like Netflix are good examples of object-oriented databases.
Database Structure vs Utility
The structure of the database is just one part of the equation. It’s a big part, because it determines how the data is stored, and how it is tagged for retrieval, but database performance tuning and database optimization are also very important.
Database Performance Tuning
Database performance tuning looks at the overall structure of the database to identify and diagnose performance problems, configure and analyze storage, and make sure the database is functioning well with the operating system and other applications.
Database optimization deals with the empty spaces that are left in the data storage system with data is removed, relocated, or rewritten. After a while these empty spaces can serious slow down the process of data retrieval. Essentially, database optimization “tidies up” the data storage area to remove the clutter that could be slowing down your performance.
Slow database performance could mean errors and delays in accessing information. Best case scenario it means you have to wait several seconds for a database search to return the correct result. In the worst case scenario, you end up retrieving the wrong data or getting no result at all.
For example, back in 2013 when the Healthcare.gov marketplace opened, there were several glitches that prevented users from registering at the site and enrolling in a healthcare plan. In some cases, users couldn’t verify their identities, and others users were unable to submit their completed applications. A majority of those glitches were due to database issues, either with optimization or tuning.