image

Database Types

13 Oct, 2023 Abdelrahman Etry

What is a Database?

A database is information that is set up for easy access, management and updating. Computer databases typically store aggregations of data records or files that contain information, such as sales transactions, customer data, financials and product information. Databases are used for storing, maintaining and accessing any sort of data. They collect information on people, places or things. That information is gathered in one place so that it can be observed and analyzed. Databases can be thought of as an organized collection of information.


What are the types of database?

1- Hierarchical Databases: 

use a parent-child model to store data. If you were to draw a picture of a hierarchical database, it would look like a family tree, with one object on top branching down to multiple objects beneath it. The one-to-many format is rigid, so child records can’t have more than one parent record. 

Examples : (IMS) IBM Information Management System, Windows Registry.


2- Network Databases: 

similar to the hierarchical database but with some changes. The network database allows the child record to connect with various parent records, therefore, allowing two-directional relationships.


3- Object-Oriented Databases: 

Its based on object-oriented programming, so data and all of its attributes, are tied together as an object. Object-oriented databases are managed by object-oriented database management systems (OODBMS). These databases work well with object-oriented programming languages, such as C++ and Java. Like relational databases, object-oriented databases conform to ACID standards

Examples : Wakanda, ObjectStore.


4- Relational Databases: 

The relational database management system (RDBMS) is the program that allows you to create, update, and administer a relational database. Structured Query Language (SQL) is the most common language for reading, creating, updating, and deleting data. Relational databases are very reliable. They are compliant with ACID (Atomicity, Consistency, Isolation, Durability), which is a standard set of properties for reliable database transactions. Relational databases work well with structured data. Organizations that have a lot of unstructured or semi-structured data should not be considered a relational database.

Examples : Microsoft SQL Server, Oracle Database, MySQL, PostgreSQL and IBM Db2.


5- NoSQL Databases: 

A broad category that includes any database that doesn’t use SQL as its primary data access language. These types of databases are also sometimes referred to as non-relational databases. Unlike in relational databases, data in a NoSQL database doesn’t have to conform to a pre-defined schema, so these types of databases are great for organizations seeking to store unstructured or semi-structured data. One advantage of NoSQL databases is that developers can make changes to the database on the fly, without affecting applications that are using the database.

Examples : Apache Cassandra, MongoDB, CouchDB and CouchBase


5.a) Key-Value Databases: 

One of the simplest types of NoSQL databases, key-value databases save data as a group of key-value pairs made up of two data items each. They’re also sometimes referred to as a key-value store. Key-value databases are highly scalable and can handle high volumes of traffic, making them ideal for processes such as session management for web applications, user sessions for massive multi-player online games, and online shopping carts.

Examples : Amazon DynamoDB, Redis.


5.b) Document Databases: 

Also known as document stores, use JSON-like documents to model data instead of rows and columns. Sometimes referred to as document-oriented databases, document databases are designed to store and manage document-oriented information, also referred to as semi-structured data. Document databases are simple and scalable, making them useful for mobile apps that need fast iterations. 

Examples : MongoDB, Amazon DocumentDB, Apache CouchDB.


5.c) Wide Column Databases:

Also known as wide column stores, are schema-agnostic. Data is stored in column families, rather than in rows and columns. Highly scalable, wide column databases can handle petabytes of data, making them ideal for supporting real-time big data applications.

Examples : BigTable, Apache Cassandra, and Scylla.


5.d) Columnar Databases: 

Also referred to as column data stores, columnar databases store data in columns rather than rows. These types of databases are often used in data warehouses because they’re great at handling analytical queries. When you’re querying a columnar database, it essentially ignores all of the data that doesn’t apply to the query, because you can retrieve the information from only the columns you want.

Examples : Google BigQuery, Cassandra, HBase, MariaDB, Azure SQL Data Warehouse.


5.e) Graph Databases: 

A type of NoSQL database that is based on graph theory. Graph-Oriented Database Management Systems (DBMS) software is designed to identify and work with the connections between data points. Therefore graph databases are often used to analyze the relationships between heterogeneous data points, such as in fraud prevention or for mining data about customers from social media.

Examples : Datastax Enterprise Graph, Neo4J.


5.f) Search Engine Databases: 

Distinguished from document stores to help make the data available by simple text-based searches.

Examples : Solr, Splunk, and Exasticsearch.


6- Domain Specific Databases: 
a) Time Series:

Database optimized for time-stamped, or time series, data. Examples of this type of data include network data, sensor data, and application performance monitoring data. All of those Internet of Things sensors that are getting attached to everything put out a constant stream of time series data.

Examples : Druid, eXtremeDB, InfluxDB.


b) Spatial and Geographic Objects:

Spatial databases provide a strong foundation for accessing, storing, and managing your spatial data empire.

Examples : ArcGIS, PostGIS.


7- Cloud Databases: 

Refers to any database that’s designed to run in the cloud. Like other cloud-based applications, cloud databases offer flexibility and scalability, along with high availability. Cloud databases are also often low-maintenance since many are offered via a SaaS model.

Examples : Microsoft Azure SQL Database, Amazon Relational Database Service, Oracle Autonomous Database.


8- Distributed Databases: 

This database stores records or files in several physical locations. Data processing is also spread out and replicated across different parts of the network. They can be homogeneous, where all physical locations have the same underlying hardware and run the same operating systems and database applications. They can also be heterogeneous. In those cases, the hardware, OS and database applications can be different in the various locations.

Examples : Apache Ignite, Apache Cassandra, Apache HBase, Couchbase Server, Amazon SimpleDB, Clusterpoint, and FoundationDB.

Conclusion:

The types of database management systems are growing with the advent of new technologies. Most developers and engineers are familiar with RDBMS, but a combination of newer database systems, like distributed and NewSQL databases, can also be used to reach their goals. 
The accurate analysis of critical factors like data size and growth projections, expected query volume and complexity, and consistency requirements help data teams pick the best type of database for their needs.
Experimenting and ongoing monitoring are also necessary to ensure that the database meets the organization’s evolving needs over time.
Recent Posts
image

Laravel Livewire

12 Sep, 2024 Abdelrahman Etry
image

Deployment with Envoyer and Laravel

30 Oct, 2023 Abdelrahman Etry
image

Laravel Request Lifecycle

28 Oct, 2023 Abdelrahman Etry
image

Laravel Queues: Everything You Need to Know

28 Oct, 2023 Abdelrahman Etry
image

Laravel Repository Pattern

28 Oct, 2023 Abdelrahman Etry
image

Laravel Packages You Should Know About

26 Oct, 2023 Abdelrahman Etry