將 json 解析為關係數據庫還是使用 NoSQL?
我正在從大小在 100kb 到 7mb 之間的 API 中檢索 JSON 文件。響應的結構是:
我最初考慮將響應儲存在關係數據庫中,其中包含以下表和欄位:
操作員
- ID
- 姓名
- 簡稱
操作員帳戶:
- ID
- operator_id
- 帳戶類型
- 帳戶名稱
- ….
操作員記錄
- ID
- operator_account_id
- 日期
- 文本
- 數量
- 類型
- 類別
operator_kpis:
- ID
- operator_id
- kpi1
- kp2
一個操作員將有 1 到 20 個 operator_accounts。一個 operator_account 可能有數以千計的 operator_records。Operator_kpis 將始終為每個操作員 1 行。
我打算建構一個應用程序,使用者可以在其中視覺化 operator_records 並更改/修復一些行。operator_kpis 主要基於/計算operator_records,每次使用者更改/修復operator_records 中的值時,operators_kpis 都會更新。
我的問題是:
我最近看到了 NoSQL 的影片,(我只是熟悉它們),現在我很困惑,因為我不確定我是否應該繼續使用像 postgres 這樣的關係數據庫,或者我是否應該使用 AWS dynamodb 或 MongoDB 之類的東西
據我了解,由於大小限制,DynamoDB 可能對我不起作用,但我不確定是否會有更好的方法在 dynamo 中分發 JSON 或使用 mongo 來儲存文件。或者簡單地儲存為 S3 並讀取資訊並在使用者對記錄進行任何更改時修改 s3 對象。
大多數目標在任何一種類型的數據庫系統中都可以實現,但是您可能會發現在如何使用關係數據庫查詢數據(包括修改數據)方面具有更大的靈活性,但必須權衡(在您的情況下)從JSON 轉換成規範化的形式。
我認為為了維護兩個對象(
operator_records
和operator_kpis
)之間的數據,您會發現關係數據庫系統更易於使用,因為您的數據對像已經相關。