2010-06-17 55 views
3

社交網站需要多少個數據庫?我有我的技術團隊正在開發一個社交網站,但他們的所有表都在1個數據庫中。我想爲用戶數據,臨時表等創建單獨的表集,並考慮可能有一個單獨的數據庫僅用於關鍵數據等,但我不是技術人員,現在肯定它是如何工作的?該網站將成爲當地的評論網站。數據庫表 - 有多少個數據庫?

+0

我不是db專家,所以我不會留下任何答案,但......無論您是將100個表放在一個數據庫中,還是將100個表放入100個數據庫中,都無關緊要。我能想到的擁有多個數據庫的唯一好理由是將需要更安全的數據(密碼列表)與不包含數據的數據分開。防爆。如果有人從您的媒體上傳器管理成功的sql注入並截斷所有表,他們將不會觸摸密碼條目列表。 – 2010-06-17 23:25:43

+6

如果你自己承認「不是技術人員,現在[原文如此]肯定它是如何工作的」,那麼使用多少數據庫有什麼不同? – Ken 2010-06-17 23:31:10

+0

如果一個黑客得到足夠的影響力的賬戶憑證,那麼同一實例上的多個數據庫就沒有實際意義。保護用於訪問數據庫的帳戶的權限。 – 2010-06-17 23:58:49

回答

0

你想在不同的數據庫中使用它的原因是什麼?

即使例如多個安裝了開源軟件包,您也可以將所有表放在一個數據庫中,而不會出現問題。在這種情況下,你可以使用表前綴。

2

簡單的答案,一如既往,是儘可能少

稍微更復雜的答案是,一旦你開始把你的服務器的限制,並開始考慮多個服務器與主/從複製,然後你可能會想你的頻繁寫入表從很少寫分離這將降低主從更新要求。

0

除非你正在開發一個真正的BIG網站,否則一個數據庫是繼續進行的方式(順便說一下,你是否考慮過使用各種數據庫時可能引發的問題?)。

如果您擔心性能問題,可以隨時在多個存儲設備上配置不同的表空間以提高時序。

如果你擔心安全,只是增加它(好密碼,沒有直接root登錄,沒有端口轉發,避免隧道等)

0

我不是一個高科技的人只是做了功能分析,但我擁有該項目,所以我需要監督技術團隊。我有多個數據庫的原因是安全性和性能。

既然這將是一個新的創業公司,沒有錢投入強大的安全性或設計完美的數據庫。此外,目前沒有備份策略,因此: 1)我想分離關鍵數據,如用戶密碼/基本配置文件信息,然後分離出用戶媒體(他們在配置文件上載的照片),然後分離用戶內容。然後分離出系統內容。當前的設計需要多層表格:整個系統的主表格和每個單獨模塊的模塊表格。 2)性能:有很多模塊正在設計中,這是一個數據密集的社交網站,大量的報告/分析內置大量的讀取/寫入。也許更好的根據目的分佈數據庫的負載?

由於沒有太多資金,因此我希望我的投資能夠第一時間做到這一點,因此數據庫可以很好地工作,直到收入進入實際投資中。當然,這也許可能需要6個月的時間,也可以說還有100萬用戶。

哦&有計劃添加分段/生產模式也這樣分開或相同的數據庫?

+0

托馬斯,而不是給出一個「答案」,你應該編輯自己的問題,添加額外的信息。 – 2010-06-18 01:07:43

+1

如果您無法承擔「強大的安全性」或備份,多個數據庫不會幫助您。當社交網站丟失除登錄名和密碼以外的所有用戶數據時,他們不會回來。並習慣於第一次做錯,因爲世界上最聰明的頭腦無法預測複雜系統的性能。好消息是,除非每15秒獲得一位新用戶,否則在6個月內你不會達到1M用戶 - 你有更多的時間。 :-) – Ken 2010-06-18 03:55:10

1

如果你開始使用單獨的數據庫,你也可以運行你的備份/恢復策略。如果您有5個數據庫並全部備份了5個數據庫,那麼當您需要恢復其中一個數據庫時會發生什麼,那麼您是否需要恢復全部五個數據庫?

我會選擇最少數量的數據庫。

1

您希望擁有多個數據庫的原因是爲了擴展到多臺機器。在大量/高可用性成爲關注的「社交應用」中。如果您預計需要擴展到多臺機器來處理大量數據,那麼表格的突破應該是那些邏輯上需要保持在一起的數據。

因此,例如,您可能希望將與某個特定主題區域(可能是狀態更新)相關的表格一起保存在一個數據庫中,以及與其他主題區域(比如用戶的圖片庫)相關的其他表格一起保存不同的數據庫。

將表保存在單獨的物理或邏輯數據庫中存在邏輯和性能原因。

0

你會很好地堅持使用一個數據庫。您的開發人員可以通過使用數據庫架構來隔離/分離應用程序數據。使用多個數據庫可以迅速成爲一個痛苦世界的旅程,除非它絕對至關重要,否則應該避免。