Post on 28-Jan-2015
description
Database and User ExperienceDatabase and User Experienceon Web Apps pp
By FenngBy Fenng
http://www.dbanotes.net
egoSurfegoSurf冯大辉 (F )• 冯大辉 (Fenng)
DBA T / E DBA @Al / ACE • DBA Team / Ex DBA @Alipay.com / ACE Director
• Bloggerh // dbhttp://www.dbanotes.net
• http://twitter.com/Fenng
议程议程
• 审视DB与UE• 关注点• 关注点• 响应速度响应速度• 可用性• 数据交互策略
其它• 其它
所谓用户体验所谓用户体验
• User Experience is about how a person feels about using a system (WikiPedia)feels about using a system.(WikiPedia)
种纯主观的在用户使用 个产品• 一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感中受…对于一个界定明确的用户群体来讲 其用户体验的共性是能够经由良讲,其用户体验的共性是能够经由良好设计的实验来认识到.(百度百科)
DBA Why?
User Experience关我何事?
想做 师的裁缝 好 机不想做厨师的裁缝不是好司机?
重新审视重新审视
U User User Experience
User Experience
Products
ProductsDatabaseDatabase
关注点关注点
1. 响应速度(Response Time)
2. 可用性(Usability and Availability)可用性( y y)
3. 数据交互策略(Data Interactive Policy)
速度(Speed) 8 Second Rule速度(Speed)– 8 Second Rule
2秒--8秒--12秒2秒--8秒--12秒
100毫秒 ->1%
Speed@DBSpeed@DB
• HardwareCPU、Memory、Disk(Storage)、Network(NIC)…
• Database Design• Database Design
• Data Operation Methods
• Cache! Cache!
性能数据是端到端的吗?性能数据是端到端的吗?
关乎速度关乎速度
理解延时( )数据含义• 理解延时( Latency)数据含义
• 延时与并发能力
• 延时与应用扩展性• 延时与应用扩展性
• 慢=糟糕的用户体验
那么…请回答那么…请回答
• 典型页面有多少个SQL?
• 每个SQL需要多少逻辑I/O ?
• 典型页面平均响应时间是多少?• 典型页面平均响应时间是多少?
可用性(Availability)可用性(Availability)
• 不具备可用性则没有意义
• 好的可用性 != 好的用户体验好的可用性 好的用户体验
差的 性 糟糕的 户体验• 差的可用性 =糟糕的用户体验
提升可用性的常见策略提升可用性的常见策略Hi h A il bili 方案(成本)• High Availability方案(成本)
HA 实践• HA 实践Oracle Maximum Availability Architecture (MAA)
• 隔离业务层
• 优化监控机制
• 持续改进能力
数据交互策略(0)数据交互策略(0)
• ACID
• BASE Basically Availble Soft state Eventually ConsistencyBasically Availble 、Soft-state、Eventually Consistency
CAP 熊掌与鱼的纠结• CAP , 熊掌与鱼的纠结Consistency、Availability、Tolerance of network Partition
数据交互策略(1)数据交互策略(1)
• 数据展示
• 排序机制排序机制
• 统计功能
数据交互策略(2)数据交互策略(2)
场景分析:分页处理
数据交互策略(2续)数据交互策略(2续)
有模式• 旧有模式
数据交互策略(2续)数据交互策略(2续)
发散:Twitter 分页模式发散:Twitter 分页模式
数据交互策略(3)数据交互策略(3)
• CAP (Partition)Partition!=RDBMS PartitionPartition! RDBMS PartitionRDBMS Partition != Performance
• NoSQL!=Not Use SQLNoSQL! Not Use SQL
取舍之道取舍之道
• 给用户多少信息 vs. 用户需要多少信息?
• 疲于奔命的唯需求至上?
• 鸵鸟政策的求稳定第一?• 鸵鸟政策的求稳定第 ?
Question?Question?
Refer SourceRefer Source
h // iki di / iki/U i• http://en.wikipedia.org/wiki/User_experience• Http://www.flickr.com/photos/29600420@N08/3535229042• http://blog nahurst com/visual guide to nosql systems/• http://blog.nahurst.com/visual-guide-to-nosql-systems/• http://www.allthingsdistributed.com/2008/12/eventually_consis
tent.htmltent.html• http://www.oracle.com/technology/deploy/availability/htdocs/
maa.htm• Troubleshooting Oracle Performance
http://www.dbanotes.net/top.htmlG l• GoogleThank Jame Tong and ZhangLei(BlogKid)