MongoDB和MySQL比較
MongoDB本身它還算比較年輕的一個產品,所以它的問題,就是成熟度肯定沒有傳統MySQL那麼成熟穩定。所以在使用的時候,
第一,儘量使用穩定版,不要線上上使用開發版,這是一個大原則;
另外一點,備份很重要,MongoDB如果出現一些異常情況,備份一定是要能跟上。除了通過傳統的複製的方式來做備份,離線備份也還是要有,不管你是用什麼方式,都要有一個完整的離線備份。往往最後出現了特殊情況,它能幫助到你;
另外,MongoDB效能的一個關鍵點就是索引,索引是不是能有比較好的使用效率,索引是不是能夠放在記憶體中,這樣能夠提升隨機讀寫的效能。如果你的索引不能完全放在記憶體中,一旦出現隨機讀寫比較高的時候,它就會頻繁地進行磁碟交換,這個時候,MongoDB的效能就會急劇下降,會出現波動。
另外,MongoDB還有一個最大的缺點,就是它佔用的空間很大,因為它屬於典型空間換時間原則的型別。那麼它的磁碟空間比普通資料庫會浪費一些,而且到目前為止它還沒有實現線上壓縮功能,在MongoDB中頻繁的進行資料增刪改時,如果記錄變了,例如資料大小發生了變化,這時候容易產生一些資料碎片,出現碎片引發的結果,一個是索引會出現效能問題,
另外一個就是在一定的時間後,所佔空間會莫明其妙地增大,所以要定期把資料庫做修復,定期重新做索引,這樣會提升MongoDB的穩定性和效率。在最新的版本里,它已經在實現線上壓縮,估計應該在2.0版左右,應該能夠實現線上壓縮,可以在後臺執行現在repair DataBase的一些操作。如果那樣,就解決了目前困擾我們的大問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/642366/viewspace-1067038/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MongoDB和Redis比較。MongoDBRedis
- Elasticsearch、MongoDB和Hadoop比較。ElasticsearchMongoDBHadoop
- mongodb和hbase的簡單比較MongoDB
- Redis vs. MongoDB比較RedisMongoDB
- 360°全方位比較PostgreSQL和MySQLMySql
- MySQL中的NULL和空串比較MySqlNull
- 在MongoDB下使用JS和Python的效能比較MongoDBJSPython
- MongoDB、Cassandra 和 HBase 三種 NoSQL 資料庫比較MongoDBSQL資料庫
- MySQL和MongoDB設計例項對比MySqlMongoDB
- MYSQL和ORACLE時區設定比較MySqlOracle
- 資料庫比較 PostgreSQL vs MongoDB資料庫SQLMongoDB
- js 深比較和淺比較JS
- PostgreSQL與MySQL比較MySql
- Mysql中的Datetime和Timestamp比較MySql
- MySQL 中的 distinct 和 group by 的效能比較MySql
- MongoDB資料比較工具dbHash介紹MongoDB
- MySQL:MySQL層比較函式呼叫MySql函式
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- MySQL和MSSQL下,text、ntext、image、blob的比較MySql
- ORACLE11.2.0.3和MYSQL5.6 DDL比較OracleMySql
- mongodb資料遷移2種方式比較MongoDB
- Oracle date 型別比較和String比較Oracle型別
- 資料庫系列:MySQL引擎MyISAM和InnoDB的比較資料庫MySql
- TCP和UDP比較TCPUDP
- Java和JavaSciprt比較Java
- Redis 和 Memcached 比較Redis
- ETL和EAI比較AI
- PostgreSQL與MySQL的比較 - hackrMySql
- 使用perl比較mysql的版本MySql
- mysql timestamp比較查詢MySql
- mysql字元型別varchar()比較MySql字元型別
- Zope的優點和Apache+PHP+MySQL的比較(轉)ApachePHPMySql
- 用PHP連mysql和oracle資料庫效能比較(轉)PHPMySqlOracle資料庫
- Go和Python比較的話,哪個比較好?GoPython
- mysql中count(1)與count(*)比較MySql
- mysql比較兩個日期間隔MySql
- etcd和redis比較Redis
- 比較RAC和RxSwiftSwift