Database And User Experience for Web Apps

Post on 28-Jan-2015

120 views 0 download

description

题目有点偏,关于"数据库与用户体验"。我相信在此之前,没有谁会做这样的话题,所以这个话题在做数据库的技术人员眼里有点陌生或是有点忽悠。我的出发点是这样的:可能绝大多数 DBA 都会认为自己的工作和用户体验(User Experience) 是风马牛不相及的事情。实际情况并非如此,DBA 很多关键的工作都会和用户体验相关联,理解到其中的细微之处,能让 DBA 在技术团队发挥更大的作用,创造更大的价值。希望我的演讲到时候会对一些有困惑的朋友真的有帮助。

Transcript of Database And User Experience for Web Apps

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)