我正在嘗試使用Dynamo DB。我正在嘗試測試Dynamo數據庫表,但是我無法在此獲得外鍵。如何在DynamoDB中分配foreignkey?
回答
DynamoDB沒有外鍵。這是一個不支持這種關係數據的NoSQL數據庫。在表之間沒有維護數據完整性,所以這種行爲不是內置的。如果你想要這種行爲,你將不得不以不同的方式在DynamoDB中建模數據存儲。
從FAQ解釋,這不是關係數據庫:
雖然亞馬遜DynamoDB剷球數據庫 的可擴展性,管理,性能和可靠性的核心問題,它不 擁有所有的關係數據庫的功能。它不支持複雜的關係查詢(例如連接)或複雜的 事務。如果您的工作負載需要此功能,或者您正在尋找與現有關係引擎的兼容性,您可能希望在Amazon RDS或Amazon EC2上運行關係引擎。雖然關係數據庫引擎提供強大的功能和特性,但是將工作負載擴展到單個關係數據庫實例之外的工作是 ,非常複雜,需要大量時間和專業知識。
沿着這個問題的脈絡 - 在另一個表中使用另一個表(稱爲Users.id)的哈希鍵是一個好主意,比方說'Payments.id',因此您可以直接搜索'Payments.id = = Users.id'在Dynamo中創建類似外鍵的映射並允許直接查詢? 我只能看到它不是自我記錄,除非您將它稱爲Payments.userId並將其設置爲散列鍵,但是當命名散列鍵索引(如Payments.Id,用戶)時,在所有數據庫中失去一致性。身份證,錢包,身份證等 – anon58192932 2017-04-25 21:45:50
我剛剛意識到,您可以獲得與全局二級索引的外鍵關係,並且如果您需要排序的外鍵防止掃描和過濾,則可以將範圍鍵添加到全局二級指標。這應該允許您仍然爲每個不同的表維護唯一的ID,同時仍然添加像查詢一樣的外鍵,並保留範圍鍵的最佳部分,這是自動排序和關鍵條件表達式比較操作(例如>,<, <=, > =和! =。 – anon58192932 2017-04-25 22:37:40
- 1. 如何在rails中配置dynamodb?
- 2. Django/python:如何在Django視圖中爲子模型分配ForeignKey字段?
- 3. 如何在dynamodb查詢操作中使用通配符*
- 4. 如何在Django中初始化ForeignKey ModelChoiceField?
- 5. 如何在@ManyToMany中設置ForeignKey名稱
- 6. 如何在django中限制ForeignKey
- 7. 如何在sqlalchemy中傳入ForeignKey
- 8. Django,如何ForeignKey(auth_user)?
- 9. 如何在AWS Elasticsearch中分配分片?
- 10. 如何有FilterExpression在dynamodb
- 11. 如何在DynamoDB中創建UUID?
- 12. 如何在DynamoDB中添加列
- 13. 如何在dynamodb中建模1:N:M
- 14. 如何在dynamodb中插入json
- 15. 如何在DynamoDB流中使用Apache Streaming
- 16. 如何查詢DynamoDB?
- 17. ForeignKey。如何獲取數據?
- 18. 如何更新django foreignkey?
- 19. 如何分配:在Vim中將ALELint分配給C-k?
- 20. 如何在億萬物體上獲得有關dynamodb的分數?
- 21. django - 如何將ForeignKey的ForeignKey(3級)字段添加到表單
- 22. 如何分配在VB.NET
- 23. 如何在Javascript中分配數字?
- 24. 如何在jscript中分配form.action
- 25. 如何在Bugzilla中分配任務?
- 26. 如何在清單中分配android:sharedUserId?
- 27. 如何在javascript中分配函數?
- 28. 在Fortran中如何分配c_ptr?
- 29. 如何在Oracle中分配值
- 30. 如何在樹枝中分配變量?
你究竟是什麼意思? DynamoDB不是關係數據庫。你應該說你的實際問題是什麼,而不是要求一個特定的解決方案。此外,您的評論以上內容不會添加任何內容到對話中。 – mkobit 2015-02-10 17:14:02
我們應該在Dynamo DB中定義外鍵嗎? – 2015-02-12 05:57:51
外鍵在SQL Server中。 – 2015-02-12 05:58:11