What is a Key Value Database?
A Key-Value database, also popularly known as Key-Value Store, is a data storage model designed for storage, retrieval and managing associative arrays. These Associative Arrays are a type of data structure which is also known as a Dictionary or Hash table. The key-value pair concept is also commonly known as Entity Attribute Value (EAV).
The key-value databases are one of the most flexible types of NoSQL Databases. The traditional databases have predefined schemas with data to be strictly in tables. These Key-Value databases are, therefore, an alternative to many of these kinds of limitations in the conventional databases. These Key Value stored databases do not contain any schema and the data value is opaque.
What is a Key in Key-Value Database?
The key in a key-value pair must be unique. This is that unique identifier that allows you to access the value associated with it. This is similar to the primary key concept in databases.
A key could contain any value; however, every database comes with its own set of characteristics and limitations imposed on a key.
What is a Value in Key-Value Database?
The Value can be retrieved using the Key(identifier) in a key-value store. This could contain values like:
- Bit Arrays
- Binary Values
- Short videos
- Sorted Sets
- Markup codes such as HTML, XML, JSON
- Hyper Log logs
- Another key-value pair encapsulated in the form of an object
Types of Key Value Stores
These Key-Value stores have different types of consistency models as below.
- Solid – state drive or rotating disk
- Eventually consistent
Key Value Database Examples
- Oracle Berkeley DB
- Oracle NoSQL
Key Value Pair Advantages
- Better Performance
- Flexible Data Modeling
Key ValueDatabase Disadvantages
- In-efficient ordinary SQL operations such as Group By or Join
- Inappropriate SQL datatype for the value
- Unavailability of all SQL constraints such as Foreign Key or Not Null
- Extra lines of code
If you have any doubts or any additional points to share about Key Value Databases, please mention them in the comment section below.