首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
假设有一个博客系统,数据库存储采用MySQL,用户数量为10
[问答题]
假设有一个博客系统,数据库存储采用MySQL,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1,你如何设计该系统以确保系统高效、稳定的运行?
提示:可以从数据库设计、系统框架、及网络架构方面进行描述,可以自由发挥。
添加笔记
求解答(1)
邀请回答
收藏(23)
分享
纠错
3个回答
添加回答
0
December_peng
1.增加***
2.两套数据库,一个为主数据库,一个为更新数据库,其中更新数据库作为保存近N(1,2,3)天更新数据,写入后放进***,并增加lease及时淘汰不常访问的记录,同时后台定期合并到主数据库。
3.数据读取时,***->更新数据库->主数据库
4.主数据库中将元信息(如用户信息)与文章实际内容分开,对每篇文章内容计算热度权重,做主键之一,然后分表。
发表于 2015-05-23 00:59:05
回复(0)
0
溪荠
可以设置缓存
发表于 2015-05-20 20:07:57
回复(0)
0
devilkin
web->backend->*** & database
博客系统的特点:1.热点数据很明显(精华文章,推荐文章,最新博文) 2.文章的修改频率底 3. 时效性很明显
数据库:按照题目的意思,用户平均文章数100,根据用户做文章的水平切分是比较好的选择,加上不同板块,标签什么的,切分维度选择比较多。需要有多个集群来存储不同板块的数据,切分是为了保证文章的读取速度。至于每个表存储多少文章数量,取决于文章的最大限制,是否将长博文和短博文分离。切分的程度决定了上层应用的复杂度。
系统:第一个问题就是热点数据,缓存可以一定程度上解决热点数据的读取问题,同时也要面对热点数据如何维护,如何避免缓存失效等问题。面临数据库层的拆分,系统层需要解决快速定位,聚合,分离读写等问题。
发表于 2015-01-04 17:10:46
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
系统设计
数据库
微博
上传者:
Carter
难度:
3条回答
23收藏
25120浏览
热门推荐
相关试题
大规模的字典中,需要词与词中间的搭...
查找
分布式
系统设计
百元难题
评论
(0)
系统设计题:设计一个服务调度管理器...
百度
高级算法
系统设计
评论
(1)
有一台带一个千兆网卡的服务器A,会...
阿里巴巴
系统设计
评论
(34)
来自
阿里巴巴2015实习生笔试题
已知a
40
=...
京东
职能
2019
财务
保险
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题