Databases are modular systems that consist of multiple parts
- A transport layer accepting requests to the database
- A query processor determines the most efficient way to run the queries
- An execution engine carrying out the operations
- The storage engine, the software component of a database management system, is responsible for storing, retrieving, and managing data in memory and on the disk
Storage Engines
The Storage Engine (or database engine) is a software component of a database management system responsible for storing, retrieving, and managing data in memory and on disk, designed to capture a persistent, long-term memory of each node.
This portion of the DB manages data more granularly and provides a simple data manipulation API for creating, updating, deleting, and retrieving records.
Different storage engines can have different use cases, and you can bootstrap a specific DB to multiple different storage engines.
Comparing Databases
The best way to determine which database system you might want to use is to capture your workflow and simulate it across various systems. Some variables that you might want to keep track of are:
- Schema and record size
- Number of clients supported
- Types of queries and access patterns
- rates of the read and write queries
- expected changes in each of these variables
Linked Map of Contexts