Updated Data Stores in 5 mins (markdown)

jbirddog 2024-01-22 13:29:38 -05:00
parent 7b809315c2
commit be2a871086
1 changed files with 24 additions and 3 deletions

@ -13,17 +13,38 @@
## Current Data Stores
### JSONDataStore
### JSON Data Store
1. Allows storing any valid JSON blob
1. The entire blob is read/written when accessed
1. Very flexible but not optimal for large datasets
1. Stored in the backend's database, one row per instance
### JSONFileDataStore
### JSON File Data Store
1. Allows storing any valid JSON blob
1. The entire blob is read/written when accessed
1. Very flexible but not optimal for large datasets
1. Stored in a file that is committed to git along with process models
1. Good for small static global data that should be included in PRs/promoted to other environments
1. Good for small static global data that should be included in PRs/promoted to other environments
### Keyed-Key-Value (KKV) Data Store
1. Allows storing any valid JSON blob
1. Each blob is segmented by two levels of keys
1. An example use case, could be used to manage car lots for a large nationwide dealership
1. Top level key is the car lot id
1. Second level keys could be "inventory", "employees", "weekly-deals", etc
1. Data is lazy loaded via a function pointer placed in task data
1. A subset of data is read/written when accessed
1. Stored in the backend's database, one row per instance/top level key/secondary key
1. Good for larger datasets
### Type Ahead Data Store
1. Requires a structured JSON blob that details records to be used by the Type Ahead Widget
1. Allows records to be indexed with different search terms (Dan, dan@, Mr. Funk, His Funkness -> Dan Funk)
1. Is write-only from within BPMN diagrams
1. Requires the entire data to be loaded in one shot
1. Stored in the backend's database, one row per instance/search term
1. Good only if you are using the Type Ahead Widget