The Management of Data
Tags: database, systems, bigdata, management
Published: 2021-04-06 20:13:16

## What is Data?
Data are any raw facts and figures that can be recorded. It can also be thought as a collection of facts about the object of interest.
Eg: text, number, images, video, speech etc.

Since data is raw, we need to process it in order to get a meaning out of it. The processed data is called information, and data and information collectively synthesize to provide knowledge.

> **Data** ---*processing*----> **Information** ------(information + data) *synthesize*------> **Knowledge**

Eg:.
   marks>90 :data
   1st division :information
   class topper :knowledge

![data pyramid](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rvzdl6lgwtw3okh0vmjt.png)

* Software Applications need to store data as it is required to answer questions.
For e.g.: From a student's record, how many students have scored above 80?

* Data is also required to convey a story.
For e.g.: How a student is categorized as Top Performer?

## Database
It is a collection of related data.
If the database is very huge and historical, then it is referred to as **Data Warehouse**.

## Define, Construct and Manipulate Data
Earlier, [Operating Systems](#) used to provide support to the Database. But putting additional burdens on the operating system makes the OS way more acquired, and the boot time eventually becomes high. Also, another problem associated with this approach is that whenever a user wants to reach to the database, to say, fetch an information, or for updating data, or maybe anything else; he/she is supposed to call the operating system. 
Whenever the operating system is called, it switches from *user mode* to *kernel mode*, which is way more advanced.
<!---
links to be updated for kernel
-->

But as a user, one does not require such an advanced level of functionality in order to just reach to our database. All we need is the speed, in accessing the database.

Hence, to avoid this, users write their *own programs*, which helps them in order to access their own database, and these programs run in the user mode, with just the needed functionalities, as expected by the user.

These *set of programs*, which the users write in order to reach out to the database, which helps in `defining, constructing, and manipulating data` is known as **DBMS**, i.e., Data Base Management System.

## Database Management System
is a software system that enables users to define, create, maintain and control access to the database.

Database systems typically have high cost and they require high-end hardware configurations.
>***Then why do we use Databases to store data?
[Why can't we use other methods, such as files for storing data?](https://dev.to/noviicee/files-448o)***

<!--An [Application Program](#) interacts with a database by issuing an appropriate request (typically a [SQL statement](#))-->

> DataBase + DBMS = DataBase System

## Advantage of Databases over Files

Database Management Systems offer several functions that help us overcome problems associated with file-based systems.Some of them are-
* Data Management
* Integrity
* Transaction
* Concurrency
* Security
* Recovery
* Utilities 

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/28gjq3bcjwsmz98fr7ij.png)

## Storing Data?

Even though they have numerous advantage over files,
*Databases are costly.*
Read as well as write operations are costly in a database.
eg: AWS, Google Cloud(GCP), Azure, GoDaddy

This is because large and complex databases are quite complicated and expensive to manage. It requires a lot of highly competent (and hence expensive) staff to manage the tables, or data sets.

**Database Systems** are categorized into four types based upon the underlying structure used to store data. These database systems in chronological order of their evolution are-<p>Hierarchical, Network, Relational and NoSql.

![Types of Databases](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p8puhm1dhma61frursfk.png)

Depending on their underlying structure, each database system has its own methods and set of rules to store data.

<!--
-> [Relational Model](#)
-->