標籤:base 就會 mongodb效能 佔用 ble 完全 隨機 record 關係
我想從安全性和資料量這兩個方面進行闡述。
mongodb與mysql命令對比 傳統的關聯式資料庫一般由資料庫(database)、表(table)、記錄(record)三個層次概念組成,
MongoDB是由資料庫(database)、集合(collection)、文檔對象(document)三個層次組成。
MongoDB對於關係型資料庫裡的表,但是集合中沒有列、行和關係概念,這體現了模式自由的特點。
MongoDB本身它還算比較年輕的一個產品,所以它的問題,就是成熟度等級肯定沒有傳統MySQL那麼成熟穩定。所以在使用的時候,
第一,盡量使用穩定版,不要線上上使用開發版,這是一個大原則;
另外一點,備份很重要,MongoDB如果出現一些異常情況,備份一定是要能跟上。除了通過傳統的複製的方式來做備份,離線備份也還是要有,不管你是用什麼方式,都要有一個完整的離線備份。往往最後出現了特殊情況,它能協助到你;
另外,MongoDB效能的一個關鍵點就是索引,索引是不是能有比較好的使用效率,索引是不是能夠放在記憶體中,這樣能夠提升隨機讀寫的效能。如果你的索引不能完全放在記憶體中,一旦出現隨機讀寫比較高的時候,它就會頻繁地進行磁碟交換,這個時候,MongoDB的效能就會急劇下降,會出現波動。
另外,MongoDB還有一個最大的缺點,就是它佔用的空間很大,因為它屬於典型空間換時間原則的類型。那麼它的磁碟空間比普通資料庫會浪費一些,而且到目前為止它還沒有實現在線壓縮功能,在MongoDB中頻繁的進行資料增刪改時,如果記錄變了,例如資料大小發生了變化,這時候容易產生一些資料片段,出現片段引發的結果,一個是索引會出現效能問題,
另外一個就是在一定的時間後,所佔空間會莫明其妙地增大,所以要定期把資料庫做修複,定期重新做索引,這樣會提升MongoDB的穩定性和效率。在最新的版本裡,它已經在實現在線壓縮,估計應該在2.0版左右,應該能夠實現在線壓縮,可以在後台執行現在repair DataBase的一些操作。如果那樣,就解決了目前困擾我們的大問題。
mondodb和mysql的區別