2010-09-10 70 views
16

簡單的問題,我可以想象使用redis而不是mysql的各種Web應用程序:社交網絡,地理位置服務等?redis可以完全替代mysql嗎?

+1

你*可以*,問題是*應該*你?在我看來,答案可能不是一切。 – 2010-09-10 09:25:25

+4

我只是喜歡有一個數據庫系統的想法。 – 2010-09-10 09:31:23

回答

11

沒有什麼是不可能的IT。但有些事情可能會變得非常複雜。

將鍵值存儲用於全文搜索等事情可能會非常痛苦。另外,據我所知,它缺乏對大型集羣數據庫的支持:所以在MySQL上,如果你在數據庫和Redis上增長了超過100 GB的數據庫,就沒有問題了......好吧,它需要更多努力:-)

所以用它來開發它,存儲簡單的東西,只需要通過id retreived。

+2

我該如何做一些事情,比如獲取所有以用戶開始的密鑰......值小於5的地方? – 2010-09-10 09:32:32

+0

@Travis Glines,以及它的開源,所以你可以實現它:-D – BarsMonster 2010-09-10 11:55:37

+1

Travis Glines:能夠使該查詢以允許你這樣做的格式存儲你的數據(一個有序集合應該適用於這個目的) 。如果您希望能夠進行一般查詢,請使用關係數據庫。 – rpetrich 2010-09-29 06:52:04

5

ACID如果數據完整性很重要,那麼合規是必須的。醫療記錄和金融交易將是一個例子。包括Redis在內的大多數NoSQL解決方案都很快,因爲它們交換ACID屬性以提高速度。

有時使用關係數據庫來表示數據更簡單,查詢更簡單。

此外,由於關係數據庫中的外部關係和約束條件,您的數據更可能是正確的。在NoSQL解決方案中保持數據同步更加困難。

所以,不,我不認爲我們可以談論完全替代。他們是不同工作的不同工具。我不會把我的錘子換成螺絲刀。