Google、Yahoo 等网站如何存储其用户/密码?
大型网站如何存储数百万个用户/通行证组合?我问的是如何将事物存储在数据库中 - 或者他们是否使用数据库?他们如何几乎立即扫描数百万个条目?
How do big websites store the millions of user/pass combinations? I'm asking about how things are stored in the database - or do they even use a database? How do they scan through the millions of entries almost instantly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
散列索引。如果您使用数字、唯一的用户 ID,则可以假设很少有冲突(如果设置正确),并且哈希索引是您的最佳选择。
http://en.wikipedia.org/wiki/Hash_table
是的,他们确实使用数据库。通常是多个负载平衡服务器。有关 SQL Server 负载平衡的想法,请参阅此问题,因为有多种方法:
https://stackoverflow.com /questions/761502/sql-server-load-balancing
一种流行的负载平衡方法被 Microsoft 称为“联合”,但它几乎分散了查询请求并让多个服务器为其提供服务(据我所知)。
Hashed index. If you use a numeric, unique userid you can assume few collisions (if set up correctly) and hash indexes are your best bet.
http://en.wikipedia.org/wiki/Hash_table
And yes, they do use databases. Typically multiple load balanced servers. See this question for ideas on load balancing for SQL server as there are multiple approaches:
https://stackoverflow.com/questions/761502/sql-server-load-balancing
One popular way to load balance is called "federating" by Microsoft, but it pretty much spreads the query request and lets it be serviced by multiple servers (afaik).