MongoDB與MySQL的操作對比表及區別介紹
MongoDB與MySQL的操作對比表及區別介紹
MySQL與MongoDB都是開源的常用數據庫,但是MySQL是傳統的關系型數據庫,MongoDB則是非關系型數據庫,也叫文檔型數據庫,是一種NoSQL的數據庫。它們各有各的優點,關鍵是看用在什麼地方。所以我們所熟知的那些SQL(全稱Structured Query Language)語句就不適用於MongoDB了,因為SQL語句是關系型數據庫的標准語言。
以我們公司項目為例,在早期的項目中,都在使用關系型數據庫,用過SQLServer,Oracle,DB2,後來全部轉向Mysql,原因很簡單:Mysql在性能不錯的情況下,有著開源優勢。Mysql的事務性與高性能是我們主要考慮的。後來,由於項目要用到用戶系統,即會有大量的用戶數據進行交互--海量存儲,Mysql的讀寫速度會有一點瓶頸,於是我們就想到了最近發展很強勢的Nosql。在Nosql早期的memcache的發展下,又出現了很多非關系型數據庫,比如redis,mongodb。經過一段時間的測試,redis與mongodb的讀寫速度確實比Mysql有著很明顯的優勢。mongodb的寫入速度大約2.5W/次每秒。
mongodb以BSON結構(二進制)進行存儲,對海量數據存儲有著很明顯的優勢。下面是Mongodb與Mysql的操作命令的對比。
特別要注意的是:mongodb插入多個字段語法
> db.user.insert({id:1,name:'steve',sex:'male'}) 正確
> db.user.insert({id:2},{name:'bear'},{sex:'female'}) 錯誤