这是一个“数据驱动业务”的时代。数据的存储、分析、管理、应用,以及价值挖掘都离不开数据库。
虽然数据库技术多年来一直在持续演进之中,但行业客户选择数据库时的担心和困惑远未消除。
“你们的数据库性能如何?”“能不能满足我们的核心业务需求?”数据库厂商该如何应对行业用户连珠炮似的追问?
数据库性能究竟哪家强?和移动云·云数据库GaussDB (for Influxdb)同属一个生态的开源InfluxDB企业版集群一直话题满满,作为曾经influx生态里的领头羊,TA和移动云·云数据库GaussDB (for Influxdb)之间孰强孰弱可谓是圈内的一大热点。
不如摆下一座擂台,让云数据库GaussDB (for Influxdb)与开源InfluxDB企业版集群真刀真枪地较量一番。这样一来,行业用户在选择时也能一目了然,胸中有数。
说干就干,擂台设置如下:
模拟虚拟机监控场景,预设100台虚拟机,每台虚拟机采集20个监控指标,10秒采集一次指标状态,模型每条数据大小约为24字节。
蓝方:云数据库GaussDB (for Influxdb) 2节点方案
灰方:开源InfluxDB企业版3节点集群
擂台赛共分三轮进行,分别以数据库的“写入能力、查询能力、压缩率”为每一轮的比拼内容。每轮比拼获胜一方积1分,负者为0分。以三轮比拼的总成绩确定最终结果。
通常来说,数据库的读写是系统的主要瓶颈,也是优化收益最高的地方所在。在小数据量、大数据量等不同的场景下,比较不同数据库的写入性能,最能反映出数据库的整体性能优劣。
在小数据量场景下,云数据库GaussDB (for Influxdb)的写入性能是开源InfluxDB企业版的13倍左右,在大数据量的场景下也能达到1.8倍左右。
蓝方——云数据库GaussDB (for Influxdb)胜,积1分
在这个回合,云数据库GaussDB (for Influxdb)施展出的是一套战无不胜的“组合拳”,其效果惊人,支持每天万亿条数据写入:
基于大规模并行分析架构,所有节点并行写入,数据库多副本复制可卸载到分布式存储,从而降低计算节点到存储节点的网络流量,尤其是在大规模写入的场景下,云数据库GaussDB (for Influxdb)的写入性能线性扩展度大于70%。
查询优化是提高数据库性能的重要手段。每一条查询指令都是一个子任务,而执行每一个子任务都需要花费时间。
优化查询的目的旨在减少子任务的数量或者让子任务运行得更快,从而进一步提升数据库的整体性能。
在小数据量场景下,云数据库GaussDB (for Influxdb)的查询性能是开源InfluxDB企业版的14倍,在大数据量下是开源InfluDB企业版的8倍左右。
蓝方——云数据库GaussDB (for Influxdb)胜,积1分
在这个回合,云数据库GaussDB (for Influxdb)施展出了威力巨大的“直拳”,不仅连续出击,而且每一拳的份量极重,具体体现为聚合查询整体性能极高:
基于MPP架构,一条查询语句可以在多节点及多核并发执行;
基于向量化查询引擎,每次迭代批量返回数据,大大减少了额外开销;
采用增量聚合引擎,基于滑动窗口的聚合查询的结果缓存,大部分从聚合结果在缓存中直接命中,仅需要聚合增量数据部分即可;
基于多维倒排索引,支持多维度多条件组合查询,从而避免了大量扫描数据;
采用存储摘要索引,在数据查询中可以加快过滤无关数据。
在工业互联网、物联网等大规模数据存储场景下,数据的存储成本高昂,所以数据压缩对于时序数据库来说是一项不可或缺的能力。
数据库具备高数据压缩率,不仅能够更高效地处理海量数据,而且可以有效降低数据存储成本,减少数据存储空间。
在250万时间线场景下,云数据库GaussDB (for Influxdb)导入了151亿条数据,导入前数据大小为337.5G,导入后为49.8G,压缩率为6.8;
开源InfluxDB企业版导入了47亿条数据,导入前105G,导入后21.3G,压缩率为4.9。云数据库GaussDB (for Influxdb)的压缩率是开源InfluxDB企业版数据库的1.4倍左右。
蓝方——云数据库GaussDB (for Influxdb)胜,积1分
在这个回合,云数据库GaussDB (for Influxdb)使出了“左右摆拳”,乘胜追击。“左摆拳”即为云数据库GaussDB (for Influxdb)独特的自适应数据压缩算法。
这是一套框架,为每一种数据类型注册有若干具体数据压缩算法。
与传统数据压缩算法相比,其本质区别在于一种数据类型,并非固定一种数据压缩算法,而是可以根据数据类型和数据分布选择其中最合适的数据压缩算法。
比如检测到大整型数据时,先使用Delta或者Delta-Of-Delta进行编码后,再使用Simple8b亦或Zigzag算法,从而达到最优的压缩效果。
而“右摆拳”则是依仗云数据库GaussDB (for Influxdb)所采用的LSM tree架构,随着后台压缩的持续进行,数据库的压缩率会进一步提升,成本优化更加凸显。
经过三轮惊心动魄的攻防大战,最终云数据库GaussDB (for Influxdb)凭借三轮全胜的战绩赢下了与开源InfluxDB企业版数据库的这次擂台赛!
从整体上看,云数据库GaussDB (for Influxdb)选手的性能优势明显,带来了更高的写入能力、更稳定的查询能力,以及更高的压缩率。
此外,该选手在集群化、冷热分级存储、高可用等方面也都做了深度优化,能够更好地满足时序应用的各种场景需求,尤其适合大规模的工业互联网、物联网、运维监控等时序业务场景。
擂台上风起云涌、拳拳到肉,但云数据库GaussDB (for Influxdb)选手仍凭借极致性能,强势助力行业用户数智化转型,洞察先机,不愧是擂台ACE。