摘要:本文整理自浙江亿视电子技术有限公司的技术总监韩毅在ScaleFlux × PolarDB 线下meetup中的分享。本篇内容主要分为三个部分:
一、公司介绍
二、能源企业数据使用现状
三、如何基于PolarDB-X打造数据基座
一、公司介绍
1.公司介绍
亿视电子以“让数字世界智慧运行”为使命,以物联网及视觉分析技术为核心,结合数字运营理念,为金融、能源、建筑等行业提供数字化设计、数字化集成、数字化运营、数字化保障整体解决方案。目前联合浙江大学,融合人工智能、数字孪生、虚拟现实、联合定位等技术,打造慧云综合管理平台。基于这些技术,在金融领域和能源领域,亿视电子提供数字化转型解决方案。
2.发展历程
浙江亿视电子技术有限公司成立于1997年,截止至今,已经成立了20多年。经过近20多年的发展,亿视电子成为金融安防领域增长最快的企业之一。
3.创新发展
上图展示的是亿视电子和联合浙江大学AI实验室联合创办的先进技术研究院,主攻人工智能与领先性技术研究。
4.业务布局
上图展示的是亿视电子的业务布局方向,主要集中在智慧金融、数字低碳、智慧能源三个方面,本次分享的实践案例主要集中在能源行业。
二、能源企业数据使用现状
1.电厂发展方向
首先我们先来了解一下,能源行业为什么会用到云原生分布式数据库。
本次分享的案例来自于一家大型央企,它的厂区遍布全国各地,每个厂区面积很大,大概有几平方公里。在调研过程中我们发现,电厂的信息发展和现在互联网的发展还是不一样的。因为互联网是新兴行业,而传统的电厂是数字化转型的重点,其数字化程度和互联网公司相比起来还是落后一些的。
2.亿视数智电厂解决方案全景
在整个能源行业里,亿视做了全流程的数字化过程,包括从发电端、输电端、变电端、配电端、用电端等。试想一下,如果把以上所有端全部都数字化,那将会对数据的存储、查询、使用等要求变得非常高,因为整个数据量会非常大。
3.智慧电厂全局展示
上图展示的是其中一个电厂的发电端,它的面积非常大,从图上能看到的数据类型大概只占1%,传感器就包含了数十万个。
物联网和互联网SAAS服务对于数据存储和访问最大的区别是,物联网中包含巨量的前端设备和各类型传感器,它们是24小时不间断的工作和数据采集的,所以它对数据的并发写入和读取的要求非常高,包括高可用、高稳定性。
4.数智电厂整体架构
能源企业目前主要是使用MySQL作为应用数据的存储方案,单机版的MySQL存储性能已经远远不能满足企业业务发展的需要,同时由于能源企业属于国家的重点反恐单位,所以我们在帮助客户打造数据中台的时候,首先要考虑的就是国产化产品。在数据库选型的过程中,我们考虑过其他国产化数据库,但最终我们选择了PolarDB-X。因为PolarDB-X是全栈开源,除了内核也包括周边的工具及生态全部开源。同时具有优秀的社区运营和技术架构,这样即使之后不断迭代和维护,企业在享有高可靠性和高性能同时也可以像MySQL一样简单、低成本的使用。
从上图中,我们可以看到各类业务系统,但由于需要保密,并没有一一展示。它们是一些事物型的数据,包括阿里云ADB的湖仓一体化、以及阿里巴巴达摩院数据库与存储实验室研发的新一代全空间位置智能引擎Ganos。
为什么会用到Ganos呢,因为企业在数字孪生技术的应用。大面积的数字孪生技术应用后会带来空间数据的爆炸式增长,传统数据库会造成查询效率十分底下,可用性和实用性变得很低,不具备推广价值,。但是使用Ganos以后,百亿级数据量下查询效率提升了95%,整改三维数据的拖拉拽,以及查询效果非常好,非常流畅。
三、如何打造数据基座
1.企业的诉求
作为企业,企业的本质诉求就是通过技术的革新带来降本增效的效果。具体主要围绕以下几点:
- 高可用:无论使用什么类型的数据库,都需要在提供高性能的同时具有高可用的特性。
- 易维护:使用和学习成本要比较低,这样企业更加有意愿去使用。
- 持续性:选择一款好的产品,产品需要具有迭代的持续性(bug修复,功能持续更新),社区运营的持续性,开源开放的持续性。
- 低成本:数据存储成本要低,这样会更加具有推广意义。
2.为什么会选择PolarDB-X
高可用方面,包括:
- 易扩展的分布式方案;
- 三副本策略保障数据存储安全;
- 副本强一致性;
- 多机房部署;
- 跨地域多活。目前整个数据中心大概由二十几个异地数据中心组成,包括二十几个数据中心和一个总的数据中心。
易用性方面,包括:
- 完全兼容MySQL的设计,不需有很多SQL语言使用的迁移成本,对于开发人员来说成本非常低;
- 丰富的数据类型和工具支持;
- 水平扩展简单易用;
- 完善的文档资料;
- 副本强一致性。
低成本方面,包括:
- 学习成本低;
- 迁移成本低;
- 存储成本低;
- 运维成本低;
- 兼容多种环境。
持续性方面,包括:
- 产品持续迭代;
- 团队持续投入;
- 广泛的客户群体;
- 活跃的社区氛围。
3.先进的分布式云原生框架
上图是分布式云原生框架,可以看到,我们在搭建整个数据中心的时候,是很明显的存算分离、分布式架构,基于此数据读写的一致性,高并发的读写都能很好的保证。
4.框架优势
那么这种架构设计有哪些优势呢?
- 无论什么状况都不用担心误写了“备副本或只读副本”,因为它不支持写,写操作会被路由到主副本。
- 无论什么场景都不用担心“备副本或只读副本”读不到最新的数据,因为它提供的是强一致的读写能力。
- 无论什么时候不用担心“备副本或只读副本”故障,因为它会自动路由给其他正常的副本或者切回主副本。
- 大查询不用担心打爆“主副本”,因为它支持将大查询路由给“备副本或只读副本”,避免主副本造成压力。
基于以上的特性,大家应该可以很直观的理解PolarDB-X所适用的实用场景。
5.高效的故障恢复能力
上图展示的是,故障恢复能力的实现。导致节点故障的原因非常多,我们只需要判断是否为宿主机故障导致的节点故障,这决定了我们是采用本机重搭还是跨机重搭。这样就降低了我们的判断时间和难度。
6.数据运维-节点迁移
上图是节点迁移的过程。我们可以利用备库重搭实现节点迁移能力,可以在非故障场景下也发挥出很大的作用,比如旧主机下线我们可通过指定主机重搭的方式,把节点迁移到新主机上。如果遇到需要迁移的节点是主节点,则通过主动HA切换将主节点切换为备节点,再利用备库重搭进行迁移。
我们可以通过备库重搭中指定主机重搭的方式,将follower节点和logger节点分别迁移到可用区2里的主机2和主机3上。
做一次主动HA切换,将Leader角色切换到可用区2的主机2上,接着在使用指定节点跨机备库重搭,将可用区1的主机1上的follower节点迁移到可用区2的主机1上。
7.数据基座查询性能表现
上图展示的是数据基座查询性能表现。从图中可以看到,性能提升是非常明显的,且是在多场景下都具备较高的性能表现。
8.Clup-组网方案
这是我们基于乘数科技云管控平台CLup的组网方案。前面也讲了,如果想要做好数据中心,维护也是非常重要的,因为大家在使用数据库时候对于日常使用是无感知的。但对于运维人员来说,维护反而变成重点了,因为对他来说就是日常工作了。所以可视化的运维平台对于运维人员是非常重要的。所以我们就基于CLup方案,搭建了一套高可用的运维方案。
(1)CLup优势
CLup的优势比较明显,包括HA集群、数据备份、监控管理、报警管理等方面,是一款企业级的数据库管理产品。
(2)综合性能表现
上图是基于PolarDB-X打造的数据基座综合性能表现,该项目也获得了能源行业科技创新项目的一等奖。
- TPS提升了65%。这主要是PolarDB-X基于云原生的框架下优异表现。
- 存储成本降低了50%。这主要是得益于PolarDB-X是存算分离以及分布式存储的架构设计。
- 故障时间降低了90%以上。因为PolarDB-X是支持分布式多中心异地多活方案。
- 针对复杂SQL,查询效率提升了20倍。单个厂区每天的数据量大概在100亿条,再加上复杂SQL跨表、跨区,查询效率提升是非常明显的。如果用传统的数据库,面对如此大的数据量很容易出问题,只能通过分库分表进行解决。但是分库分表之后的数据查询将会在业务层面缩短到一个很窄的查询区域,这样对于数据的应用来说,就非常不便利。原本统计进行一年的运行数据查询统计,从中可以发现很多运营过程中的问题,因为查询条件的限制分成几十次完成原本单次就可以完成的动作,那么很多问题可能会发现不了,因为有些故障可能隔很长时间才发生一次,这样统计维度是不一样的。
综上可以看出PolarDB-X、CLup等产品的是基于自主国产化的技术革新产品。当性能足够高、足够稳定的时候,才能让数据运转起来,才能变出更多业务实现的可能性。
从上图中可以看到整个PolarDB-X的发展方向,包括一体化、平台化、智能化、云原生化等等。经过时间的验证,这个是非常具有前瞻性的认识,也为中国数据库的发展指出了道路,云原生分布式数据库是整个数据库目前的发展方向,它的发展趋势和步伐是不可被阻挡的。
作为已经具有多年PolarDB-X使用经验的人,我深知任何一款优秀的产品在实现过程中一定会产生各种问题,但在当今的大环境下,如果有问题我们不去直面问题,,不去攻坚解决,没有人为此付出,我们就没办法进步,就没办法突破封锁实现自主可控的创新。但如此艰巨的任务如果交给我们这种中小企业来做,我们其实很难去完成,毕竟我们人力有限,资金有限。所以我觉得阿里除了做出一款优秀的开源产品之外,其实也肩负了重要的社会责任,带领大家不畏艰险,砥砺前行,我认为PolarDB-X无疑可以称之为国货之光,降本利器。