Data stores
2 minute read
Databases/datastores
Relational database
- Stores data in tables
- Records in separate tables are related to each other using keys
- A key is a column storing unique values per row
Key-value
Structure | Relationship |
---|---|
Semi-structured | non-relational |
- Optimized for fast data writes
- Simple data structure
- Each row is referenced by a single key value
- Only supported operations are
- Query
- Insert
- Delete
Supported platforms
Column family
Structure | Relationship |
---|---|
Semi-structured | Non-relational |
- Data is organized as rows and columns BUT the columns are divided into column families that can store multiple values in a single column
- Tables in column family databases can be divided into groups (column family) holding sets of columns that are related
Support platforms:
Graph
Structure | Relationship |
---|---|
semi-structured | non-relational |
- Made up of entities and relationships
- Data stored as nodes and edges
- Nodes represent instances of data entities (analogous to rows in a relational database table)
- Edges represent the relationships between nodes (also known as grpahs)
- Represent complex relationships
- Parent/child relationships can be created between nodes (direction)
- Properties represent attributes of data against a node (email address for example)
Supported platforms
Document
Structure | Relationship |
---|---|
semi-structured | non-relational |
- Each document typically contains all data for a single entity
- The data contained can vary between documents
- Each document is identified by a unique key
- Each document is read/written as a single block
- Does not support relationships between documents
- Does not use the same data schema for all documents
- The schema is defined internally in each document
- Each document can use its own schema
JSON
- Each data field is identified by a label, followed by a colon, and then the field value
- for example; “ID”: “Joe”
- Curly brackets {} are used to enclose the document and any sub-documents
- Azure Cosmos DB is the most common storage solution for this data store
Supported platforms: Azure Cosmos DB
Table
Structure | Relationship |
---|---|
- Uses rows and columns
- Schema is not enforced
- Each row can have different number of columns
Supported platforms
- Azure Table storage
Object
Structure | Relationship |
---|---|
Unstructured | non-relational |
- Optimized for storing and retrieving blobs such as audio and video files
Support platforms
- Azure Blob storage
References
<your_text>
Last modified July 21, 2024: update (e2ae86c)