17/06/2024
Easy way to catch up database layers
Databases come in various types, each suited
1. RDBMS
Relational db use structured query language (SQL) for defining and manipulating data. They are based on a table-based schema, where data is organized into rows and columns.
EX: MySQL, PostgreSQL, Oracle, Microsoft SQL Server
Use Cases:Transactional systems, financial applications, enterprise applications
2. NoSQL DB
NoSQL databases are designed for unstructured data and can handle a variety of data models, including document, key-value, column-family, and graph formats.
a. Document Stores
Store data in document format (e.g., JSON, BSON).
Ex:MongoDB, CouchDB
b. Key-Value Stores
Use a simple key-value pair mechanism.
Ex:Redis, DynamoDB
Use Case:caching , session management, user preferences
c. Column-Family Stores
Store data in columns rather than rows, optimized for read and write performance.
Ex:Apache Cassandra, HBase
Use case : Big data analytics, time-series data
d. Graph Databases
Designed to represent and store data in graph structures with nodes, edges, and properties.
Ex:Neo4j, Amazon Neptune
Use Cases:Social networks, recommendation engines, fraud detection
3. NewSQL DB
NewSQL db aim to provide the scalability of NoSQL systems while maintaining the ACID (Atomicity, Consistency, Isolation, Durability) properties of traditional RDBMS.
EX: Google Spanner, CockroachDB, VoltDB
Use Case:Real-time analytics, large-scale transactional applications
4. In-Memory DB
In-memory db store data in the main memory (RAM) instead of disk storage, providing extremely fast data access.
Ex:Redis, Memcached, SAP HANA
Use Cases:Real-time data processing, caching, fast transaction processing
5. Time-Series DB
Time-series db are optimized for handling time-stamped or time-series data, where data entries are typically tracked, monitored, and aggregated over time.
Ex: InfluxDB, TimescaleDB, Prometheus
Use Cases: IoT data, monitoring and analytics, financial data
6. Object-Oriented DB
Object-oriented db store data as objects, similar to object-oriented programming.
Ex: db4o, ObjectDB
Use Cases:Applications with complex data structures, CAD systems
7. Graphical DB
These db are designed to store and query data in a graph format, which includes entities (nodes) and relationships (edges).
Ex: Neo4j, OrientDB
Use Cases: Network analysis
8. Multi-Model DB
Multi-model dbsupport multiple data models (e.g., document, graph, key-value) within a single integrated backend.
Ex: ArangoDB, OrientDB, MarkLogic
9. Cloud DB
Cloud db are designed to run on cloud platforms, offering scalability, high availability and managed services.
Ex :Amazon RDS, Google Cloud SQL, Azure Cosmos DB
-Use Cases:Web and mobile applications, enterprise applications with varying workloads
10. Distributed DB
Distributed db spread data across multiple physical locations, which can improve performance, fault tolerance scalability Ex :Apache Cassandra
What DB do you use ?