Solution
引言
随着电信、互联网、金融等领域数据量的爆炸式增长以及数据类型的日益复杂,根据相关研究统计,2011年全世界数据较上年增长了40%,未来十年全世界的数据量将是现在的44倍。在大数据时代,用户的IT管理面临着前所未有的挑战。如何建立智能化的数据平台,在提高数据响应效率的同时把应用做到极致,愈发成为人们关注的焦点。因此,部署一种高性价比的大数据存储和分析挖掘平台对企业来说至关重要,这也成为众多行业面临的信息化难题。
1.1 业务场景
随着数据的爆炸性增长,存储的规模越来越大。传统存储和分析挖掘通常是在一个设备、一个机架或一个数据中心内完成资源组织管理,而当存储容量上升到PB、EB级或ZB级后存储和分析挖掘则很难在一个数据中心内完成。大规模的存储和分析挖掘需要跨数据中心及城市进行设备、数据、服务的组织和管理,并支持跨域的访问、备份、容灾等功能。大数据的新特点对存储和分析挖掘提出了新的挑战,为了适应大数据的发展,存储和分析挖掘需要支持纵向无限扩容(存储扩容)和横向无限扩容(能力扩容),并以对象作为基本的存储形式,以提高系统的扩展性,降低系统维护复杂度。
1.2 需求分析
对于大数据存储产品来说,其应用场景和通用数据库产品的应用场景有较大的区别。大数据存储产品相关的实际业务场景表现的特征为:
■ 数据存储总量在TB级别,记录行数达到百亿行以上;
■ 数据存储相对较为静态,以批量加载为主要数据产生方式;
■ 系统中有大量的基于Key值或基于时间的的等值精确检索和范围检索;
■ 系统中存在大量的复杂的多表关联类统计分析查询;
■ 随时间推移,数据总量会不断膨胀,数据增长幅度也有明显提升;
■ 大数据中蕴含极大价值,如何发现大数据中蕴含的价值尤为重要。
通过上述对大数据存储特点的分析,可以看出大数据解决方案需要具备大数据的装载、存储、查询、分析统计、扩展以及价值挖掘等一系列能力。
1.3 解决之道
综上所述,对于大数据用户面临的以下几点主要困扰,列出可能的技术解决途径。
困扰
技术解决途径
无法按需扩展
集群、在线平滑扩展
数据管理复杂度高
自动数据生命周期管理
存储空间不足
多级数据压缩技术
数据统计效率低
并行、物化、聚合、缓存
精确查询速度慢
低密度索引技术
很难提取有价值的信息
数据挖掘技术
难以快速发现非结构化数据中的信息和知识
文本挖掘技术
因此,为了解决大数据的存储管理难题,在集合了分布式集群、在线平滑扩展、自动数据生命周期管理、多级数据压缩、数据并行物化聚合、低密度索引、数据挖掘、文本挖掘等多项技术基础之上,结合多年在航天、电信、政府、军队等领域的大数据实际应用经验,从细节上不断完善各种技术的实现方案,神通BDC(Big Data Center)大数据中心解决方案应运而生。
2、方案介绍
2.1 方案简介
神通BDC 大数据中心解决方案采用MPP (Massively Parallel Processing,大规模并行处理系统)架构进行设计和实现,在数据存储层实现了行列混合压缩存储引擎。神通BDC方案充分整合了神通xCluster集群件、神通(关系型)数据库、神通KSTORE海量存储系统、神通BI商业智能套件、神通非结构化分析套件,贯通数据管理的各个环节,为企业提供了一套完整的大数据管理和分析方案。神通BDC大数据中心解决方案通过数据的水平扩展满足大数据计算需求,同时在每一个服务器内使用多级行列混合压缩技术,存储成本降低;通过索引技术、MPP多级并行技术,满足系统的检索和统计类查询业务;通过并行多维分析和数据挖掘技术为用户发掘大数据价值;通过文本挖掘技术实现海量非结构化数据价值的挖掘。
秉承实用和务实的精神,神通BDC大数据中心解决方案自诞生伊始就结合了行业真实需求,经历了电信运营商、互联网安全等行业典型用户多年的实践和考验,日趋完善和成熟。
2.2 方案架构
图1 神通BDC方案架构
2.3 方案特点
在神通BDC方案的设计过程中,充分考虑集中存储的大数据中心的实际场景,拥有如下显著的特点:
■系统扩展能力:能够实现系统运行态的资源在线平滑扩展,系统扩展不再需要暂停业务,实现硬件资源的即插即用;
■数据查询能力 :同时兼具高效的精确查询和统计查询计算能力,是神通BDC最大的技术亮点。可以使用一套存储引擎满足两种类型应用的需求特征。已经在多个实际系统中进行使用,综合评测指标优于国外同类的数据库产品;
■ 数据管理能力:能够按照数据的近线和远线特征进行自动生命周期管理,降低系统运维成本;
■数据价值发掘能力 :基于坚实的数据挖掘理论和丰富的工程化经验,形成大数据挖掘能力,深度探索和发现隐藏在海量数据之中的模式、规律和关系,从低价值密度的数据萃取高价值密度的知识,以指导企业、机构或机构的经营决策,体现大数据的核心价值;
■ 存储成本降低:采用行列混合压缩存储引擎,通过压缩机制降低系统存储采购成本;
■高可用增强 :采用基于多副本策略的全双工高可用设计方案,可以满足主备机同时提供计算能力,并且实现系统的瞬时故障转移能力;在原有的主备机设计方案基础上对系统的高可用性进行了大幅度的提升;
■方案整合能力 :当前已经打通从结构化和非结构化数据的存储、分析到挖掘的全系列产品线,是国内 唯一一家具备全系列解决方案产品提供和设计能力的数据库厂商。
2.4 方案优势
相比国产同类大数据方案及产品,神通BDC方案具有以下优势:
■ 神通数据库在国家核高基评测中综合排名第一;
■ 国内唯一一家具备数据存储、分析、挖掘、文本挖掘全系列解决方案的“大数据厂商”;
■ 神通BDC整体解决方案成功在某电信运营商获得国产数据库最大规模商用;
■ 神通KSTORE海量数据高压缩数据库产品在产品理念方面属国内首创;
■ 拥有30件发明专利,在国产数据库领域处于领先位置;
■ 神通K-Miner在数据挖掘的准确率和性能方面日益成熟,并在神经网络、支持向量机等挖掘功能上有所超越。
3、关键技术
3.1 并行计算技术
3.1.1 MPP多机并行装载技术
数据装载是海量数据管理系统的“入口”,如何保证海量数据高效低耗装载对海量数据处理系统的意义十分重大。当前海量数据装载主要问题包括这几个方面:一是数据装载的实时性,必须实现数据装载后的即时查询;二是要求数据总量和索引对数据装载效率影响小;三是要求能够实现对数据装载开销的可控性;最后是能够实现数据装载性能的线性扩展。针对上述几项数据装载需求,本方案采用多节点并行装载技术,满足数据装载性能线性扩展的需求,在数据装载方面具有如下技术特点:
■直接导入:通过直连导入技术实现在驱动端完成数据的直接入库处理,避免产生中心节点瓶颈;
■线性提升:通过直连模式,实现数据导入性能和节点数成正比。
图2 MPP并行数据装载技术原理
通过此方案,保证数据装载过程中索引实时更新,同时进行数据总量无关的索引模型设计,以降低数据总量和索引对数据装载的影响。最后通过并发调节技术控制装载并发数量以满足对系统资源开销的控制。
3.1.2 MPP多机并行查询技术
海量数据统计分析处理业务中,对系统查询性能要求较高,原有的单机垂直扩展模式已经无法满足系统查询性能的需求了,因此如何利用廉价服务器,实现多机并行查询显得尤为重要。MPP多机并行有以下显著的特点:
■ 基于全节点MPP架构技术,实现统计查询多节点并发执行,实现查询性能够随服务器数据量水平扩展;
■ 基于MOVE CODE TO DATA的优化策略,实现低网络负载优化技术,可降低网络负载。
图3 低网络负载优化技术
在神通BDC方案中,MPP并行的分布式计算规则较为复杂,下面仅以分组统计为样例,描述一下神通BDC的分布式计算过程。对于分组统计类查询,神通BDC采用二次分组排序的方式实现对分布式计算:
首先,神通BDC会将用户的查询请求分发到每个数据处理节点上,在每个处理节点完成预期查询。这样就在每个服务器上面都得到一份统计结果。
其次,神通BDC会通知每个数据节点的Agent代理服务,将各节点的统计结果,按照分组列进行hash分发,分发给该域内的所有节点,通过这次分发,具有相同分组键的数据被分布到同一节点内。
最后,神通BDC在每个节点内完成最终的分组统计计算,通过此次计算最终完成数据的全部统计分组运算。
图4 神通BDC分组统计分布式计算过程
3.1.3 SMP服务器内并行查询技术
在神通BDC的每台计算服务器内,通过神通KSTORE的多线程并行查询技术,实现统计类查询的节点内并行。同时神通KSTORE实现了基于代价的优化器解决方案,可以根据数据量、数据直方图统计信息、系统当前缓存状态和内存使用情况,选择合理的算法实现服务器内SMP并行查询优化。由于整个优化过程较为复杂,下面仅以分组统计为例描述神通BDC的SMP并行计算工作原理:
对于分组统计类操作,神通BDC支持HASHAGG或SORTAGG两种分组统计算法,两种算法均支持纯内存处理模式和内外存混合处理模式,以满足不同数据计算规模的需求。两种算法在计算代价上有很大区别:
■ HASHAGG:内存开销大,内存不足,需要使用内外存结合模式时,性能下降严重,中小分组结果时首选算法;
■SORTAGG:内存开销稳定,大数据和大分组的统计表现稳定,小分组结果性能差于HASHAGG,适合大分组计算模式。
图5 SMP分组统计原理图
3.2 数据存储优化技术
3.2.1 多级行列混合压缩技术
在数据中已有存储模型包括行式存储结构和列式存储结构,但在大数据应用场景下,都无法同时满足大数据中的检索类和统计类两种查询的性能需求,这也就要求我们提出一个更为合理的存储结构,这种结构最好同时具备行式存储高效随机访问性能和列式存储高IO带宽的优点。但是,事情永远没有十全十美的,完全同时具备两种优点的存储结构是不存在的。那么我们就只能考虑中庸的解决办法了,通过这种设计思路,我们最终设计并实现了行列混合压缩的存储结构。
通过使用行列混合压缩存储技术,神通BDC方案具备了列式存储的高压缩比和行式存储的高IOPS利用率的两大优点。通过结合当前主流硬件设备,达到了在廉价PC服务器、CPU资源、IO资源和内存资源利用率均衡的目标,在最终方案层面实现了软件设计和硬件资源完美统一。
图6 存储压缩技术对比
神通BDC多级行列混合压缩技术有以下三个显著的特点:
■行列混合压缩:数据按列压缩,按DP存储,实现高压缩率、低IOPS;
■高压缩率:高效压缩数据
■更新读不等待:支持压缩数据更新,且满足MVCC读不等待特性。
3.2.2 智能索引优化技术
神通BDC方案在数据存储层通过将表按照一定行数据分成多个数据包,为每个压缩包建立其中各列的摘要信息(如最大值、最小值、总记录数、合计值、平均值),所有数据包上的属于特定列的全部摘要信息,构成该列的自动统计索引,并利用摘要信息,来判定对应的数据包中是否包含满足特定的查询条件的行,如确定不存在这样的行,则整个数据包无须解压,达到在数据包层面进行数据过滤的效果,降低IO访问带宽,提升系统查询性能。神通BDC方案的智能索引具有如下特点:
■ 索引在每个数据包生成之后即自动生成,无后续维护成本;
■ 摘要信息空间占用小,通常不足被索引数据的1/10;
■ 采用合适的摘要信息,可以实现接近于传统索引的过滤效果。
图7 智能索引查询优化示例
智能索引的设计目的主要是为了优化天然近似有序列的查询性能,在原有数据库系统中,对于涉及到类似于时间列时,需要建立B-Tree索引,而与此同时,在存储和内存开销方面都极大的得到了提高。在涉及的查询跨度较大时,关系数据库采用水平分区方案的优化方案,而水平分区方案具有只能基于其中某一个具有这种特征的列进行分区,因此当系统中具有多个这种类型的列时,将无法处理。
智能索引通过简单的优化手段,在仅引入了近似可以忽略的存储和内存消耗的情况下,近乎完美的解决了近似有序列的检索问题。
3.2.3 HASH索引技术
智能索引解决了具有近似有序关系的列的检索问题,那么在大数据的实际应用场景中还存在大量的基于Key值的查询,此类查询具有Key范围大,索引选择率高的特点。原有的关系数据库中的B-Tree索引恰恰就是应用于这种场景的,但在大数据情况下,其存在内存开销大,随机访问的磁盘IOPS压力大的缺点。
针对这种模式,我们设计了特有的Hash索引,这种索引吸收了原有BTree索引和BitMap索引的优点,并结合使用Hash技术,以一种稀疏模式建立了Sparse Bitmap索引。稀疏HASH索引具有如下技术特点:
高效精确查询:基于特有的Hash索引,基于高选择率字段查询,可以达到秒级平均响应时间。
极低维护成本:
■ 神通KSTORE独特的Hash索引机制,使得索引维护成本和数据规模无关;
■ 每增加一个Hash索引对数据装载性能影响小于5%。
极低存储成本:
■ 每增加一个Hash索引,单行记录增加存储开销仅为2.5字节;
■ 存储成本是传统的BTree索引的近十分之一。
3.3 数据管理提升技术
3.3.1 按需平滑扩展技术
大数据存储中经常遇到的一个问题就是,随着时间的推移,数据存储中的数据增量会不断提高,最终将会导致原有计算和存储资源无法满足业务需求。
当前主流的平台产品中也都提供了计算和存储资源扩展的功能,但和实际用户的需求还是有一定差距的。其实实际用户的需求描述起来很简单:首先是在计算和存储资源扩展时系统不停机;其次是在扩展过程中不要对在线系统产生过高系统压力;再次是在扩展后保持数据一致性;最后是扩展实施时间要求在可控的范围内。
神通BDC的按需平滑扩展技术有以下两个显著的特点:
■ 基于两级分发映射策略,可以快速的实现节点的动态扩展和负载均衡;
■原有数据无需移动,无需停止系统运行,即可实现计算节点扩展,平滑提升在线系统性能。
图 8 基于二级映射的平滑扩展规则
图9按需扩展流程
3.3.2 全双工云化存储技术
大数据存储中,如何保证系统的可靠性是一个十分重要的技术指标,传统的可靠性方案为基于双机或多机的HA模式,但这种模式会造成对备机资源的极大浪费。因此,神通BDC采用业界最新的基于副本的全双工云化存储技术来满足系统高可用的需求。
神通BDC全双工云化存储技术,具有如下显著特点:
■ 灵活的表级副本:神通BDC的数据副本为在线逻辑副本,副本设置策略灵活,可以实现表级副本(可以为每张表按需设置副本策略)。通过这种策略,系统管理根据数据的重要程度,灵活的规划其副本存储策略;
■ 秒级故障切换:基于逻辑副本策略也避免了传统HA模式下的切换冷却时间,神通BDC在感知节点失效故障后,可以迅速通过调整执行计划的模式,规避系统故障,实现真正意义的秒级故障转移;
■ 全双工模式:基于数据副本 机制,避免原有HA模式下,备机一直处于空闲状态的资源消耗,通过环式互备策略,使得整个系统处于全双工运行模式,极大的提高了系统资源利用率。
图 10 全双工云化存储技术
3.3.3 数据全生命周期管理技术
通过对实际需求调研,在电信、金融和国家安全等领域,都面临着如何进行海量数据管理的问题。随着时间推移,系统中不同时间点的重要性完全不同,同时不同时间点数据的访问方式也完全不同。如何对这些海量数据的变更进行分类管理,怎么分类才最为合理?神通BDC方案按照如下两个层面对数据进行分类,并根据数据分类特点提出独特的解决方案:
按访问频率可分为热点数据和非热点数据:热点数据主要由系统中的近期在线数据和字典数据组成;非热点数据由中长期历史数据组成。神通BDC采用存储转移策略实现对热点数据和非热点数据生命周期管理。
图11存储区域转移方案
按更新频率可分为动态数据和静态数据:动态数据主要由系统中的在线交易数据组成;静态数据主要由各系统向数据中心上报的汇总数据组成。神通BDC方案采用计算模型转移策略,实现数据从动态数据管理向静态数据管理域的转移。
图12计算模型转移方案图
3.4 数据价值挖掘技术
3.4.1 多维“实时领导视窗”
神通BDC多维“实时领导视窗”,借助神通大数据存储解决方案的高性能优势,可实现海量数据的多维建模和快速、灵活多维度分析,帮助决策者对业务进行实时管控。示例如下图:
图13 数据多维分析示例
3.4.2 数据挖掘让“大数据发声”
神通BDC采用MPP并行计算架构,实现了特征筛选、分类、预测、聚类、关联、异常检测、统计7大类45种主流的数据挖掘功能及实用的统计分析方法,可满足用户广泛的数据挖掘需求。
图14 BDC大数据挖掘架构
大类
算法
应用场景示例
特征筛选
信息熵特征筛选、统计检验特征筛选、支撑向量机特征筛选、特征集筛选
分析影响因素和目标间的相关关系,进行特征筛选
分类
决策树、分类回归树、贝叶斯网络、朴素贝叶斯、神经网络分类、多输入层网络分类、支撑向量机分类、逻辑回归、规则提取、最近邻
客户流失预测、偷漏税判别、欺诈判别
预测
多元线性回归、神经网络回归、多输入层网络回归、支撑向量机回归、广义线性回归、偏最小二乘回归、ARMA、GARCH
收入预测、销量预测、现金流风险预警
聚类
K均值、层次聚类、单连通聚类、密度聚类、概率分布聚类、两步聚类、模糊聚类
客户分群
关联
关联分析、序列模式分析、字段关联分析、特征相似关联分析、行为相似关联分析
交叉销售、精准营销
异常检测
单指标异常检测、基于预测的异常检测、基于聚类的异常检测、基于统计分布的异常检测
财务报表舞弊检测
统计
方差分析、假设检验、相关分析、函数拟合、主成分分析、因子分析、描述统计
3.4.3 文本类非结构化数据价值凝练
神通文本挖掘支持自然语言处理、政治校对、情感分析、信息抽取、自动摘要、文本比对、文本分类、文本聚类等文本分析技术,可实现基于文本数据的舆情分析、文本挖掘、全文检索、知识管理,并进行知识可视化,使庞大的非结构化数据发挥重要价值。
图15 神通文本挖掘软件架构