Basic introduction to a database?

A database is an organized collection of data, generally stored and accessed electronically from a computer system. Databases make it possible to manage, store, and retrieve information efficiently. The core purpose of a database is to enable users to access and manipulate data in a structured way. A high-performing database is crucial to organizations that have big amounts of data. Also, databases are essential for efficient scaling, data integrity, data security, and data analytics.

Evolution of databases

The earliest databases were magnetic tapes with data records stored sequentially.

In the 1970s, navigational databases such as hierarchical database and the network database were used to store data

  • hierarchical database: Instead of storing data records sequentially, they held them in a tree structure, establishing a parent-child relationship between two files. Unfortunately, the hierarchical data model was complex to implement and couldn’t handle multiple parent-child relationships without significant data duplication.
  • network database: The network data model, allowed one child record to have multiple parent records and vice versa.

In the 1980s, relational databases became popular. Items in a relational database are organized as a set of tables with columns and rows. Relational database technology provides the most efficient and flexible way to access structured information.

In the 1990s, object-oriented databases became popular. Information in an object-oriented database is represented in the form of objects, as in object-oriented programming.

In the 2000s, NoSQL databases became popular. A NoSQL or nonrelational database, allows unstructured and semistructured data to be stored and manipulated (in contrast to a relational database, which defines how all data inserted into the database must be composed). NoSQL databases grew popular as web applications became more common and more complex.

Now, with the rise of AI, vector databases has been gaining popularity. A vector database is a collection of data stored as mathematical representations. Vector databases make it easier for machine learning models to remember previous inputs, allowing machine learning to be used to power search, recommendations, and text generation use-cases. Data can be identified based on similarity metrics instead of exact matches, making it possible for a computer model to understand data contextually.

Modern databases

The databases used today have evolved to scale both vertically and horizontally. They can store vast data in the cloud and provide advanced software interfaces for machine learning and other data analytics.

Cloud database: A cloud database typically runs on a cloud-computing platform. There are two standard deployment models: users can run databases on the cloud independently or purchase access from a cloud database provider. Cloud databases can follow both SQL and NoSQL data models.

Graph database: Graph databases are useful because they prioritize the relationships between different data records. They are purpose-built to store and navigate relationships. A graph database consists of nodes and edges. Nodes store data objects, and edges store relationships between objects. An edge always has a start node, end node, type, and direction. It can describe parent-child relationships, actions, and ownership. There is no limit to the number and kinds of relationships a node can have.

In-memory database: While most databases are stored on external storage devices, an in-memory database resides in a computer’s internal memory. However, it is typically backed up by computer data storage as well. In-memory databases are faster than disk databases. They are often used where response time is critical, such as in telecommunications network equipment.





Reference from:
https://aws.amazon.com/what-is/database/
https://www.oracle.com/database/what-is-database/