2)資料庫表字段是複雜資料型別
對於複雜資料型別,比如sql sever提供了可擴充套件性的支援,像xml型別的字段。很多用過的同學應該知道,該欄位不管是查詢還是更改,效率非常一般。主要原因是是db層對xml欄位很難建高效索引,應用層又要做從字元流到dom的解析轉換。nosql以json方式儲存,提供了原生態的支援,在效率方便遠遠高於傳統關係型資料庫。
3)高併發資料庫請求
此類應用常見於web2.0的**,很多應用對於資料一致性要求很低,而關係型資料庫的事務以及大表join反而成了"效能殺手"。在高併發情況下,sql與no-sql的效能對比由於環境和角度不同一直是存在爭議的,並不是說在任何場景,no-sql總是會比sql快。有篇article和大家分享下,
4)海量資料的分布式儲存
海量資料的儲存如果選用大型商用資料,如oracle,那麼整個解決方案的成本是非常高的,要花很多錢在軟硬體上。nosql分布式儲存,可以部署在廉價的硬體上,是乙個價效比非常高的解決方案。mongo的auto-sharding已經運用到了生產環境。
並不是說nosql可以解決一切問題,像erp系統、bi系統,在大部分情況還是推薦使用傳統關係型資料庫。主要的原因是此類系統的業務模型複雜,使用nosql將導致系統的維護成本增加。
什麼時候該用MVC,什麼時候該用Webform?
看看微軟的解釋 何時建立 mvc 應用程式 您必須仔細考慮是使 用 asp.net mvc 框架還是使用 asp.net web 窗體模型來實現 web 應用程式。mvc 框架未取代 web 窗體模型 您可以 對 web 應用程式使用任一框架。如果您具有現有的基於 web 窗體的應用程式,則這些應用...
什麼時候該用裸機?什麼時候該用RTOS?
今天在某qq群裡看到有人討論這個問題,正巧我也仔細想了一下。以下是我對這個問題的看法 1.rtos的rt這詞就是實時的意思,網上很多歸納總結都說rtos要用在實時性很高的專案,怎麼才算是實時性高呢?假設我們裸機有下面這個段程式 int main 假設每個函式的處理時間,不考慮中斷,執行一輪迴圈的總共...
什麼時候該用get請求什麼時候該用post請求
引自 get和post兩種方法都是將資料送到伺服器,但你該用哪一種呢?http標準包含這兩種方法是為了達到不同的目的。post用於建立資源,資源的內容會被編入http請示的內容中。例如,處理訂貨表單 在資料庫中加入新資料行等。當請求無 時 如進行搜尋 便可使用get方法 當請求有 時 如新增資料行 ...