开发者学堂课程【大咖说 - 开源数据库:企业如何用好开源数据库2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1059/detail/16090
企业如何用好开源数据库2
内容介绍:
一、采用开源数据库的业务的原因
二、数据库选型通用原则
三、如何看待开源数据库崛起的现象
四、PolarDB 的生态发展建议
一、采用开源数据库的业务的原因
本节课主要讲解企业如何用好开源数据库,吉利公司市面上的数据库产品都在采用如 PG、MySQL、分布式数据库、MPP 数仓、图数据库。
因为业务比较广各种业务场景都会有,市面上排名比较前的开源数据库都在用。MySQL、PG 是 OLTP 的,StarRocks、CK 是分析性数据库。
采用开源数据库的业务的原因,从目前的使用看从业务的角度从研产供销各个业务线都在用并不是在某一个特定的场景用开源数据库,另外一个角度是在研产供销里面用完之后,从系统可用性的角度来讲非核心的系统、核心的系统都在用开源的数据库的系统。开源数据库的系统一定要各种各样系统都有,用的人越多开源数据库才能得到一个更好的发展。选择商业数据库的业务目前吉利集团所用的商业数据库都不是自己选择的。
是由外部供应商带进来的,因为有的产品只能绑定某一个数据库,目前数据库能用开源便用开源这是一个原则。
开源数据库第一方面稳定性因为有了大量的实践能够达到业务系统的要求,第二点由于开源数据库的开放性给了业务更多的空间,给了业务更多的选择的余地,第三点开源的生态发展比较好像招一些 DBA、开发人员、基于开源数据库的数据分析人员,资源能够很容易的得到。开源数据库在企业里面会得到更广泛的应用。
二、数据库选型通用原则
最初在进行数据库选型时考虑了很久到最后在提炼比较重要的有三点,第一点是以业务为基准是否能满足业务的需求,第二点是降本相对于商业数据库能否给企业降低成本,第三点是是否具有通用性,选择数据库不能只局限于某一个特定场景下。以上三点是提炼出来的比较重要的三点是从概念上来讲的。
从接触的很多业务看,大部分的情况下以上三点能作为数据库选型的通用的指导原则。以业务为基准,随着数据库的种类越来越多,对数据库的要求越来越高。从最开始仅支持在线业务的软件系统现在希望能在数据库中做更多的事情,对数据库有了更高的要求,除了传统的高性能高并发以外很多的业务像金融、交易类对数据的安全数据的一致性都会有非常高的要求,有些业务因为实施性的要求数据量越来越大会拥有对实时分析的需求。针对不同的业务选择合适的开源数据库产品是用好开源数据库的第一步。
第二点是降本增效,因为有了基本的需求很多的开源数据库都支持冷热数据分层、混合负载一体化即尽量用同一个平台,用一种高性价比的解决方案帮助客户提供一个一站式的数据处理的能力。
第三个点从客户视角开发尽量不要被一种数据库去绑定,在业务做选择时会有一个更多的选择权利,或者未来有更强的适应性和灵活性。
三、如何看待开源数据库崛起的现象
从近几年的开源生态看,不管是数据库还是其他的一些 IT 的系统,IT 开源的趋势越来越大,IT 开源的技术是加速的,从这两方面来看对于开源数据库是一样的。从市面上的产品看出开源数据库越来越丰富,包括关系型的或者非关系型的、图数据库、分布式数据库,在开源的趋势下会发展的越来越好。
越来越多的多样化需求落到了数据库中实现,越来越多的开源数据库反过来会给企业带来越来越多的红利,让企业享受到开源的技术所带来的推动创新的作用。
作为一个企业抓住开源数据库的红利首先需要拥抱开源,只有使用才能获得收益,否则只是站在远处看而不去使用沿着原来的线走,可能不会了解到它的好处或者是获得收益。第二点对于企业更多的是关注自己的业务,开源数据库在开始可能没有很强的技术支撑,要获得红利还需要和社区或者是商业服务公司进行合作,否则只通过自己的技术力量将开源技术用好对于企业来讲比较困难。在建立开源社区时非常希望和用户、企业建立良好的互动关系,一方面能收集到更多的需求,第二是数据库时特殊的软件产品需要越来越多的应用场景打磨,才能逐步的稳定。
在用数据库的过程中还会遇到一个问题,各种各样的数据库开源数据库越来越多,关系型、分析型、KV 数据库,很多用户在使用的过程中保证数据库的稳定性让很多技术人员和 DBA 比较头疼的问题,但是数据库特殊的产品,稳定性要求特别高,开源数据库获得商业保障的建议,向商业数据库提供的一些成熟的高可用的方案需要自己考虑,既然选择了开源后面的保障需要自己想办法面对或解决,从三个方面看,第一个是内部人才培养,第二是选择开源产品的时候尽量选择比较成熟的社区生态比较好的产品,第三个是选择开源的商业服务,如果将以上三点做好应该不会出大的问题。
从选型、内部支持、外部服务三个方面保证整个开源数据库的运行的稳定性。阿里云也开源了一款数据库云原生和分布式的 PolarDB,PolarDB 的特性比较令人感兴趣的有以下几点,第一个是计算存储分离的架构,将计算与存储解耦出来,从架构本身来讲是一个非常优秀的架构,另外一点是 PolarDB 对于业务兼容了很多传统的数据库,之前的数据库可能兼容某一种类型,PolarDB 可以做到兼容 MySQL、百分百兼容 Oracle。
一方面是架构另一方面是功能完整性。PolarDB 在生态的兼容方面做了大量的工作,PolarDB 有一个特性叫做透明分布式即是一个分布式的数据库,想要做成单击的体验,所以尽量将数据分布的复杂性给用户屏蔽掉,用户需要能够像使用单机一样使用 PolarDB。PolarDB 特性适合的业务场景、解决哪些业务痛点以及带来的业务价值,从 PolarDB 架构看因为是计算存储分离的架构在使用的时候更多的放在解决流量洪峰高并发的场景,另外一个场景是因为有去 O 的需求,在去 O 时将PolarDB 作为一个选项。
像 PolarDB 存算分离、一读多写的架构特别适应弹性要求高的场景,希望更多的和吉利集团探索更多的场景特别是创新的应用上探索能否给 PolarDB 找到更多的应用。
四、PolarDB 的生态发展建议
PolarDB 近几年的发展趋势发展很快,是很优秀的产品。在使用层面第一在产品层面是在社区里吸纳更优秀的产品体验,将体验做的更好。另外在产品推广宣传加大力度,和卖车一样第一产品要好第二要打广告。
开源 PolarDB 后续和吉利集团进行深入合作是接下来在吉利的私有云上部署,因为吉利集团有自己的私有云,对于 PolarDB 来讲对它的方向是希望将 PolarDB 做到私有云上对企业内部进行服务,因为 PolarDB 是云原生的既可以在 K8S上也可以轻量化部署。
对于有私有云的企业来讲选择 PolarDB 上云对外提供服务可能比较容易实现。