[Relational Databases]
[In-memory database]
[Key-value database]
A key-value database is a type of non-relational database, also known as NoSQL database, that uses a simple key-value method to store data. It stores data as a collection of key-value pairs in which a key serves as a unique identifier. Both keys and values can be anything, ranging from simple objects to complex compound objects.
vs relational
A key value database differs from a relational database in its structure and data model. While relational databases store data in tables with predefined schemas, key value databases store data as simple key-value pairs, without enforcing complex relationships or organizing the data according to fixed rules. This allows for greater flexibility and scalability but may sacrifice some of the advanced query capabilities provided by relational databases.
What are the trade-offs of using a key value database?
While key value databases offer significant advantages in terms of speed, scalability, and flexibility, they do come with trade-offs. One major trade-off is the lack of advanced querying capabilities, as key value databases do not provide features like joins or complex aggregations. Additionally, the simplicity of the structure may require additional application logic to handle relationships between data, which could be automatically enforced by a relational database.
[Search engine database]
[Document databases]
A document database is a type of NoSQL database that can be used to store and query data as JSON-like documents
[Graph database]
time-series-database
Starting from IBM’s seminal System R in the mid-1970s, relational databases were employed for what became known as online transaction processing (OLTP).
OLTP Writes
- Primarily UPDATES
- Randomly distributed (over the set of primary keys)
- Often transactions across multiple primary keys
Time-series Writes
- Primarily INSERTs
- Primarily to a recent time interval
- Primarily associated with both a timestamp and a separate primary key (e.g., server ID, device ID, security/account ID, vehicle/asset ID, etc.)