日期:2014-05-17  浏览次数:20349 次

关于大数据量用户注册和密码验证的数据库运算方法。
假如12306现有注册用户5个亿。
现在我在山东注册个用户,注册用户id的时候有一个填写界面,直接查询是否有重名的,然后告诉你重名。
查询的时候应该是从5亿数据里进行比较的;数据库索引应该是用户ID,我想知道的是如何从这5亿数据快速
查找,并反馈信息的。(分布式数据库还是什么的)?就是类似这么个问题,数据库应如何设计和部署满足
快速反应。

------解决方案--------------------
我认为验证是否重名都是直接去表里面验证的
这个验证这么简单,索引seek 是很快的啊
------解决方案--------------------
身份证号基本可以圈定区县,剩下10来W数据,seek就不是问题了。 
------解决方案--------------------
后台有多台服务器,多个分布式数据同时运行查询,这点数据不算什么。
象百度,谷哥查询那么多关键字,都能在一两秒内完成,12306的数据应该没法与百度谷哥比吧

------解决方案--------------------
根据身份证逻辑分区或者拆表,查询单个身份证,落到一个区间的数据量不会很大,Seek应该很快。
------解决方案--------------------
1 /可以按照身份证的规则进行分区,这样实际根据分区表查询,建立相应的索引,聚集查找会快的1-3ms可以响应结果。

2 /前端可以使用分布式数据库结构,并发查询,加速相应速度;