One of the top pursuits of today’s information systems professionals is analyzing and making use of the incredibly high volumes of data being created by users across the globe on a daily basis. More data is being created today than ever before—about 2.5 quintillion bytes of data are generated on a daily basis, and 90 percent of global data was created in the previous two years.
In order to make use of these vast volumes of data, the information has to be cataloged somewhere. This is where database systems come into play, and provide a site in which to gather and store any type of informational data.
However, there are several different types of databases available to information systems professionals. Each varies when it comes to programming language, the process through which data is stored, and how users interact with the system. Students of the University of Alabama at Birmingham Online Bachelor of Science in Information Systems will explore different database fundamentals and learn how to design, implement and use a database system within the course Introduction to Database Management Systems.
Today, we’ll take a closer look at some of the top advanced database systems utilized by information systems professionals today, the differences between them and the considerations to make when selecting a database.
SQL vs. NoSQL
One of the first elements to think about when exploring different database systems comes down to SQL or NoSQL.
- SQL databases, otherwise known as relational databases, use the Structured Query Language programming language to support their processes. SQL databases rely on relations, or tables, and leverage common characteristics or patterns within the data to categorize and store information.
- NoSQL, on the other hand, are nonrelational databases, and thus do not use tables to store or categorize data. These databases can handle a wide variety of data types and models, and primarily leverage JSON documents, or complete and readily readable entities or data sets. NoSQL databases are known for their ease-of-use and flexibility, as well as their scalability and performance.
As BMC contributors Laura Shiff and Walker Rowe explained, the main differences between these types of databases are the language each uses, the level of scalability and the way each database structures stored data. Where relational databases leverage the SQL programming language, NoSQL databases utilize a dynamic and unstructured schema to store data.
In addition, SQL databases are vertically scalable, which enables users to raise limits for RAM, SSD or CPU to boost the workload capabilities of each, individual server supporting the database. NoSQL databases are horizontally scalable. This means that opposed to adjusting the RAM or CPU to increase the load on individual servers, users can simply add more servers to expand the database.
Delving further: NoSQL (nonrelational) databases
There are several main types of relational databases, including well-known industry mainstays Oracle, MySQL, MS Server and PostgreSQL. These SQL databases are relational, and function much in the same way through the use of tables with rows and columns to enable data storage. Each cell in the table is assigned a specific piece of data or value.
NoSQL, or nonrelational databases, on the other hand, include several different types of databases which have key characteristics. Let’s take a look at some common NoSQL database types:
- Document store databases, including MongoDB and Couchbase, utilize JSON, BSON, and XML document file types to store data within a more flexible, unstructured schema. Documents can include all different types of data, making these types of databases ideal for semistructured, or completely unstructured data. As InfoWorld contributor Humberto Farias points out, document store databases can be used for content management, in-depth data analysis initiatives, and rapid prototyping.
- Key-value store databases, like Redis and Memcached, are also known as associative array databases. Here, each value or piece of data is assigned a specific key used to store and categorize information. These values can include a variety of data types, such as numbers, JSON, XML, HTML, PHP, images, videos, lists or even other key-value data. These databases are known for their flexibility and performance, and because they are horizontally flexible, key-value store options typically come with lower operating costs. These types of databases are ideal for storing information like user profiles and software settings, session management, unstructured data including product reviews or blog comments, and other data that will be utilized often, but not updated on a regular basis.
- Wide-column store databases are also nonrelational databases that leverage a dynamic data storage style. As Farias notes, wide-column store databases are sometimes treated as a subset of key-value store databases, but they do include certain characteristics of traditional SQL databases. Wide-column store databases include column families similar to that seen within relational database tables. This type of database is most useful for big data analytics initiatives, data warehousing and other, more large-scale projects, or those that include time-stamped information.
A few considerations when choosing databases
As noted, there are several key differences to be aware of when it comes to different types of databases. Overall, it’s important to consider the type of data that will be stored within the database, the volume of this information, and whether a more flexible and unstructured storage approach is needed, or if data would be better stored in a structured table.
For instance, a large-scale big data analytics project that includes several different types of data and/or files would benefit from the use of a wide-column store, nonrelational database.
Students interested in learning more about the use of databases can expand their education within Course IS 301 – Introduction to Database Management Systems. This three-credit-hour course is part of the Information Systems Core curriculum within the University of Alabama at Birmingham’s Online Bachelor of Science in Information Systems. Check out our website and connect with one of our expert enrollment advisors to learn more.