一個大型的SNS網站,是否適合數據庫全部用mongodb來做,為什麼? | 知乎問答精選

 

A-A+

一個大型的SNS網站,是否適合數據庫全部用mongodb來做,為什麼?

2018年12月25日 知乎問答精選 暫無評論 閱讀 9 ℃ 次

我沒有實際用過mongodb,但是沒有表間的關係,讓我很猶豫。以前的做法是,多表聯合的查詢用join,但是用了mongodb以後,查詢幾乎都是用「查一個collection,根據id查另外一個collection」這種做法。我不清楚關係數據庫和Mongodb在這種情況下的優劣……!

【王亞暉的回答(5票)】:

永遠不要使用自己不熟悉的技術。

沒有任何道理你熟悉的MySQL做出來的東西會比半吊子的MongoDB差。

【wayne的回答(3票)】:

不建議都使用mongodb。

kv數據庫和關係型數據庫各有各的優劣,在項目裡面可以根據不同的需求和場景來搭配使用。

你可以先用mongodb存放訪問頻繁、並且可以容忍數據不準確的部分,用MySQL存放重要的、不能容忍數據丟失的部分。積累一段時間的經驗後,再考慮是否完全使用mongodb,而MySQL只用來做備份用途。

【姚君林的回答(1票)】:

我們現在的SNS遊戲就採用的mongodb,主要看重的是它的key-value結構的效率。

設計數據結構的時候可以避免使用關聯的,往key-value結構上設計,對於資源性質的內容我們都放在自定義內存中作為cache,避免從數據表到資源表去join.

【劉祥超的回答(0票)】:

曾經這麼做過,不過網站沒有上線,不是因為技術的原因,而是因為產品

【Andy Liu的回答(0票)】:

naver用來做photoalbum.naver.jp,可以上ustream看他們分享的體會。另外snapdi.sh也是。

其他的成功案例也很多,見10gen.com

我覺的mongodb的很多特性比mysql好,更適合做互聯網應用。另外gridFS很好。

我目前正在玩tornado+mongodb。

【jonyare的回答(0票)】:

when you have a hammer ,ererything like nails 。建議最好使用業界比較成熟的方案。 例如lamp

標籤:-編程 -社交網絡 -王亞暉 -數據庫 -chenjunrui


相關資源:





給我留言