当前位置: 首页 > 科技观察

到底选择PostgreSOL还是MySQL?看这里

时间:2023-03-13 14:44:50 科技观察

根据DB-Engines2019年8月最新的数据库热度排行榜(如下图),排名靠前的MySQL和PostgreSQL数据库的热度趋势与去年同期相比仍在稳步上升.作为目前使用最广泛的开源数据库,MySQL号称是最流行的开源数据库,而PostgreSQL也号称是世界上最先进的开源数据库。很多用户往往一时难以做出选择。接下来,我们将介绍第31次会议在大数据量、快速查询的场景下,面对MySQL和PostgreSQL数据库的双重折磨,如何最终选择和实现数据库高可靠背后的技术。用户场景31会是国内领先的场景营销技术服务商。通过运用互联网、物联网、人工智能、大数据和云计算技术,结合会议、展览、活动等面对面的营销场景,先后推出了会议云、展览云、营销云。其中,31会展云和31会展云作为一站式数字会议SaaS云平台,通过组件化、集成化、流程化,实现会展全流程的智慧化。注:图片来自第31次会议。PostgreSQL还是MySQL?作为一个基于SaaS的会议平台,内部模块众多且关联紧密,对数据库的需求多样化、精细化。因此,第31次会议首先调研了UCloud提供的主流数据库类型。UDB子类型如下:截至目前,第31届大会已服务客户超过30万,会展业务量超过130万,对数据库存储的需求量很大。而且,会议营销SaaS业务的实时性和事务处理的复杂性也对OLTP和OLAP提出了很高的要求。经过比较和选择,用户同时选择三个数据库来满足不同的目标。由于PostgreSQL支持多种表关联算法,具有丰富的统计函数和语法,在复杂的多维查询和分析场景中有出色的表现,因此PostgreSQL在OLAP方面比MySQL更快、更高效。选择PostgreSQL。例如:在实际业务中,用户使用PostgreSQL处理单表500万条记录的大规模查询,并将结果流快速平滑地传递到下一个业务环节。自建集群还是PostgreSQLUDB?除了解决上述不同数据库版本的选择问题,用户还需要面临选择是使用云主机自己搭建PostgreSQL集群,还是直接使用UCloud现成的PostgreSQLUDB产品?传统的自建数据库方式,前期需要大量的软硬件投入和运维成本,部署周期长,实际资源利用率低。选择PostgreSQLUDB产品,不仅可以节省资源和人力成本,还支持弹性扩容和按需计费;在安全性和可靠性方面更加安全,具有备份创建和自动回滚等功能。另外,从数据层面来看,高可用主备和底层数据存储都具有数据冗余特性,可以保证数据零丢失。基于PostgreSQLUDB能够带来的特性和优势,用户选择了PostgreSQLUDB。并且经过时间证明,用户使用PostgreSQL已经一年多了,实例没有出现过一次故障。紧急排除故障。正如31大会运维经理唐磊评价的那样:“PostgreSQLUDB用于大数据分析,查询效率更高,相比自建,可靠性更高,运维方便和维护。”如何保证高可靠性?为了充分保证PostgreSQLUDB产品的可靠性,UCloud数据库团队在功能方面做了大量的优化工作,例如:1、自动回滚功能是指当用户人为错误导致数据删除或丢失,只要之前7天的备份存在,“秒级回滚”功能可以将数据恢复到过去7天的任意一秒,可以说是“吃了一颗定心丸””供用户使用PostgreSQL产品。除了存档,用户还可以通过“创建从库”功能,创建更多的数据库副本,进一步增加数据安全性。2.高可用部署,自动容灾PostgreSQLUDB采用主从复制架构,保证服务高可用。在主数据库提供服务的同时,另一套数据库服务不断同步数据,随时待命。UDB后台自动容灾该模块可自动检测PostgreSQL实例服务出现问题时,自动进行容灾,保证数据库服务的稳定性和可靠性。当实例切换时,容灾模块会将备库PostgreSQL服务提升为主库,待原主服务启动后回退到从库。整个过程中,用户无需任何人工干预和配置修改,真正实现了自动容灾。图:PostgreSQLUDB自动容灾示意图3.热升级,不间断在线扩容PostgreSQLUDB可根据业务需求,按需动态扩展数据库资源。用户只需在控制台点击几下,即可动态调整实例的内存和磁盘大小,满足不同业务阶段对数据库性能和存储空间的弹性需求。PostgreSQLUDB在资源扩容过程中,数据库服务基本可以不间断,只有秒级闪断。这大大减少了数据库扩容对业务的影响时间,实现了真正的“热升级”。