2011-02-08 9 views
0

我是數據庫新手,想了解Facebook和Google這樣的大型網站如何處理他們龐大的用戶羣登錄。我認爲Facebook和Google擁有數億甚至超過10億的用戶賬戶,並且大約有數千人可能在大約同一時間登錄。當有人登錄時,系統是否掃描整個用戶名錶來查找比較密碼的匹配項?如果是這樣的話,那會花費很多時間嗎?他們在幾秒鐘內如何做到這一點?或者它們按某種方式按字母順序編索引,因此它不會掃描整個表格。如果新表用戶在創建新帳戶時每天/每小時更換多次,該如何索引它?大型網站登錄表幫助

迪波

+0

爲什麼?只是爲了好玩?他的問題的哪一部分被回答呢? – 2011-02-08 17:36:19

回答

1

多數大型公司使用專爲身份管理系統。活動目錄是一個,站點管理員是另一個。打開id在這裏stackoverflow是另一個。

看來你真正的問題是表和索引如何工作。

這對於SO來說太大了。但簡單地說,一個數據庫可以通過讀取3-5個塊來在10億行表中找到一個唯一的條目......每個10ms,即30到50毫秒。

數據庫對錶進行每次更改都進行索引維護。它同時發生。你不必管理它。

+0

好吧,生病嘗試簡單的問題。如果我有一個表,其中主鍵是用戶/登錄帳戶(如google)和用戶「johnsmith」登錄的數以億計的條目,如何使它不會搜索整個表我相信需要很長時間。此外,用戶名稱將不斷更新。 – Dibo 2011-02-09 17:40:11