Data and Accessibility of Data have been evolving rapidly, faster than any other technology since the inception of computerization in the early 1950s. Every day, we create roughly 2.5 quintillion bytes of data. Ever wondered how this incredibly vast data is managed, organized, and made accessible to power internet applications, business processes, transactions, apps on your phone, etc.
THE DATABASE is the obvious answer.
Database technology is one of the essential aspects of modern online computing. It has been around since 1946. Database management system (DBMS) that we know today came into existence in 1960, and RDBMS (Relational Database Management System) became popular with Codd's paper in the 1970s.
In this blog post, you'll learn:
- What is a Database
- Why Database is Used
- Different Types of Databases
- How Databases Work
Let's get started!
What is a Database?
A database is an organized collection of structured information, or data, typically stored electronically in a computer system. A spreadsheet with rows and columns is a classic example of a database in its raw and most original form. You can reference and query a database to power different applications.
For example, a Customer's Database powers your Customer Relationship Management (CRM) application. You can know about all your customers, what they have bought in the past, their contact information, and send personalized offer emails or messages to them for future sales. As the data gets bigger and its use cases advance, the concept of servers and clusters arises.
Database clusters are usually made of up to 4 to 32 servers, and each server has multiple memory banks. Database servers can either be commodity hardware or purpose-built databases optimized for specific database workloads like Big Data applications.
Nowadays, the types of databases and how they work are vastly different from some years ago. However, this concept of having a place to store data electronically isn't likely to go away anytime soon. Hence, the reason we need to know why we use a database?
Three main reasons to use databases
- Scale - Database is the best technology if you need to scale from one user to millions of users—the data centers today process unfathomable amounts of information at record speeds. Take Facebook, for example. Facebook has 147,000 photos uploaded every single second. Multiply it with its monthly active user base of 2.23 billion people. All this data being uploaded and then consumed runs through a database, and uploading photos is just one activity on Facebook. One can only imagine how incredibly scalable databases are.
- Accessibility - Unlike a file server, the database lets you query information without storing it in different places and worrying about data consistency. SQL is a common language that virtually all databases support to query the data. Nowadays, API acts as a middleman between databases and the programming language. APIs allow programs to talk to each other in an abstract way that isn't dependent upon the underlying technologies. You can just connect to the database, enter your credentials, and you're off and running.
- Flexibility - A database lets you store data in various formats, i.e., JSON, XML, etc. It can be structured or unstructured. A structured database has a well-defined layout with tables and columns, and hierarchies. An unstructured database is where it's more like a pile of documents that are not necessarily all in the same format, but they all do count as data. Both have their merits and different use cases. Thus databases are highly adaptable to change requirements and evolving business processes.
Now the question is, what are the different types of databases?
Three main types of databases
- Relational Database Management System (RDBMS) - RDBMS are relational because they have tables of data that can be related to each other and queried using SQL as the programming language. However, not all cases fit this model and these systems. For those other cases, you have big data systems.
- Big Data Systems - Big Data systems are designed to store large volumes of unstructured data and quickly process it. NoSQL, which stands for Not Only SQL, is popular in these Big Data Systems. You can either use the same programming language (like SQL) or a different language for each application. Popular examples in the big data world include Apache Hadoop, Apache Spark, and Apache Kafka.
- AltDB - These don't use SQL as the primary interface and have different ways of storing data. A good example here would be a graph database. A graph database is used to store data that has a relationship that can be navigated or followed. For instance, you could use it if you were building a social network (like Facebook) and wanted to save the connection between two people and then the connection between them and their friends. Graph Database would allow you to quickly traverse these connections in a way that is very easy, fine-tuned, and perform very well.
Each database has its characteristics, and they follow something known as the CAP Theorem. Eric Brewer gave this theorem which states that a database can only have 2 of the 3:
- Partition Tolerance
Consistency means that every time someone reads data from your database, they receive the most up-to-date information or get an error—for example, a bank transaction. If I bought something and then tried to buy something else a millisecond later, that second transaction needs to recognize that the first transaction was completed. Otherwise, we could have fraud on our hands, and people could steal a ton of money.
The second is Availability. It states that any request to your database receives a response. Now, it doesn’t guarantee, in this case, that the response will be the most up-to-date and accurate information.
The P on CAP theorem is Partition Tolerance. It means that the system will continue to operate despite any problems or challenges.
No matter which route you go or which goals you have, you can only pick two, never three. And that is the CAP theorem. This leaves us with the question of how do these things work?
How Databases Work
The basic idea is a user sends a request, that request is fettered out to the database system—whether that be an extensive data system, an RDBMS, or one of these AltDBs. The database retrieves the requested data and sends it over to the user. The user may want to send the data off to someone else, and the cycle repeats.
The world runs on databases.
No matter what role you're going for, you'll need to understand where these fit in and some of the different types and kind of how that has played out. Keep going to learn about the database architecture journey and understand the first type of these databases to the latest advancements in database technology in much greater detail. Head over to freethedataacademy.com/yt to see our entire catalog and sign up for a seven-day free trial, so you can start learning today to elevate your career tomorrow.