一、分析型数据库的定义及发展

1.数据库的定义及分类

对数据库的分类可以从很多角度展开,同一个数据库分类角度不同,会被归类为不同的类型。本文主要采用了中国计算机学会(CCF)对数据库分类的方法之一,按照数据模型来进行分类,将数据库分为关系型和非关系型。

关系型

■OLTP

OLTP(OnLine Transaction Processing):

OLTP是能够提供实时在线处理事务,同时保证实时强一致性的关系型数据库,也称交易型数据库。

商业产品:Oracle、DB2

开源产品:MySQL、PostgreSQL

■OLAP

OLAP(Online Analytical Processing):

OLAP是指支持对大规模数据进行较为复杂的联机分析处理的关系型数据库。

商业产品:Teradata

开源产品:Greenplum

■HTAP

HTAP (Hybrid Transactional/Analytical Processing):

HTAP是指能够同时支持在线事务处理和复杂数据分析的关系型数据库。广义的HTAP指的是同时支持OLTP和OLAP查询的数据库,而狭义的HTAP指的是同时支持行存列存OLTP和OLAP查询的数据库。

开源产品:TiDB

非关系型

■NoSQL

键值数据库(Key-Value database):Redis

文档数据库(Document database):MongoDB

列簇式数据库(Wide column database):Hbase

图数据库(Graph database):Neo4j

时序数据库(Time-series database):InfluxDB

空间数据库(Spatial database):PostGIS

2.分析型数据库的定义及发展历史

分析型数据库即OLAP数据库,是指一类支持对大规模数据进行较为复杂的联机分析处理的数据库,主要关注复杂查询和聚集分析,MPP架构是最常见的OLAP引擎架构。随着存储的数据量越来越大,用户可以通过分析大规模历史数据,进行决策分析。为了提高分析的效率和决策的效果,需要把数据从事务处理环境中提取出来,建立数据仓库,并对其进行相应的数据存储和数据分析。

MPP数据库典型架构

■列存储(Column-oriented)优势:只需要读取相关数据。劣势:对某一条记录的写操作需要多次访问;

■通过节点间并行、多核并行、SIMD的全并行架构来提升分析速度;

■向量化引擎,通过向量化执行实现SIMD,从而加速分析处理速度;

■通过列存编码压缩来提升分析速度;

■LLVM编译优化技术,通过静态编译AOT和动态编译JIT来提升查询速度;

■多维索引技术可以加速聚集等操作;

■依据历史分析记录,创建视图,通过视图来加速查询速度;

■通过Share Scan等共享计算技术提升查询速度。

3.国内分析型数据库发展脉络

除南大通用GBase 8a,国内市场上分析型数据库主要以PostgreSQL为核心进行研发,如华为GaussDB、腾讯TDSQL-A,以及基于Greenplum为核心研发的阿里云AnalyticDB、酷克HashData等。国内MPP数据库自2010年前后开始逐渐发展起来,目前已成为替换国外数据仓库的首选技术平台。

4.分析型数据仓库演进路线及技术特点

2000年后,分析型数据库逐步开始在证券、银行、电信引入,发展到现在经历了共享存储一体机架构、基于x86 MPP架构、存储一体的Hadoop架构的变革,目前正在向云原生数据仓库方向演进。在这一发展历程中,驱动分析型数据库的代际演进主要在数据、场景以及计算环境等层面不断发生着变化,也由此造成了几代分析型数据库在技术架构、功能和性能层面的根本差异。

5.国内分析型数据库在金融行业的市场占有率

根据各厂商官方网站、国内政策性银行、国有大行和股份制银行共21家银行的核心数据仓库案例来看,华为数据库GaussDB占比较高,星环、HashData和南大通用的数据库产品紧随其后。

二、分析型数据库技术维度分析

1.主要分析型数据库产品范围定义

本文围绕国内政策性银行、国有大行和股份制银行共21家银行的案例情况进行分析,分析对象为MPP分析型数据库,不包括以Hadoop技术栈的产品。其他国内分析型数据库产品不在此列表,并不代表其产品能力达不到商用的标准。

2.国内分析型数据库产品主要技术维度比对

国内分析型数据库市场参与者众多,为了更准确地了解国内主要厂商的技术优势,我们从多年数据仓库实施经验中选择了四个重要的维度,用于梳理分析型数据库厂商的关键技术,包括:整体架构、核心技术能力、重点场景支持、技术生态对接。

产品架构

架构方式-联邦多活架构被广泛采用

分析型数据库MPP无共享架构根据有无MASTER节点可以细分为:扁平化架构类型(无中心节点)、中心节点类型、联邦节点机制3种类型。每一种架构都有相应的优缺点,详见如下:

数据分布方式-多种分布策略更加灵活

MPP架构数据库,通过数据分布策略来避免并行计算期间的资源竞争,通过Sharding机制,使SQL本地化执行,避免出现跨节点的查询和事务,从而提高事务并行执行的效率以及并发性能。

多样的数据库分布策略可以为客户针对不同场景带来多样的解决方案,目前,从分布策略来看国内分析型数据库产品差距不大,其主要分布方式如下图所示:

数据分布方式-打造多种分区及多级分区能力

数据分区是数据库解决性能和存储问题的重要技术之一,MPP架构数据库的数据分区是在一个节点内部按照用户指定的策略对数据做进一步的水平分表,通过分区裁剪技术来达到性能提升,目前国内分析型数据库主要分区技术发展略有不同。

产品部署方式-多种部署形态满足客户需要

通过对多种数据库进行调研,我们发现不同的厂商对数据库部署形态、机器架构、部署类型都有不同的支持,作为数据库提供商希望尽可能的满足客户,把选择权交给客户,毕竟不是所有客户都需要一致的需求。多样的部署方式各有优劣,具体如下图所示:

下方表格内容是各数据库具体支持的部署形态、部署架构以及部署类型,大家可根据实际情况进行选择。

核心能力

安全性-多方位安全防护仍是挑战

谈到数据库核心能力,数据库安全必然是重中之重。随着国家政策持续出台,这对于国产数据库的发展来说是巨大利好也是新的挑战。

国产数据库如何在安全方面做到可用、可靠可谓是任重道远,而云数据库的出现也对数据安全发起了新的挑战。

扩展性-单集群扩展性有待进一步提高

国产分析型数据库因其架构设计不同,可扩展性及性能也不尽相同。随着技术的发展可扩展性有了很大提升,目前国内MPP数据库厂商也在不断的刷新单集群规模的新纪录。

兼容性-面向垂直生态发展将会成为主线

随着国产化数据库技术的发展,数据库插件、接口方式层出不穷,这也对数据库厂商提出了更高更严格的要求。数据库兼容性从最基础的SQL标准、操作系统、访问接口模式上升到异构数据库、中间件、云生态、新硬件整个生态垂直兼容的全面要求。

当前国产分析型数据库兼容情况如下:从调研情况来看DWS在兼容性方面做的比较全面,从硬件、到软件适配的范围较广。

加载能力-外表驱动+多协议是当前批量加载的主要解决方案

DT时代数据成几何式增长,加载卸载能力也成为客户关注的重点。当前国产化分析型数据库除GBase 8a外主要是以开源PostgreSQL为基础,然后各自优化增强扩展。但各厂商加载都是通过读外表方直接写入存储节点解决大数据量入库问题,此外对周边生态存储格式的支持也是客户迫切需要的功能点。(如:对象存储、HDFS中多文件格式)

资源管控能力-管控策略和手段偏弱

当前国产化数据库逐步向HTAP架构、多模应用场景下发展,达到一库多场景、一库多应用目的。资源管控的目的是基于业务场景和可用资源,进行合理的资源与并发度管控,以保障数据库可以在高负载场景下正常运行,不会因为资源争抢和耗尽出现系统卡死,进而提升系统整体吞吐量。

当前,国内数据库厂商提供的资源管控主要是通过租户模式基于计算节点CGroup技术进行计算资源、存储资源、IO资源限制和管控,对于异常处理和资源管控措施距离国外产品还有一定差距。

场景支持

当前国内分析型数据库仍以支持仓库和集市分析场景为主

近年来,国产化数据库内有政策鼓励、外有技术竞争,整体发展迅速,从产品定位而言国内分析型数据库也逐渐从单一的OLAP向HTAP、多模趋势发展。

产品生态

国内数据库产品的定位和发展历程各不相同,这也影响着他们各自的生态建设情况,华为GaussDB(DWS)和GBase 8a作为传统数据库,对于国内OLAP场景的BI工具、ETL工具、其他中间件来说有着相对完善的产品生态建设。

阿里云AnalyticDB在电商平台发展起来,具备完善和开放的生态,对接业界以及阿里云生态的数据管理工具、BI报表可视化工具、ETL工具均比较丰富,HashData作为云原生数据库的后起之秀,在生态建设上还有更多提升空间。

文章链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。