database and user experience for web apps

26
Database and User Experience Database and User Experience on Web Apps By Fenng By Fenng http://www.dbanotes.net

Upload: dahui-feng

Post on 28-Jan-2015

122 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Database And User Experience for Web Apps

Database and User ExperienceDatabase and User Experienceon Web Apps pp

By FenngBy Fenng

http://www.dbanotes.net

Page 2: Database And User Experience for Web Apps

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

Page 3: Database And User Experience for Web Apps

议程议程

• 审视DB与UE• 关注点• 关注点• 响应速度响应速度• 可用性• 数据交互策略

其它• 其它

Page 4: Database And User Experience for Web Apps

所谓用户体验所谓用户体验

• User Experience is about how a person feels about using a system (WikiPedia)feels about using a system.(WikiPedia)

种纯主观的在用户使用 个产品• 一种纯主观的在用户使用一个产品(服务)的过程中建立起来的心理感中受…对于一个界定明确的用户群体来讲 其用户体验的共性是能够经由良讲,其用户体验的共性是能够经由良好设计的实验来认识到.(百度百科)

Page 5: Database And User Experience for Web Apps

DBA Why?

User Experience关我何事?

想做 师的裁缝 好 机不想做厨师的裁缝不是好司机?

Page 6: Database And User Experience for Web Apps

重新审视重新审视

U User User Experience

User Experience

Products

ProductsDatabaseDatabase

Page 7: Database And User Experience for Web Apps

关注点关注点

1. 响应速度(Response Time)

2. 可用性(Usability and Availability)可用性( y y)

3. 数据交互策略(Data Interactive Policy)

Page 8: Database And User Experience for Web Apps

速度(Speed) 8 Second Rule速度(Speed)– 8 Second Rule

Page 9: Database And User Experience for Web Apps

2秒--8秒--12秒2秒--8秒--12秒

100毫秒 ->1%

Page 10: Database And User Experience for Web Apps

Speed@DBSpeed@DB

• HardwareCPU、Memory、Disk(Storage)、Network(NIC)…

• Database Design• Database Design

• Data Operation Methods

• Cache! Cache!

Page 11: Database And User Experience for Web Apps

性能数据是端到端的吗?性能数据是端到端的吗?

Page 12: Database And User Experience for Web Apps

关乎速度关乎速度

理解延时( )数据含义• 理解延时( Latency)数据含义

• 延时与并发能力

• 延时与应用扩展性• 延时与应用扩展性

• 慢=糟糕的用户体验

Page 13: Database And User Experience for Web Apps

那么…请回答那么…请回答

• 典型页面有多少个SQL?

• 每个SQL需要多少逻辑I/O ?

• 典型页面平均响应时间是多少?• 典型页面平均响应时间是多少?

Page 14: Database And User Experience for Web Apps

可用性(Availability)可用性(Availability)

• 不具备可用性则没有意义

• 好的可用性 != 好的用户体验好的可用性 好的用户体验

差的 性 糟糕的 户体验• 差的可用性 =糟糕的用户体验

Page 15: Database And User Experience for Web Apps

提升可用性的常见策略提升可用性的常见策略Hi h A il bili 方案(成本)• High Availability方案(成本)

HA 实践• HA 实践Oracle Maximum Availability Architecture (MAA)

• 隔离业务层

• 优化监控机制

• 持续改进能力

Page 16: Database And User Experience for Web Apps

数据交互策略(0)数据交互策略(0)

• ACID

• BASE Basically Availble Soft state Eventually ConsistencyBasically Availble 、Soft-state、Eventually Consistency

CAP 熊掌与鱼的纠结• CAP , 熊掌与鱼的纠结Consistency、Availability、Tolerance of network Partition

Page 17: Database And User Experience for Web Apps

数据交互策略(1)数据交互策略(1)

• 数据展示

• 排序机制排序机制

• 统计功能

Page 18: Database And User Experience for Web Apps

数据交互策略(2)数据交互策略(2)

场景分析:分页处理

Page 19: Database And User Experience for Web Apps

数据交互策略(2续)数据交互策略(2续)

有模式• 旧有模式

Page 20: Database And User Experience for Web Apps

数据交互策略(2续)数据交互策略(2续)

Page 21: Database And User Experience for Web Apps

发散:Twitter 分页模式发散:Twitter 分页模式

Page 22: Database And User Experience for Web Apps

数据交互策略(3)数据交互策略(3)

• CAP (Partition)Partition!=RDBMS PartitionPartition! RDBMS PartitionRDBMS Partition != Performance

• NoSQL!=Not Use SQLNoSQL! Not Use SQL

Page 23: Database And User Experience for Web Apps
Page 24: Database And User Experience for Web Apps

取舍之道取舍之道

• 给用户多少信息 vs. 用户需要多少信息?

• 疲于奔命的唯需求至上?

• 鸵鸟政策的求稳定第一?• 鸵鸟政策的求稳定第 ?

Page 25: Database And User Experience for Web Apps

Question?Question?

Page 26: Database And User Experience for Web Apps

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)