實現評論系統(大數據寫入)的最佳方式是什麼?評論系統rdbms vs nosql
1)使用RDBMS數據庫如MySQL,2桌一個主題,一個用於註釋 優點是新評論的插入是快速,高效,簡單,高效的索引。 缺點是縮小(水平縮放)很難。
2)使用的NoSQL數據庫,比如CouchDB的或MongoDB中,優點是向外擴展(水平縮放)很容易,支持龐大的數據寫入,無模式缺點我認爲新數據的插入是不如RDBMS快速高效
例如,要更新couchdb文檔,您需要獲取整個文檔,在本地進行更新,然後再次提交,文檔大小將會很大,因此會佔用帶寬。
而且我認爲,CouchDB的就地更新,MongoDB的更新將是緩慢的,不會有效,因爲在RDBMS
此外,當您想獲得各種主題的每個用戶的我覺得評論在RDBMS中搜索會比在nosql系統中更快。
也就是說CouchDB的數據庫文件的[文件樣本每個主題]樣品
{"_id":"doc id",
"_rev":"45521231465421"
"topic_title":"the title of the topic"
"topic_body":"the body of the topic"
"comments":[
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla1"}, {"user":"user1"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla2"}, {"user":"user2"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla3"}, {"user":"user3"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla4"}, {"user":"user4"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla5"}, {"user":"user5"}
{"date":"mm/dd/yy hh:mm:ss"}, {"commment":"bla6"}, {"user":"user6"}
]
}
爲什麼你認爲CouchDB的或MongoDB中插入數據時速度較慢?你是用自己的基準來驗證它,還是隻是在聽你的直覺? – Philipp 2013-05-09 20:29:15
要給couchdb文檔添加註釋,您需要獲取整個文檔,在本地更新它,然後再次提交,文檔大小將很大,因此會佔用帶寬。所以它會「慢」 – 2013-05-09 20:40:16
爲什麼你會將你的評論嵌入到博客文章中?你是否期望當你顯示博客帖子時,你還需要顯示它的所有評論?爲什麼你認爲RDBM中的搜索速度會比MongoDB更快?它們都使用索引,兩個結構索引都是B樹。你爲什麼不實際測試你預期使用的數據? – 2013-05-10 05:23:57