开发者学堂课程【大咖说 - 开源数据库:企业如何用好开源数据库1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1059/detail/16091
企业如何用好开源数据库1
内容介绍:
一、企业开源数据库
二、如何看待开源数据库崛起
三、企业应该如何抓住开源红利
四、开源数据库如何获得商业保障
五、阿里开源数据库 PolarDB
一、企业开源数据库
1.企业开源数据库产品:Mysql、Redics、时序数据库等各种类型的数据库
2.企业使用开源数据库的业务特征:
企业结合业务进行选型,ToC 与 ToB的场景不大相同,ToC 多使用开源数据库,例如支付宝进行转账时,业务场景相对简单,整个过程打通了金融商家交易;ToB 则相对复杂,大多选用商用数据库,如,假设账户中有5块钱,又转入3块钱,现在账户中有8块钱,去购买6块钱的商品,一般情况下直接支付就可以完成,但是在 ToB 场景中,由于天线、配款的业务逻辑,会先用掉3块钱,然后再用剩余的5块钱进行支付。
3.企业数据库选型的通用原则:
(1)企业自身的业务复杂程度需要造就了强大的商用数据库的支持,产业互联网也积极的拥抱开源。每种开源数据库都是在一个精分领域做到了极致的产品。
例如 redics 的 KV 场景,还有 ES 的全文索引场景。而企业选用何种数据库决定了企业走哪条路线。如果是一个新鲜的互联网公司,资金充裕,可以找高工资的 DBA,这些 DBA能够控制好开发的质量,那公司就可以选用 PG Mysql 等开源数据库。
高水平的从业者,开源数据库会使用的更加广泛。而某些传统行业对开源数据库没有太多的经验,相对可能选择 oracle、sqlserver 等商用数据库。开发能够被 DBA 约束,而且场景比较单一。
(2)互联网公司使用开源数据库比较好,因为它的开发事务短;如果开发不能听从 DBA 团队的约束,或者业务优化到了极致还是很复杂,那么使用开源数据库可能会造成部分性能下降或者一些使用过程中的问题。从这个角度来说,数据库选型应当从技术团队的掌控能力和业务场景等方面综合考虑。
二.如何看待开源数据库崛起
1.开源带给我们便利,也给了我们很多不同场景的解决方案,丰富了我们的技术栈,提高了个人的技术水平,开源是一种趋势。无论是开源数据库还是商用数据库,它们都有不同的优势。数据库最高级别是金融级,金融级数据库还是商用数据库居多。基于开源进行自研,也是国内数据库的突出体现。大多国产企业都基于 Mysql 与PG 来进行开发,所以也说开源成就了大部分国产企业。
2.除了开源与国产,还有一方面就是基于开源产品进行自己公司的企业信息化建设,这种情况在互联网公司很是常见。例如去哪儿公司一半选用 Mysql ,一半选用 PG。开源亦成就了互联网,互联网公司更多选用 Mysql,所以 Mysql 的生态也就在互联网的风潮中建立起来。
3.开源承担了不需要使用商用数据库的场景,例如商用数据库是系统核心,日志类、接口类这类低价值的数据存储在核心数据库就不太划算,占用了宝贵的存储资源与计算资源,我们可以将其存储在开源产品当中。
4.开源会越做越好,并且更加完善。Mysql 的很多功能是在向 oracle 靠拢的,以上就是开源崛起的好处与带给我们的未来。
在不同场景下,开源与商用互为补充。开源在一些特定的场景中是能够给用户带来一些业务价值或者是商业价值。
三.企业应该如何抓住开源红利
1.开源软件的核心是开源数据库或开源中间件,而数据库又是重中之重,因为中间件是围绕数据库展开的,数据科学家应当带领数据库的团队创立工作室或是部门,支持开发部门,阿里达摩院在该方面已成为业界标杆;
2.企业技术人员也应该积极的学习或者加入一些开源协会,这种对自己企业的软实力与影响力都有一定提高。阿里云与腾讯云都在不断输出自己的技术能力。阿里每年开源了很多技术产品,很多人从中受益。企业技术人员在带领团队过程中希望完成公司交予的任务时,最好能为自己的集体输送一些支持,更好的话希望可以像阿里一样能对社会进行输出。
3.一般企业的技术场景比书本上与理论上复杂的多,如果企业与高校可以达成战略合作的话,企业可以把自己的业务场景带到高校,可以提升教学水平,企业也能够为未来培养更多人才,形成一个良性的生态合作。
数据库是业务系统的核心组件,所有的在线业务基本依靠数据库来保障。
四.开源数据库如何获得商业保障
1.开源并不是免费,开源应该有它自己的商业网站,目前开源软件如此之多,我们都可以选择使用。但熟悉当前所有开源软件的源码不太现实,当遇到自己能力之外的盲点或是技术短板,很是正常,如果我们能力较高,即使可以解决90%的问题,另外10%的问题还是可能需要原厂或者社区以及第三方服务机构来进行保障。
2.一般来说,开源软件背后都有自己的商用公司,比如 Mysql ES 等操作系统,从服务与知识产权的角度都应该购买企业版或一些服务知识。在遇到问题时可以有人来为你兜底解决,毕竟数据就是生命,数据库是一个胆量密集型的行业,一个公司选择数据库基本上是把身家性命压在这里,所以对企业一定要有一个好的支持,因为企业要承担过程中的所有损失,企业使用了各式各样的开源产品,个别需要外部支持也是可以接受的,就像是车辆保险,还是应当应买尽买。
3.如果所有的开源都没有商业服务,对开源的生态发展也不太好。
开源也更要求开发运维提出了很高的要求,自 orcale 开启 AC 以来,Mysql 和 PG 也都有自己的 AC 体系,技术路线选型控制开发。4.开源软件是免费的,我们可以放心使用,软件所需要的服务器,即存储资源,计算资源并不免费,有时费用较高,所以总成本未必低。
开源的企业应该采购一些相应的服务保障,这样也有利于整个开源生态。
五.阿里开源数据库 PolarDB
语音数据库最本质的东西还是购买语音数据库背后的服务,基于这些服务,企业才可以为顾客提供稳定运行的服务系统。
对于阿里开源的数据库 PolarDB,云原生分布式的能力能够带给更多用户,回馈社区,推动社区技术的发展。
阿里开源的数据库 PolarDB,可以兼容 Mysql ,也可以兼容 PG,随着业务的增长,数据库会面临很大的挑战,语音原生的分布式数据库,将来会是一个很好的产品选择。