Postgresql

將 json 解析為關係數據庫還是使用 NoSQL?

  • November 8, 2021

我正在從大小在 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_recordsoperator_kpis)之間的數據,您會發現關係數據庫系統更易於使用,因為您的數據對像已經相關。

引用自:https://dba.stackexchange.com/questions/302278