Introduction to Database Awareness
Tags: database, security, rdbms, beginners
Published: 2024-01-05 16:43:13

A database is a structured collection of data organised in a way that allows efficient retrieval, storage, and management of information. Databases are a fundamental component of many software applications, providing a systematic and organised approach to storing and retrieving data.

Databases can be categorised based on various criteria, including their data model, architecture, and use cases. 

Here's a list of some common categories of databases:

## 1. Relational Databases (RDBMS):

Organises data into tables with rows and columns,          enforces relationships between tables, and uses SQL for querying and managing data.


**Examples**: [MySQL](https://www.mysql.com), [PostgreSQL](https://www.postgresql.org), [Oracle Database](https://www.oracle.com/in/database/), [Microsoft SQL Server](https://www.microsoft.com/en-in/sql-server/sql-server-2022).

More details about [RDBMS](https://dev.to/binoy123/relational-database-management-systemrdbms-36m3)

## 2. NoSQL Databases:

#### a. Document-Oriented Databases:

Stores data in flexible, JSON-like documents.
   
**Examples:** [MongoDB](https://www.mongodb.com), [CouchDB](https://couchdb.apache.org).
		

#### b. Key-Value Stores:

Stores data as key-value pairs.
           
**Examples:** [Redis](https://redis.io), [Amazon DynamoDB](https://docs.aws.amazon.com/dynamodb/).
	
#### c. Wide-Column Stores:

Organises data in columns and is used in distributed and scalable environments.

**Examples:** [Apache Cassandra](https://cassandra.apache.org/doc/latest/), [HBase](https://hbase.apache.org).

#### d. Graph Databases

Stores and queries data with complex relationships using graph structures.

**Examples:** [Neo4j](https://neo4j.com), [Amazon Neptune](https://aws.amazon.com/neptune/).

## 3. In-Memory Databases:

   Stores data primarily in RAM for fast data access.

   Examples: [Redis](https://redis.io), [VoltDB](https://www.voltactivedata.com).

## 4. NewSQL Databases:

Aims to combine the scalability of NoSQL databases with ACID compliance for distributed transactions.

**Examples:** [Google Spanner](https://cloud.google.com/spanner?hl=en#section-1), [CockroachDB](https://www.cockroachlabs.com).

## 5. Columnar Databases:
Stores data in columns, optimised for analytical queries 			and data warehousing.

**Examples:** [Amazon Redshift](https://aws.amazon.com/redshift/), [Google Bigtable](https://cloud.google.com/bigtable/).

## 6. Time-Series Databases:

Designed to efficiently handle and query data with timestamp information, commonly used in monitoring and IoT applications.

**Examples:** [InfluxDB](https://www.influxdata.com), [Prometheus](https://prometheus.io).

## 7. Spatial Databases:

Manages and queries spatial or geographic data, supporting features like points, lines, and polygons.

**Examples:** [PostGIS](https://postgis.net) (extension for PostgreSQL), [Oracle Spatial](https://www.oracle.com/database/spatial/).
	
## 8. Object-Oriented Databases:

Stores data in the form of objects, allowing for a more natural representation of complex data structures and relationships.
	
**Examples:** [db4o](http://www.db4o.com/), [ObjectDB](https://www.objectdb.com).

## 9. Multimodel Databases:

Supports multiple data models (e.g., document, graph, key-value) within a single database engine.
	
**Examples:** [ArangoDB](https://arangodb.com), [OrientDB](http://www.orientdb.org).
	
## 10. Blockchain Databases:

Stores data in a decentralised and tamper-resistant manner using blockchain technology.
	
**Examples:** [Hyperledger Fabric](https://www.hyperledger.org), [Ethereum](https://ethereum.org/en/).
 
## 11. Embedded Databases:

Lightweight databases integrated directly into an application.	

**Examples:** [SQLite](https://www.sqlite.org/index.html), [H2 Database.](https://www.h2database.com/html/main.html)
	
## 12. Cloud-Based Databases:

Hosted and managed in the cloud, providing scalability, automated backups, and easy integration with other cloud services.

Examples: [Amazon RDS](https://aws.amazon.com/rds/), [Azure SQL Database](https://azure.microsoft.com/en-us/products/azure-sql/database/), [Google Cloud Firestore](https://cloud.google.com/firestore?hl=en).

This list provides an overview of different database categories, and each category serves specific use cases and requirements. The choice of a database type depends on factors such as data model, scalability, performance, and the nature of the application being developed.