Relational Databases
Relational databases store data in the tables consisting of rows & columns. They utilize Structured Query Language (SQL) for data manipulation and are known for their reliability and adherence to ACID (Atomicity, Consistency, Isolation, Durability_ properties. These databases are ideal for structured data and complex queries.
examples: Microsoft SQL Server, Oracle Database, MySQL, PostgreSQL
NoSQL Databases
NoSQL databases provide a flexible schema that allows for the storage of unstructured or semi-structured data. They do not rely on SQL for data access and are designed to scale horizontally, making them durable for large volumes of diverse data.
Types of NoSQL Databases:
- Document-oriented Database: Store data in documents (usually JSON or XML) and are great for applications needing flexible data models Examples: MongoDB, CouchDB
- Key-value Stores: Simplest form of NoSQL databases, storing data as key-value pairs. They are highly scalable and efficient for specific use cases. Examples: Redis, Amazon DynamoDB
- Column-family Stores: Organize data in columns rather than rows, which enhances performance for analytical queries. Examples: Apache Cassandra, HBase
- Graph Databases: Designed for data with complex relationships, these databases use graph structures to represent and query data efficiently. Examples: Neo4j, Amazon Neptune.
Cloud Databases
Cloud databases are hosted on cloud platforms, providing scalability, flexibility, and high availability. They can be relational or NoSQL and often come with low maintenance requirements due to managed services.
Examples: Amazon RDS, Microsoft Azure SQL Database, Oracle Autonomous Database.
Object-oriented Databases
These databases store data in the form of objects, similar to object-oriented programming. They are useful for applications that require complex data structures and relationships.
Examples: ObjectStore, db4o.
Hierarchical Databases
Hierarchical databases organize data in a tree-like structure, where each record has a single parent and potentially multiple children. This model is less flexible and scalable compared to other database types.
Examples: IBM Information Management System (IMS).
Network Databases
Network databases allow for more complex relationships by permitting records to have multiple parent and child relationships, forming a graph structure. This flexibility supports many-to-many relationships.
Examples: Integrated Data Store (IDS), CODASYL DBTG.
Time-Series Databases
These databases are optimized for handling time-stamped data, making them ideal for applications involving time-series analytics, such as IoT data and financial transactions.
Examples: InfluxDB, TimescaleDB
Vector Databases
Vector databases are designed for machine learning applications, efficiently storing and querying high-dimensional vectors. They are increasingly important for tasks like recommendation systems and natural language processing.
Examples: Pinecone, Weaviate
Top comments (1)
We can add in-Memory Database like HANA