More Related Content Similar to Cenet salon.220904-高性能数据架构设计 (20) Cenet salon.220904-高性能数据架构设计6. SQL分析 功能实现了,性能呢? 如果数据库为UTF-8编码 LoginName为电子邮件,则长度可能为20-40个字节。 Password长度可能为6-20个字节长。 则当文本数据索引较大则基于内存的索引查询命中率降低,大量读取磁盘造成性能较慢。 解决之道, 将UTF-8字段的字符串转换为Hash编码的数值,每个整型数据占用MySQL数据库4个字节。基于内存的索引查询数据量增加将近10倍。 8. 优化之后的SQL原型 Select UserID from tblUserwhere UserNameHash= -1234589 and UserPasswordHash= 123456 Select UserID from tblUser where UserNameHash = -1234589 and UserPasswordHash = 123456andUserName = ‘LoginName’ and UserPassword = ‘PasswordMD5’ 12. 3NF vs. 2NF 3NF 多表关联查询,损失性能 2NF 部分情况下,将常用的用户状态信息,统计信息,定期执行之后以2NF存储,则数据读取性能更好。 甚至,在数据表中建立 Setting 字段,通过CSV或者XML格式进行半结构化数据存储,既能保证数据库设计的“弹性”,也可以减小多表关联查询。 需要注意的是数据一致性检验和相对实时。 15. 不同策略 集中 vs. 分散 数据库 vs. 文件系统 同步 vs. 异步 CSV vs. XML 建议对于日志型数据采用 集中存储 文件系统分级管理 异步存储 CSV格式 不建议将日志数据存入数据库中。 25. 应对之道 存储与服务节点可用性风险 基于 NAS / SAN 的存储方案 缓存系统的集群 反向代理管理集群节点 数据处理风险 通过Data Engine层封装所有对于数据的操作 对外暴露SOA接口,提供服务。例如,Thrift, Web Services, JSON,MQ等。 27. 近期沙龙计划 2011年9月 实时交易系统技术方案 2011年10月 跨平台移动应用开发 2011年11月 海量数据与高并发系统 2011年12月 企业IT战略管理与策略 报名流程 注册CatchException.NET,并完善个人档案和照片 报名沙龙http://salon.catchexception.net/?page_id=55 费用 沙龙免费,如收费另行通知 如果在咖啡厅或酒吧举行沙龙,请点一杯咖啡。