07 丛磊
- 1. NoSQL在SAE中的应用
Sina App Engine team
weibo.com/saet
11年11月25日星期五
- 2. 国内领先的PaaS
新浪及合作第三方支持 云计算产品研发
微游戏、微盘、校园微博、 Q微博、 计算类服务 、存储类服务、云应用商
互联网的那点事... 店、云服务商店、CDN...
新浪云计算 SinaCloud.com
2009.8 2009.11 2010.2 2010.9 2010.10.10 2011.5.18 2011.7
云计算小组成立 Sina App Engine Sina App Engine Sina App Engine Sina App Engine 开通支付
微盘上线
alpha版上线 alpha2版上线 Beta版上线 Beta2版上线
SAE诞生 TmpFS 支持 首个公测版本发布 正式开放注册 云应用商店上线
11年11月25日星期五
- 3. 国内领先的PaaS
注册用户 应用数 日均PV
50000 100000 100000000
37500 75000 75000000
25000 50000 50000000
12500 25000 25000000
2009 2010 0 2009 2010 0 2009 2010 0
2011 2011 2011
11年11月25日星期五
- 4. 国内领先的PaaS
• Q3宕机时长:45分钟
• Q3宕机次数:4次
• Q3整体服务SLA:99.95%
11年11月25日星期五
- 6. SQL on SAE
2009.11
Need?
Cost ?
Client Client Client
MySQL instance MySQL instance MySQL instance
@VM @VM @VM
11年11月25日星期五
- 7. SQL on SAE
2010.6 Safe ?
Client Client Client
Relational DB Cluster
MySQL instance
@PM
11年11月25日星期五
- 8. SQL on SAE
RDC ( Relcational DB Cluster )
mysql_connect(‘w.rdc.sae.sina.com’,3307,u,p)
SQL预判
并发执行时间和
慢查询
11年11月25日星期五
- 9. NoSQL on SAE
RDC不能解决的问题 :
Scalability
Statical Dynamical
11年11月25日星期五
- 10. NoSQL on SAE
数据存储
关系型数据存储 简单存储
RDC Storage MemcacheX KVDB Rank Counter
更多功能性存储
11年11月25日星期五
- 11. MemcacheX
• more than memcache
• namespace
• status & LRU
• connection LRU
11年11月25日星期五
- 12. MemcacheX
Client Client
MemcacheX MemcacheX MemcacheX MemcacheX
instance instance instance instance
MemcacheX Cluster
11年11月25日星期五
- 13. KVDB
• 又⼀一个NoSQL DB?
• 存储引擎可替换
• 任意模块水平扩展
• 支持读写分离
• 支持前缀查找
• 支持secondary index
• 支持认证
• 支持重平衡,无缝迁移
11年11月25日星期五
- 14. KVDB
Client
Meta Server
Internal DB
master master master master
BDB Cluster
slave slave slave slave
指令流
数据流
11年11月25日星期五
- 15. KVDB
• 如何保证meta server⼀一致性?
different paxos
• 重平衡做到无缝迁移?
double write single read
• 如何触发重平衡?
expection
variance
11年11月25日星期五
- 16. KVDB
目前日均请求1亿,日均流出带宽100Gb
实际遇到的问题:
• secondary index
• 事务
• 跨IDC容灾
• 单应用写压力
11年11月25日星期五
- 17. Rank
• 应用场景
• 周排行榜、日排行榜
• top rank & all rank
11年11月25日星期五
- 18. Rank
Client Client
Meta Server
Rank Rank
instance instance
master Rank Cluster master
Rank Rank
instance instance
slave slave
11年11月25日星期五
- 19. Rank
RBT ERBT
key => value value => rank
set(key,value) => O( log(n) )
get_rank(key) => O( log(n) )
get_top_n() => O( 1 )
increase => O ( log (n) )
11年11月25日星期五
- 20. Rank
• in-memory master slave sync
• sync without bin-log
• dump timer
11年11月25日星期五
- 21. NoSQL on SAE
• Counter的应用场景
• NoSQL的选型
速度
容量
可靠性
11年11月25日星期五
- 22. 欢迎加入SAE
Q &A
conglei@staff.sina.com.cn
weibo.com/kobe
11年11月25日星期五