http://martinfowler.com/articles/dblogic.html事務腳本是NoSQL數據庫的反模式嗎?
使用上述文章的術語,在處理SQL數據庫時,編碼的事務腳本模式顯然是反模式。
NoSQL數據庫(如MongoDB)也是如此嗎?假設nosql查詢將使用的列都被適當地編入索引。
我問這個問題的原因是:MongoDB中的查詢執行返回一個遊標,可以迭代遊標。我不知道的是,無論是否存在與其相關的性能損失。
http://martinfowler.com/articles/dblogic.html事務腳本是NoSQL數據庫的反模式嗎?
使用上述文章的術語,在處理SQL數據庫時,編碼的事務腳本模式顯然是反模式。
NoSQL數據庫(如MongoDB)也是如此嗎?假設nosql查詢將使用的列都被適當地編入索引。
我問這個問題的原因是:MongoDB中的查詢執行返回一個遊標,可以迭代遊標。我不知道的是,無論是否存在與其相關的性能損失。
該文章描述了「事務腳本」作爲
[A]的過程中,可能需要的所有數據讀取,然後做內存的選擇和操作,以找出哪些[數據庫條目]是需要。
每個NoSQL數據庫都是不同的,所以你不能概括任何「NoSQL」。但是在幾乎每個數據庫系統中,儘可能多地對數據庫執行操作是個好主意。
當您特別詢問MongoDB時:MongoDB數據庫的設計不像SQL數據庫那樣「智能」。設計假設SQL數據庫自己解決的許多問題在應用程序層上解決(約束,級聯刪除,連接,事務...)。查詢語法還不如40年SQL開發中積累的所有功能。這意味着你通常不會在應用程序層上進行過濾。但是,當查詢語法可以解決問題時,通常應該嘗試這樣做。
你爲什麼downvote這個問題 - 爲什麼? – Harry
有許多種NoSQL數據庫,其理念完全不同。也許這對他們中的一些人來說是正確的,也許這對其他人來說是錯誤的。 – Philipp