MySQL與MongoDB都是開源的常用數(shù)據(jù)庫,但是MySQL是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,MongoDB則是非關(guān)系型數(shù)據(jù)庫,也叫文檔型數(shù)據(jù)庫,是一種NoSQL的數(shù)據(jù)庫。它們各有各的優(yōu)點(diǎn),關(guān)鍵是看用在什么地方。所以我們所熟知的那些SQL(全稱Structured Query Language)語句就不適用于MongoDB了,因?yàn)镾QL語句是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。
以我們公司項(xiàng)目為例,在早期的項(xiàng)目中,都在使用關(guān)系型數(shù)據(jù)庫,用過SQLServer,Oracle,DB2,后來全部轉(zhuǎn)向Mysql,原因很簡單:Mysql在性能不錯的情況下,有著開源優(yōu)勢。Mysql的事務(wù)性與高性能是我們主要考慮的。后來,由于項(xiàng)目要用到用戶系統(tǒng),即會有大量的用戶數(shù)據(jù)進(jìn)行交互--海量存儲,Mysql的讀寫速度會有一點(diǎn)瓶頸,于是我們就想到了最近發(fā)展很強(qiáng)勢的Nosql。在Nosql早期的memcache的發(fā)展下,又出現(xiàn)了很多非關(guān)系型數(shù)據(jù)庫,比如redis,mongodb。經(jīng)過一段時(shí)間的測試,redis與mongodb的讀寫速度確實(shí)比Mysql有著很明顯的優(yōu)勢。mongodb的寫入速度大約2.5W/次每秒。
mongodb以BSON結(jié)構(gòu)(二進(jìn)制)進(jìn)行存儲,對海量數(shù)據(jù)存儲有著很明顯的優(yōu)勢。下面是Mongodb與Mysql的操作命令的對比。
特別要注意的是:mongodb插入多個(gè)字段語法
> db.user.insert({id:1,name:'steve',sex:'male'}) 正確
> db.user.insert({id:2},{name:'bear'},{sex:'female'}) 錯誤
您可能感興趣的文章:- Python實(shí)現(xiàn)將數(shù)據(jù)框數(shù)據(jù)寫入mongodb及mysql數(shù)據(jù)庫的方法
- node.js將MongoDB數(shù)據(jù)同步到MySQL的步驟
- 記一次MongoDB性能問題(從MySQL遷移到MongoDB)
- Python中MySQL數(shù)據(jù)遷移到MongoDB腳本的方法
- MongoDB與MySQL常用操作語句對照
- MongoDB系列教程(五):mongo語法和mysql語法對比學(xué)習(xí)
- python連接MySQL、MongoDB、Redis、memcache等數(shù)據(jù)庫的方法
- mongodb與mysql命令詳細(xì)對比
- 基于MySQL到MongoDB簡易對照表的詳解
- MySQL和MongoDB設(shè)計(jì)實(shí)例對比分析
- 分析MongoDB和MySQL各自的關(guān)鍵特性、差別和優(yōu)勢