Nosql

NoSQL 文件數據庫中的數據重複

  • July 29, 2022

這是一個非常“noobish”的問題,但我正在開發一個帶有文件數據庫的項目,我認為他們錯誤地使用了它。因此,我有點想確認這一點,因為我覺得它玷污了我的經歷。

簡而言之,它們似乎為文件範式帶來了關係思維。例如,他們不是在另一個中嵌入特定的 JSON 對象,而是通過 id 在業務層將它們拉到一起(我聞起來很像外鍵)。

現在,這裡確實避免了數據的重複(嘿,作為一個 SQL 人,我完全是第三種範式),但我認為將數據作為更大文件的一部分放在其中比避免重複更重要數據的。

我知道可能存在權衡取捨,擁有包含所有東西的巨大對象可能並不明智,但我希望得到一些指導,了解在這個空間中做事的最佳方式是什麼以及這個地方是否(可能)它錯了。(如果盲人在領導盲人,NoSQL 是具有挑戰性的)。

謝謝

NoSQL 通常被設計為儲存非規範化的數據對象,作為一種持久化數據對象的方式,並消除對JOINs 的需求,作為優化讀取性能的一種方式。

但這並不意味著JOIN在 NoSQL 上下文中不允許使用 s,就像在傳統的關係數據庫上下文中允許持久化非規範化和重複數據一樣。它們通常不是每種類型數據庫的主要設計重點。

我的猜測是您可能是正確的,因為您的合作夥伴在設計項目時存在更多的錯誤心態,因為他們JOIN在應用程序層中,但這實際上取決於您的案例。

數據操作的形狀通常應該主動完成並儘可能在 NoSQL 數據庫中持久化,就像您的想法一樣,但它並不總是必須提前持久化,並且JOINRDBMS 中傳統的操作(例如 s)不是在 NoSQL 數據庫中也總是不好。

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