本发明涉及税务数据技术领域,具体提供一种税务大数据存储及分析平台。
背景技术:
税务机构合并后,亟需通过大数据手段全面聚合相关涉税数据,发挥大数据的先进技术能力,驱动税务业务整合、开展工作。
税务系统积累了多年的各类历史数据,但传统的存储设备已无法长期维持税务大数据发展的存储需求,另外由于技术架构以及服务器计算资源的制约,当数据量达到tb级别时,系统性能骤降,响应速度慢,可靠性和安全性较差,数据加工分析效率较低。
传统的解决方案有基于oracle等关系型数据库构建的分布式集群,以及基于hdfs作为底层存储的hbase和hive分布式集群。使用传统数据库构建的分布式集群存在跨区读取数据缓慢、大数据量的分析计算效率低下等问题。hbase作为列式存储数据库,虽然它在数据存储和快速查询上效率较快,但其使用行键进行查询条件有限,且不支持sql操作。hive作为一种数据仓库,主要是用于离线数据分析,通常是进行耗时长、数据量大的计算分析,不适用于实时快速的数据读写。相较之下kudu作为底层的数据存储,在支持高并发低延迟查询的同时,还保持良好的数据分析功能,该特性使得它能同时兼顾oltp和olap服务。impala作为一种交互式sql查询引擎,它的语法与hive高度兼容,且提供标准的odbc和jdbc接口,同时在执行效率方面,impala要优于hive。
技术实现要素:
本发明的技术任务是针对上述存在的问题,提供一种能够为税务大数据的存储和分析计算提供简单、快速、准确的数据处理分析能力的税务大数据存储及分析平台。
为实现上述目的,本发明提供了如下技术方案:
一种税务大数据存储及分析平台,包括ambari、kudu集群和impala集群,ambari提供可视化操作界面,直接关联kudu集群和impala集群;kudu集群包括至少两个管理节点和若干数据存储节点,两个管理节点分别作为主备节点;impala集群包括impaladaemon、impalacatalog、impalastatestore,impaladaemon与kudu集群的数据存储节点部署在相同的节点上。
impala是cloudera公司主导开发的新型查询系统,它提供sql语义,能查询存储在hadoop的hdfs和hbase中的pb级大数据。
kudu是由cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。它是一个融合hdfs和hbase的功能的新组件,具备介于两者之间的新存储组件。
impaladaemon为impala守护进程,是impala的核心组件,在每个节点上这个进程的名称为impalad。
impalastatestore负责收集分布在集群中各个impalad进程的资源信息、各节点健康状况并同步节点信息。
impalacatalog为impala目录服务组件,将impalasql语句产生的元数据更改通知到群集中的所有datanodes上。服务对应的进程名称为catalogd,一个impala集群只需要一个catalogd进程,当impala集群中执行的sql语句会引起元数据变化时,catalog服务会将这些变化推送到其他的impalad进程节点上。
ambari提供了一个可视化的集群安装、配置、修改、拓展、监控等功能的管理平台,在运维和使用过程中,可以实时监控集群的健康状态以及存储、内存、io等使用情况,为大数据平台提供了稳定可靠的保障。在集群部署前,根据数据存储和分析的需求规划集群节点数。ambari部署在一个节点,通过8080端口可直接访问web管理界面。
kudu集群包括至少两个管理节点,当为两个管理节点时,分别作为主备节点,在同一时间只有一个管理节点作为主节点,若当前使用的管理节点不可用,则会通过选举重新确定管理节点,保证kudu集群的可用性。数据存储节点可以随着数据存储的需求,不断增加,保证kudu集群的可拓展性。
impaladaemon与kudu集群的数据存储节点部署在相同的节点上,当impala从kudu集群获取数据时,直接在本地的表中获取,避免了远程获取数据的网络、io等开销,保证集群的高效性。
作为优选,kudu集群的所有数据存储在数据存储节点中,数据存储节点中每张表设有对应的表结构、主键及分区,数据按照主键有序存储。
作为优选,数据存储节点中的数据被分成片段表,一个片段表把相邻的数据放在一起,数据存储节点完成片段表的读写操作。一个片段表也会有多个副本放置在不同的服务器上,在同一时刻,仅有一个片段表作为主表存在,每个副表都可以提供读的操作,写操作则需要一致性写入,多片段表的读写操作由数据存储节点完成。
作为优选,管理节点存储所有的元数据,在同一时刻仅有一个管理节点作为主节点。
作为优选,所述impaladaemon为核心进程,接收客户端请求,生成查询计划,协调impalacatalog、impalastatestore执行查询接话,并汇总查询结果返回给客户端。
作为优选,所述impalastatestore负责集群元数据通知和分发,元数据包括impalacatalog和集群成员关系,sql查询依赖于元数据。
作为优选,所述impaladaemon与kudu集群的数据存储节点部署在相同的节点深度集成,通过impaladaemon执行sql语句,完成kudu税务数据库表的创建、数据插入、更新及删除操作。
作为优选,所述impalacatalog负责数据库、表的元数据信息的创建及更新操作,impalacatalog更新通过impalastatestore分发给impaladaemon。
与现有技术相比,本发明的税务大数据存储及分析平台具有以下突出的有益效果:所述税务大数据存储及分析平台针对海量的税务数据,利用kudu impala进行数据存储和分析时合理、可行、高效的;使用ambari可以很容易地实现集群的快速部署、拓展以及运维管理,解决税务数据快速增长的存储问题;利用impala可以快速、准确地对数据进行深度挖掘,可以为数据管理、研究等提供辅助决策,具有良好的推广应用价值。
附图说明
图1是本发明所述税务大数据存储及分析平台的结构框架图。
具体实施方式
下面将结合附图和实施例,对本发明的税务大数据存储及分析平台作进一步详细说明。
实施例
如图1所示,本发明的税务大数据存储及分析平台,包括ambari、kudu集群和impala集群。
ambari提供可视化操作界面,直接关联kudu集群和impala集群。ambari提供了一个可视化的集群安装、配置、修改、拓展、监控等功能的管理平台,在运维和使用过程中,可以实时监控集群的健康状态以及存储、内存、io等使用情况,为大数据平台提供了稳定可靠的保障。在集群部署前,根据数据存储和分析的需求规划集群节点数。ambari部署在一个节点,通过8080端口可直接访问web管理界面。
kudu是由cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力。它是一个融合hdfs和hbase的功能的新组件,具备介于两者之间的新存储组件。
在部署kudu集群时,kudu集群包括两个管理节点,当为两个管理节点时,分别作为主备节点,在同一时间只有一个管理节点作为主节点,若当前使用的管理节点不可用,则会通过选举重新确定管理节点,保证kudu集群的可用性。数据存储节点可以随着数据存储的需求,不断增加,保证kudu集群的可拓展性。在kudu集群配置阶段根据实际环境对kudu集群做配置优化,包括以下措施:block_cache_capacity_mb参数;控制分配给数据存储节点缓存的最大内存量;设置数据存储节点能使用的最大内存量memory_limit_hard_bytes参数,此参数对kudu集群的数据写入能力影响较大,故一般设置为机器内存的80%。
kudu集群的所有数据存储在数据存储节点中,数据存储节点中每张表设有对应的表结构、主键及分区,数据按照主键有序存储。数据存储节点中的数据被分成片段表,一个片段表把相邻的数据放在一起,数据存储节点完成片段表的读写操作。一个片段表也会有多个副本放置在不同的服务器上,在同一时刻,仅有一个片段表作为主表存在,每个副表都可以提供读的操作,写操作则需要一致性写入,多片段表的读写操作由数据存储节点完成。管理节点存储所有的元数据,在同一时刻仅有一个管理节点作为主节点。
impala集群包括impaladaemon、impalacatalog、impalastatestore,impaladaemon与kudu集群的数据存储节点部署在相同的节点上。impaladaemon为impala守护进程,是impala的核心组件,在每个节点上这个进程的名称为impalad。impalastatestore负责收集分布在集群中各个impalad进程的资源信息、各节点健康状况并同步节点信息。impalacatalog为impala目录服务组件,将impalasql语句产生的元数据更改通知到群集中的所有datanodes上。服务对应的进程名称为catalogd,一个impala集群只需要一个catalogd进程,当impala集群中执行的sql语句会引起元数据变化时,catalog服务会将这些变化推送到其他的impalad进程节点上。
impaladaemon与kudu集群的数据存储节点部署在相同的节点上,当impala从kudu集群获取数据时,直接在本地的表中获取,避免了远程获取数据的网络、io等开销,保证集群的高效性。其中impaladaemon为核心进程,接收客户端请求,生成查询计划,协调impalacatalog、impalastatestore执行查询接话,并汇总查询结果返回给客户端。
impalastatestore负责集群元数据通知和分发,元数据包括impalacatalog和集群成员关系,sql查询依赖于元数据。impaladaemon与kudu集群的数据存储节点部署在相同的节点深度集成,通过impaladaemon执行sql语句,完成kudu税务数据库表的创建、数据插入、更新及删除操作。impalacatalog负责数据库、表的元数据信息的创建及更新操作,impalacatalog更新通过impalastatestore分发给impaladaemon。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
1.一种税务大数据存储及分析平台,其特征在于:包括ambari、kudu集群和impala集群,ambari提供可视化操作界面,直接关联kudu集群和impala集群;kudu集群包括至少两个管理节点和若干数据存储节点,两个管理节点分别作为主备节点;impala集群包括impaladaemon、impalacatalog、impalastatestore,impaladaemon与kudu集群的数据存储节点部署在相同的节点上。
2.根据权利要求1所述的税务大数据存储及分析平台,其特征在于:kudu集群的所有数据存储在数据存储节点中,数据存储节点中每张表设有对应的表结构、主键及分区,数据按照主键有序存储。
3.根据权利要求2所述的税务大数据存储及分析平台,其特征在于:数据存储节点中的数据被分成片段表,一个片段表把相邻的数据放在一起,数据存储节点完成片段表的读写操作。
4.根据权利要求3所述的税务大数据存储及分析平台,其特征在于:管理节点存储所有的元数据,在同一时刻仅有一个管理节点作为主节点。
5.根据权利要求4所述的税务大数据存储及分析平台,其特征在于:所述impaladaemon为核心进程,接收客户端请求,生成查询计划,协调impalacatalog、impalastatestore执行查询接话,并汇总查询结果返回给客户端。
6.根据权利要求5所述的税务大数据存储及分析平台,其特征在于:所述impalastatestore负责集群元数据通知和分发,元数据包括impalacatalog和集群成员关系,sql查询依赖于元数据。
7.根据权利要求6所述的税务大数据存储及分析平台,其特征在于:所述impaladaemon与kudu集群的数据存储节点部署在相同的节点深度集成,通过impaladaemon执行sql语句,完成kudu税务数据库表的创建、数据插入、更新及删除操作。
8.根据权利要求7所述的税务大数据存储及分析平台,其特征在于:所述impalacatalog负责数据库、表的元数据信息的创建及更新操作,impalacatalog更新通过impalastatestore分发给impaladaemon。
技术总结