当初阿里用Oracle也是很稳定的,业务不能支撑也是预期而已,虽然预期最终成了现实,业务部门达成了业绩的承诺。阿里不是舍不得花钱,而是有钱也买不来IBM跟进阿里发展的速度,所以才想自己决定速度。

去IOE,在阿里也是满城风雨的。结果反对的走人了,无态度的远离技术,主动推的拿了股票也走了。

从业务来看,业务实现了预期的业务增长承诺,使得IBM小机支持不住,就去I了,E存储做得太好,反而让人感觉被绑架,找不到替代品,去E,因为费用矛盾,就顺便去O了。

而从技术来看,做技术的人,一方面实现了一次洗牌,另一方面提升了自身的价值,反过来绑架了业务,这就是技术人的价值。这正因此,阿里的人在行业内才趋之若鹜。

为什么会这样呢?因为他们吸取了银行的教训,银行一直用大机,十年都不怎么变,银行就觉得这些搞大机开发和运维的没用了,把人都逼走了,结果没人,也变不了了,算是企业短视导致双输吧。

阿里人去搞技术,用平安的观念来看,似乎有些非理性,好像是在追求梦想一般。

最后,说一下Oracle迁移到MySQL的技术难点,就是先去Procedure,Oracle不去Procedure,根本无从谈迁移到MySQL。

1、阿里将系统从Oracle移植到MySQL上总体规模是多大?投入的资源有多少?

阿里替换Oracle为MySQL,主要不是成本上的考虑。阿里买大机、小机、高端存储、Oracle也是很舍得花钱的,也是不差钱的主。

但是阿里的业务增长非常迅猛,年增长率500%。远远超过商业硬件、软件厂商遵从的摩尔定律的发展速度。阿里多次请求商业公司为阿里定制系统,或开放系统接口,以满足业务需要。但商业公司反应迟钝,行动缓慢,导致技术成了业务的严重瓶颈。

阿里从Oracle转换到MySQL,拥抱开源,主要是为了提高自己的技术掌控度,不使自己的技术过度依赖于商业厂商。

2、在一个库的迁移过程中,DBA、开发、测试各自的投入大概是多少?

阿里没有对这种精细化的东西有过计算。决定要做转换,就进行转换了。我个人觉得,阿里是企业家,看重的是战略的东西。先抢占市场先机,市场将百倍千倍回报。平安是商人,精打细算,反复论证,黄花菜都凉了。

3、在迁移过程中,都遇到了哪些问题以及是如何解决的?

(1)技术问题:

主要是根据阿里的业务需要,修改MySQL源码,符合自己的需要。

举例:查询排序。修改MySQL,在数据库内部将查询分为简单查询、复杂查询,对复杂查询做资源限制,防止占用简单查询资源。

根据特定业务的特点,修改MySQL,特定的更新完成后默认提交,不再需要单独的commit语句。

并发复制。MySQL原有的复制为单线程复制,延迟过大,不能满足需要。修改MySQL做并发复制。

(2)现存系统问题:

淘宝系统逻辑简单,数据量大,且数据库要求不使用存储过程,且SQL相对简单。应用系统与数据库松耦合,转换难度实际不大。

(3)观念问题:

现有的技术人员在Oracle上的学习、经验的投入,如果转到MySQL将会损失。如何说服?答:都是关系型数据库,相通的。技术上转换难度不大。另外,需要顺应趋势。

开发部门对MySQL不信任,不相信。如何说服?答:规模小,重要性低的系统先转换到MySQL,运行良好,做为示范。另外,也积累经验。逐步替换重要系统。

(4)人员储备问题:

大量招聘对技术有热情的员工,允许其按兴趣研究技术,不给业务压力,但要求定期有研究结果汇报、交流。做技术储备,不使技术成为业务的瓶颈。

商业模式的创新很容易,只要有个好点子就可以了。但是技术积累需要3年、5年甚至10年。举例:业务方想过节秒杀促销,除了阿里等大企业有能力做,其他银行等都做不了。一做系统就挂了。要提前做技术储备,不使技术成为业务的瓶颈。

4、迁移是进行了完整的代码重构还是本着最小化改变原则?

借系统变更、改造等本身就需要做变更的机会,顺便把迁移给做了。

5、问一下对PostgreSQL的看法

PostgreSQL也是相当不错的开源数据库。PostgreSQL与MySQL相比,应用广泛程度与人员熟悉程度远低于MySQL。因此,阿里选择了MySQL。

6、怎么对复杂查询做资源限制的?

通过中间件实现,类似于TDDL这样自开发的中间件,阿里有很多。

一般情况下,简单查询和复杂查询同时发送到数据库中,数据库并不对这两种查询做区别,总是分配资源进行执行。

阿里通过修改MySQL,使用一定规则(如:访问的表的数量、子查询嵌套层数等)将SQL分为简单查询和复杂查询两类,并统计两类SQL的资消耗情况。

复杂SQL一般为统计分析类查询,简单SQL一般为业务处理类查询。

为避免复杂SQL占用过多资源,导致简单SQL无法执行,设定了复杂SQL的资源消耗阀值。如果复杂SQL的资源消耗达到阀值,那么暂停复杂SQL的执行,将资源让给简单查询。

侯松

现供职于中国平安保险集团股份有限公司,DBA上海团队负责人。

新浪微博:@麻袋爸爸

技术博客:http://www.housong.net

原文链接:http://www.housong.net/pingan_ali_day.html  (责编/刘亚琼)

平安阿里数据库技术交流日总结相关推荐

  1. 2135亿!2018 双11阿里数据库技术战报新鲜出炉

    00:02:05 成交额超100亿 00:57:56 成交额超666亿 01:47:26 成交额超1000亿 15:49:39 成交额超1682亿 22:28:37 成交额超2000亿 2018新纪录 ...

  2. 阿里技术分享:深度揭秘阿里数据库技术方案的10年变迁史

    本文原题"阿里数据库十年变迁,那些你不知道的二三事",来自阿里巴巴官方技术公号的分享. 1.引言 第十个双11即将来临之际,阿里技术推出<十年牧码记>系列,邀请参与历年 ...

  3. 国内数据库顶会DTCC 阿里数据库技术干货全面解析

    如果你是一个技术人的话,就一定听过中国数据库技术大会(简称DTCC).作为国内数据库及大数据领域规模最大.最受欢迎的技术交流盛会,云集了国内外顶尖专家,共同探讨MySQL.NoSQL.Oracle.缓 ...

  4. 如何打造千万级Feed流系统?阿里数据库技术解读

    2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒.支付峰值25.6万笔/秒.而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去.数据运营平台的 ...

  5. 千万级Feed流系统——阿里数据库技术解读

    2017年的双十一又一次刷新了记录,交易创建峰值32.5万笔/秒.支付峰值25.6万笔/秒.而这样的交易和支付等记录,都会形成实时订单Feed数据流,汇入数据运营平台的主动服务系统中去.数据运营平台的 ...

  6. 直击阿里新一代数据库技术:如何实现极致弹性能力?

    阿里妹导读:张瑞,阿里巴巴研究员,阿里集团数据库技术团队负责人,经历阿里数据库技术变革历程,连续六年作为数据库总负责人参与双11备战工作.今天,我们邀请他来分享新一代数据库技术在双11中的应用. 阿里 ...

  7. 揭秘 | 双11逆天记录背后的数据库技术革新

    每一个数字背后 都需要强大的技术支撑 Higher, Faster, Smarter 是我们不变的追求 技术无边界 创新无止境 ▽ 关于数据库的双11 也许你还想知道 ▽ 2135亿!2018 双11 ...

  8. 2017双11技术揭秘—阿里巴巴数据库技术架构演进

    摘要: 每年电商双11大促对阿里技术人都是一次大考,对阿里数据库团队更是如此.经过9年的发展,双11单日交易额从2009年的0.5亿一路攀升到2017年的1682亿,秒级交易创建峰值达到了32.5万笔 ...

  9. 新一代数据库技术在双11中的黑科技

    摘要: 12月13-14日,由云栖社区与阿里巴巴技术协会共同主办的<2017阿里巴巴双11技术十二讲>顺利结束,集中为大家分享了2017双11背后的黑科技.本文是<新一代数据库技术在 ...

最新文章

  1. 【C 语言】文件操作 ( 使用 fread 和 fwrite 实现二进制文件的拷贝 | stat 统计文件大小 | feof 判定文件结尾 )
  2. mkdir -p命令
  3. android adb shell常用命令(四)
  4. tt协议号服务器,TTIot: TTIoT云端物联网Iot组件;面向JAVA;netty;mqtt;异步推送;以事件为驱动;为设备提供安全可靠的连接通信能力;...
  5. 蓝桥杯基础练习之杨辉三角
  6. form和ajax同时提交吗,form表单提交与ajax消息传递
  7. msf 生成php马_PHP的性能优化方法总结
  8. 案例4-4 Windows消息队列 (25 分)(优先队列的优先级设定)
  9. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响...
  10. Dev-Cpp_6.0下载
  11. PCB设计流程(精简)
  12. android手机无法root成功,为什么有的安卓手机不能Root?
  13. Service与Android系统设计(5)-- libbinder
  14. 快速上手五大技巧!自媒体新人创作攻略,想要通过拍视频赚钱
  15. java蓝桥杯数字黑洞_【蓝桥杯】数字黑洞(5位黑洞数)
  16. 【计算机毕业设计】留学生交流互动论坛网站
  17. 湘怡源生UOUZEN系列一体式次氯酸钠发生器
  18. 必须了解的五个服务器基础问题
  19. java sm9_一个支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱
  20. Java ASCLL编码表

热门文章

  1. 分布式电源(风电、光伏)对配电网保护的影响分析与仿真-电流速断保护-PSCAD、matlab
  2. manjaro初步配置
  3. Ubuntu运行PulseView失败,提示 libselinux.so.1: no version information available、libgio-2.0.so.0: undefined
  4. Scratch习题—例2-画板(重绘撤销)
  5. 欧拉角与万向节死锁(图文版)
  6. SQL SELECT TOP 子句详解
  7. R语言学习笔记——添加ID
  8. 【Ubuntu】Ubuntu16.04下WPS演示闪退
  9. MOOG穆格伺服阀G761-3005B
  10. lamp服务器硬件,配置LAMP服务器网站架构