Traditionally, relational databases (like SQL server, Oracle, and others) store the data in columns and rows format. This combination allows us to have a table, where each row is a total unit of information and each column represents the attribute (record) saved. Here is an example:
123 Main St
321 Elm St
345 Oak Rd
22 Pine Ave
10 Cedar Ln
– ClientID: is a unique identifier for each client and serves as the primary key for the table.
– FirstName and LastName: store the first and last names of each client.
– Email: stores the client’s email address.
– Phone: stores the client’s phone number.
– Address: stores the client’s physical address.
– DateOfBirth: stores the client’s date of birth.
– RegistrationDate: stores the date when the client registered with the system.
On the other hand, Key Value Stores save each unit of information as a separate and independent document. This approach allows us to have individual attributes per document, in the following example, we can understand how it works.
In this schema, we can add/modify/delete any attribute without affecting any other documents.