Paper
Non-Electronic Databases
Card Catalogs
Traditional card catalogs were used in libraries to organize and categorize information about books and other resources.
Filing Cabinets
Filing cabinets with folders and physical documents are a classic example of non-electronic databases used in offices.
Rolodex
A Rolodex is a rotating file device used to store contact information
Ledgers and Logbooks
Businesses and organizations have historically used ledgers and logbooks to record transactions, inventory, or other types of data manually.
Flat File
Flat File Databases
Flat file databases store data in a plain text or binary file with a simple structure, usually a single table with a list of records. They are simple and easy to implement but may become unwieldy as data complexity increases.
Example
- Spreadsheets
- CSV Files
Relational
Relational Databases
In relational databases, data is organized into tables with rows and columns. Each table represents an entity(a thing), and the relationships between tables are defined.
They provide a flexible and efficient way to manage structured data with complex relationships They are highly scalable and suitable for handling large volumes of data.
Examples
- MySQL
- SQLite
- PostgreSQL
- Oracle Database
- Microsoft SQL Server
NoSQL
NoSQL Databases
NoSQL databases are designed to handle unstructured or semi-structured data and are more flexible than relational databases.
Types of NoSQL databases
- document-oriented (e.g., MongoDB)
- key-value stores (e.g., Redis)
- wide-column stores (e.g., Cassandra)
- graph databases (e.g., Neo4j)
Object-Oriented
Object-Oriented Databases
These databases are designed to work well with object-oriented programming languages.
They store data as objects, making it easier to work with complex data structures.
Examples include db4o and ObjectDB.
Graph
Graph Databases
Graph databases are designed to store and process data in the form of graphs with nodes, edges, and properties.
They are useful for applications involving relationships and networks.
Examples include Neo4j and Amazon Neptune.
Time-Series
Time-Series Databases
These databases are optimized for handling time-series data, which is data that changes over time.
They are commonly used in applications like IoT, monitoring, and analytics.
Examples include InfluxDB and OpenTSDB.
Spatial
Spatial Databases
Spatial databases are designed to store and query data related to spatial or geographic information.
They are used in applications involving maps, GPS, and location-based services.
Examples include PostGIS (an extension for PostgreSQL) and Oracle Spatial.
In-Memory
In-Memory Databases
In-memory databases store data in the system’s main memory (RAM) rather than on disk, allowing for faster data access.
They are suitable for applications that require high-performance and low-latency.
Examples include Redis and SAP HANA.
Distributed
Distributed Databases
Distributed databases spread data across multiple nodes or servers, offering scalability and fault tolerance.
Examples include Apache Cassandra, Amazon DynamoDB, and Google Cloud Spanner.