我們即將啓動一個新項目,其中需求之一就是使用NoSQL解決方案。由於我們依賴於aws,90%的機會將成爲Amazon DynamoDB。我們正在研究DynamoDB存儲之上的TitanDB(圖形)。關係數據模型到NoSQL,Amazon DynamoDB
數據模型包括:
- 用戶角色,權限,令牌存儲
- 多個關係像數據與一對多/一對一的關聯
任務,我們去解決:
- 在數據之上構建報告。某些報告可以從不同的實體包括字段通過範圍(從 - 到)
- 過濾
- 排序,計數,分頁
- 所有上述可同時
體積的被施加的數據:
- 數據量不是那麼大,我們不流事件實時
假設: 據我瞭解,我們需要創建我們要建立(合併來自不同的「表」的數據)的報告,非規範化的觀點 - 保持數據的拷貝在多個表中。 或 我們需要使用Elasticsearch或其他解決方案進行索引。
圖形數據庫經驗看起來很瘋狂,但提供了一個清晰的數據模型,其中每個實體與另一個實體有關係。需要知道查詢的db api的侷限性。
問題:
- 什麼是是非關係數據庫管理關係型數據,並保持一致的最佳途徑?
- 是否有任何事務支持(例如在DynamoDB中)保持數據一致(在數據更新過程中,由於非規範化,我們應該將數據寫入多個表)?
- 這是一個很好的解決方案,與Elasticsearch集成並向其發出搜索請求,然後通過數據庫中的id獲取數據?迪納摩