stay_sun 发表于 2016-04-06 09:49

如果你的业务暴涨10倍or100倍,你怎么设计你的数据库?

获奖详情:http://bbs.chinaunix.net/thread-4245936-1-1.html



话题背景:
最近有了孩子,很长时间没有写文章了,上来还是习惯性的想写。就现在来说,随着互联网的飞速发展,技术更新的随之变快,很多新技术已经拿到生产中使用。
作为一个mysql dba 学过很多的数据库。以前用过oracle ,后来去创业公司维护过pg ,现在主要做mysql 还学了点nosql。
待过创业公司见过太多的误区,原来技术负责人开发出身。一句话以后我们用nosql 解决在线业务数据量大的情况。这听得我蛋疼。
其实我们用关系型数据库可以解决好多问题,今天我想跟大家聊下mysql的未来是什么样子的。
作为未来的一个讨论的话,我们就要有个需求。我从来就说一句话,没有业务的架构想法,就是耍流氓。
多以我们 拿个简单的例子,如果你的业务上升10倍,如果你的业务量太小的话 ,那就100倍。
         
话题讨论:
1.如果你的业务暴涨10倍或者100倍你会把你得什么业务放在mysql 中

2.未来我们的关系型数据库会发展成什么样子呢?

3. 其实业务就是成倍的增长的,结合你的业务暴涨10倍or100倍 你要怎么设计的架构。让你得系统可以抗过去

讨论时间:
2016年04月6日--2016年05月6日

活动奖励:
优质回复用户获得精品图书一本。回复用户均可以获得50个可用积分。
更有机会获得DTCC 2016大会门票一张哦~

限时优惠!购票立享8.8折!
作为国内数据库与大数据领域最大规模的技术盛宴,2016第七届中国数据库技术大会(DTCC)将于2016年5月12日-14日召开。
大会以"数据定义未来"为主题,云集了国内外顶尖专家,共同探讨MySQL、NoSQL、Oracle、缓存技术、云端数据库、智能数据平台、大数据安全、数据治理、大数据和开源、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术。本届大会共设定2个主会场,24个分会场,并将吸引5000多名IT人士参会,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。

4月20日前,订购DTCC大会门票即享7.8折优惠!团购更有折上折!

官网链接:http://dtcc.it168.com/

欢迎扫码关注DTCC官方微信,获取最新信息!
http://itpubpic.img168.net/forum/201603/15/103102o7lini9ixlq3ixmn.jpg

shang2010 发表于 2016-04-06 12:21

待过创业公司见过太多的误区,原来技术负责人开发出身。一句话以后我们用nosql 解决在线业务数据量大的情况。这听得我蛋疼。


很多技术管理,说起技术,一腔热血来潮,其实做事能力:outu:

ylky_2000 发表于 2016-04-06 13:35

本帖最后由 ylky_2000 于 2016-04-06 13:36 编辑

话题讨论:
1.如果你的业务暴涨10倍或者100倍你会把你得什么业务放在mysql 中
A:前提是业务暴涨100倍。传统上从基础建设方面下手、ssd、光通道、读写分离、cdn、分布式存储、结构化与非结构化数据分离、集群化通过主机量的方式来应对暴涨的访问等,至于说到mysql,我觉得mysql都可以应用起来,对于非互联网业务的企业,基本很少采用mysql的解决方案,大都是用商业化的产品,如oracle、sql server等。
2.未来我们的关系型数据库会发展成什么样子呢?
A:朝分布式方向发展。变成易横向扩展的融合性数据库。
3. 其实业务就是成倍的增长的,结合你的业务暴涨10倍or100倍 你要怎么设计的架构。让你得系统可以抗过去。
A:将业务分拆为一个个都微服务器、云化、容器化,高内聚轻耦合。

cjfeii 发表于 2016-04-06 13:57

sql和nosql配合使用相得益彰 {:qq23:}

王楠w_n 发表于 2016-04-06 14:24

刚好要写这方面的文章,如果配合,能否详细说明下,谢谢啦回复 4# cjfeii


   

cjfeii 发表于 2016-04-06 15:22

关系型数据库(sql)的一个特性就是支持事务,这是它的一大亮点,同样是这个亮点使得它的分布式实现变得异常困难(CAP理论)
而非关系型数据库(nosql)不支持事务或者说不支持严格的事务(最终一致性),使得它在实现分布式的时候能保持不错的性能
sql和nosql并不是谁取代谁的问题,而是可以根据不同的数据特点,应用于不同的业务。

回复 5# 王楠w_n


   

cjfeii 发表于 2016-04-06 15:39

1.如果你的业务暴涨10倍或者100倍,你会把你得什么业务放在mysql 中
我们做的是物联网的项目,业务数据主要是一些关系数据(用户信息、公司信息、终端信息及其关系信息等)和历史数据(增量数据),目前关系数据和历史数据分别保存在不同的MySQL实例中,由于历史数据不断增多(每天上千万条,数据每天增加20GB),所以我们将历史数据分片保存在4个MySQL实例中。
如果说我们的业务暴涨10倍或者100倍,那么我们还会将关系数据保存在MySQL中,因为单表规模不会超过千万,并且这些数据需要事务型保证,即使这些表数据过亿,我们也会保存在MySQL中(可能会尝试PG),大不了采用SSD、分库分表嘛。
在业务暴涨10倍或者100倍情况下,我们的存储历史数据每天数据增长200GB或2TB(每天增长数十亿条数据),不管是从存储空间利用率(想一下MySQL的空间利用率:raid10,1M2S,index占用空间等),还是性能方面的考虑(从上亿条数据表中去查找数据),用MySQL都有点力不从心,更关键的是我们对数据的一致性要求不高(我们要的是趋势曲线,而不是曲线上的所有的点),综合考虑,历史数据会考虑采用nosql存储:hbase、mongo、cassandra等。
note:请不要被“关系数据”误导,我这里说的关系数据和关系数据库、非关系数据库没有直接关系。


2.未来我们的关系型数据库会发展成什么样子呢?
未来关系型数据库我也说不上来,从用户角度来说,我希望未来的关系型数据库支持弹性扩容、分布式事务、性能好。


3. 其实业务就是成倍的增长的,结合你的业务暴涨10倍or100倍你要怎么设计的架构。让你得系统可以抗过去
目前的情况就是改造业务后台,实现后台服务程序无状态横向扩展,解耦服务依赖,对服务进行分级,添加中间层(mq、proxy、lb等),应对业务暴涨的带来的压力。

求票求书 {:qq23:}

sunzhiguolu 发表于 2016-04-06 22:56

不求票, 也不求书, 只是开开眼界.

stay_sun 发表于 2016-04-07 08:55

回复 6# cjfeii


    我觉得分布式mysql 数据库会升级现在的mysql 可以应对 oltp 很大一部分东西
cap 理论方面舍弃强一致性   用最终一致性 换取分区容错性的需求

cjfeii 发表于 2016-04-07 09:20

最终一致性意思是努力送达直到成功(即是最终会成功、会一致),不能回滚也不需要回滚
事务是能够回滚的,不能回滚如何实现事务。
想一下那个经典的转账的例子(A转给B一千块钱:A-1000,B+1000),如果说不能回滚将会是什么样子

阿里沈询是这方面的专家,有兴趣可以看看他的文章:
blog.sina.com.cn/s/blog_693f08470102vibt.html

回复 9# stay_sun


   
页: [1] 2 3 4
查看完整版本: 如果你的业务暴涨10倍or100倍,你怎么设计你的数据库?