帮助大型网站的登录表

时间:2011-02-08 16:17:58

标签: database-design

我是数据库新手,想了解像Facebook和Google这样的大型网站如何处理大型用户群的登录。我认为Facebook和Google拥有数亿或者可能超过十亿的用户帐户,并且成千上万的人可能大约在同一时间登录。当有人登录时,系统是否会扫描整个用户名表以找到匹配来比较密码?如果是这样的话,会花费很多时间吗?他们如何在几秒钟内完成这项工作?或者他们以某种方式按字母顺序对其进行索引,以便它不会扫描整个表格。如果新用户创建新帐户时表格每天/小时多次更改,您如何编制索引?

迪波

1 个答案:

答案 0 :(得分:1)

大多数大公司使用专为身份管理而设计的系统。 Active Directory是一个,站点管理员是另一个。在stackoverflow上打开Id是另一个。

看起来你真正的问题是表和索引是如何工作的。

对于SO而言,这个问题太大了。但简单地说,数据库可以通过读取3-5个块来找到十亿行表中的唯一条目...每个10ms,即30到50毫秒。

数据库通过对表的每次更改来执行索引维护。它同时发生。您无需管理它。