楼主: pipihappy8888

【IT名人堂】一个神奇的网站:58同城背后的数据库设计实践

[复制链接]
认证徽章
论坛徽章:
3
蓝锆石
日期:2015-02-03 13:52:43沸羊羊
日期:2015-03-04 14:55:412015年新春福章
日期:2015-03-06 11:59:47
发表于 2015-1-11 12:07 | 显示全部楼层
好长。。。眼睛好累,,,没看完,对不起楼猪了。。。不过还是支持你

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
41
喜羊羊
日期:2015-05-08 16:18:362014年新春福章
日期:2014-02-18 16:48:49技术图书徽章
日期:2014-01-26 14:02:05福特
日期:2013-12-27 00:16:54劳斯莱斯
日期:2013-12-20 16:46:55劳斯莱斯
日期:2013-12-02 16:08:54问答徽章
日期:2013-11-12 20:51:23奔驰
日期:2013-10-25 20:19:39ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:34马上加薪
日期:2014-02-18 16:48:49
发表于 2015-1-15 08:25 | 显示全部楼层
非常期待这么实战的设计实践

使用道具 举报

回复
论坛徽章:
10
2011新春纪念徽章
日期:2011-02-18 11:43:342015年新春福章
日期:2015-03-06 11:58:18懒羊羊
日期:2015-03-04 14:52:11马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09优秀写手
日期:2013-12-18 09:29:11三菱
日期:2013-08-30 20:37:412013年新春福章
日期:2013-02-25 14:51:24ITPUB十周年纪念徽章
日期:2011-11-01 16:24:51暖羊羊
日期:2015-06-22 15:51:36
发表于 2015-1-20 10:11 | 显示全部楼层
habadog1203 发表于 2015-1-6 11:04
58数据量由小到大,经历过几个阶段
1)单库单表SQL干逻辑
2)DAO引入,逻辑->面向对象搞,只允许通过DA ...

Mr 沈,
您的回复中提到58同城根据数据量由小到大,第5阶段才使用到数据库中间件用于分库分表; 有两个问题
1 引入中间件之前,采用什么方式分库分表?所谓对服务不透明,是采用类似ibatis之类方案么?
2 目前58使用的哪种中间件,自己研发还是第三方开源产品?毕竟目前市场上就那么几款产品

还有一个关注点,热数据放在memcache/redis,由此又引申出几个问题(针对memcache):
1 如何保证缓存的数据新鲜度?是后台主动刷新缓存还是前台被动等待设定的超时限制?
2 如何保证memcache稳定性,若是连续几台机器宕机查询会直接穿透到数据库,如何避免此类风险?目前市面上有关于memcache的集群产品,58采用了么?

注:我可能没有机会到现场捧您老的场了,麻烦有空的话直接在帖子里回吧

使用道具 举报

回复
论坛徽章:
4
法拉利
日期:2013-11-28 14:46:08马上有房
日期:2015-01-22 17:28:062015年新春福章
日期:2015-03-04 14:55:132015年新春福章
日期:2015-03-06 11:59:47
发表于 2015-1-23 15:21 | 显示全部楼层
数据库架构师是否要通晓公司用到的所有数据库呢?oracle /mysql /nosql

使用道具 举报

回复
论坛徽章:
0
发表于 2015-1-26 07:17 | 显示全部楼层
还有这么多内容呢

使用道具 举报

回复
认证徽章
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
发表于 2015-1-28 13:57 | 显示全部楼层
沈老师,你们那边数据库有用ORACLE的吗?

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
发表于 2015-1-30 11:52 | 显示全部楼层
guoyJoe 发表于 2015-1-28 13:57
沈老师,你们那边数据库有用ORACLE的吗?

            

这个都没有交代。

使用道具 举报

回复
认证徽章
论坛徽章:
18
ERP板块每日发贴之星
日期:2010-08-15 01:01:02喜羊羊
日期:2015-03-16 11:00:26喜羊羊
日期:2015-03-10 14:01:43知识
日期:2015-03-10 11:54:022015年新春福章
日期:2015-03-06 11:57:31暖羊羊
日期:2015-03-04 14:50:37ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-01-07 13:17:49ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
发表于 2015-1-30 21:52 | 显示全部楼层
针对沈老师说的
二是保持对业务的关注,一切抛开业务的架构设计和数据设计,都是在耍流氓。

感触颇深,其实无论是互联网,还是传统的制造业,所有的IT技术最终都是为了业务(用户)所服务,再完美的架构设计若无法满足业务需求,

则都归于零,就像我们现在正在开发的MES系统,设计的时候,大家谈的天花乱坠,设计了很多业务模型,数据结构也设计的很好,但当用户使用时

发现我们的录入太繁琐,系统结构设计太复杂,没有达到用户的需求,所以最终还时要更改。

数据缓存的确是提高速度的一个策略,我们现在还用的比较少,正在想办法看能否使用SQL SERVER2012



使用道具 举报

回复
认证徽章
论坛徽章:
18
ERP板块每日发贴之星
日期:2010-08-15 01:01:02喜羊羊
日期:2015-03-16 11:00:26喜羊羊
日期:2015-03-10 14:01:43知识
日期:2015-03-10 11:54:022015年新春福章
日期:2015-03-06 11:57:31暖羊羊
日期:2015-03-04 14:50:37ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-01-07 13:17:49ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
发表于 2015-1-30 21:53 | 显示全部楼层
其实很多优化都离不开业务规则,就像沈老师说的

使用道具 举报

回复
认证徽章
论坛徽章:
18
ERP板块每日发贴之星
日期:2010-08-15 01:01:02喜羊羊
日期:2015-03-16 11:00:26喜羊羊
日期:2015-03-10 14:01:43知识
日期:2015-03-10 11:54:022015年新春福章
日期:2015-03-06 11:57:31暖羊羊
日期:2015-03-04 14:50:37ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-01-07 13:17:49ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
发表于 2015-1-30 21:57 | 显示全部楼层
很多系统的优化,没有统一的规则,必须依靠业务规则进行优化,
如上所述,58 同城一般使用“时间”作为冷热数据划分依据,最新的热数据信息存储在缓存里以提高读取效率,较长时间的冷数据信息存放在数据库内。还是那句话,系统设计得依据业务场景来。

都必须依靠业务规则进行,有时根据时间,有时根据区域,等等,都必须多思考,多琢磨,相信总有好的解决办法,就想我门正在开发的品质管理报表系统,若每次从原始数据读取,则速度很慢,结合业务规则,每天看前一天的报表数据,则每天将数据写入到一个单独表进行缓存,定期清理。速度方面当然有很大提升。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表