2011-02-08 96 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