目录
一、数据存储
二、数据计算
三、作业调度
四、架构安全
五、运维管理
六、数据权限
七、数据查询
八、应用层框架
底层为统一分布式存储HDFS,HDFS默认采用三份副本策略保证数据的安全性以及可靠性。随着时间的推移,很少被使用到的归档历史数据会越来越多,占用大量的HDFS存储空间,HDFS通过Erasure Code技术将历史冷数据在保证数据安全可靠的基础上降低其存储开销。在HDFS之上提供分布式NoSQL(Not Only SQL)实时数据库 (例:Hyperbase、Hbase)为高并发检索分析以及事务支持提供平台级支撑。实时数据库通过多种索引支持海量数据多维度的秒级检索查询,包括全局索引,全文索引,组合索引等,另外实时数据库与图形数据库视图工具(例:Titan)相结合支持图数据库。在平台存储层,支持各类结构化、半结构化、非结构化海量数据的低成本存储,为超长时间的海量历史数据存储和使用提供基础支撑。并通过实时数据库对于海量数据高并发低延时的检索能力。
数据存储的扩展主要可通过增加节点和增加磁盘容量两种方式来提升存储空间,再通过冷热分离及数据压缩技术(例:Snappy)来增加数据存储能力。
Memory+SSD的混合存储架构:
跨内存/闪存等介质的分布式混合列式存储,可用于缓存数据供Spark高速访问。小内存+SSD+磁盘的方案可以提供跟大内存+磁盘的传统方案性能接近的交互式SQL分析能力。由于内存的价格是SSD的10倍,因此可以采用SSD来替代内存作为缓存,一方面可以增大分布式内存数据库Holodesk存储容量,另一方面可以降低成本,同时性能没有明显损失。
数据计算主要通过YARN提供统一的资源管理调度,可以动态创建和销毁集群,灵活部署业务。采用分布式SQL引擎(例:Inceptor、SparkSQL)内存计算分析能力为各个应用提供高效的分析挖掘能力。在分布式SQL引擎中,通过独立的分布式内存列式存储(例:Holodesk),解决开源Spark的稳定性问题以及进一步提供交互式分析能力,同时为了降低平台建设成本与提高平台内存分析数据量,分布式内存存储可建在内存或者固态硬盘SSD上。利用Spark高速内存迭代计算的优势,通过内置的基于Spark计算框架的基础并行统计算法库以及机器学习算法库,为大数据平台提供高效的数据挖掘能力。同时,保留传统的MapReduce计算框架,完整大数据平台对于各个计算框架的支持。此外,实时流数据通过Spark Streaming/storm/flink支持实时数据的低延时高吞吐的处理。通过消息队列Kafka消费实时数据流,做到数据不丢不重,基于Spark Streaming提供类似于批处理系统的计算能力、健壮性、扩展性的同时,将数据时延降低至秒级,适用于各种实时数据的复杂处理业务场景。
机器学习引擎:
构建针对海量数据平台提供的分布式机器学习引擎,主要由R语言、Spark分布式内存计算框架、SparkMlib以及MapReduce分布式计算框架构成。支持R语言引擎,用户可以通过R访问HDFS或者Inceptor分布式内存中的数据。用户既可以通过R命令行,也可以使用图形化的RStudio执行R语言程序来对数据进行分析挖掘。通过内置大量常用的并行化机器学习算法和统计算法,兼容数千个开源的R包,配合内置的高度优化的专有算法,可高速分析关联关系网络等图数据。
1、并行化统计算法库
集成多种并行化统计算法,支持从HDFS或者Incteptor上获取数据,统计算法运行在Spark上,利用Spark的迭代计算和计算性能上的优势,将统计算法的运行任务分发给计算集群,实现各个计算节点负载均衡,提高统计任务的计算效率,统计算法库包括均值、方差、中位数、直方图、箱线图等。
2、机器学习并行算法库
为了从庞大的数据库中获取有用的高价值密度的数据,计算引擎需集成多种机器学习并行算法,支持读取HDFS和inceptor数据,包括分类算法、回归算法、聚类算法、关联分析等多种算法。
集成算法预包括:
算法 |
描述 |
LogisticRegression 逻辑回归 |
当前业界比较常用的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等,常用于做分类。 |
NaïveBayes 朴素贝叶斯 |
ML中的一个分类算法,常用于做文本分类。该分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。该模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单实用。 |
SVM 支持向量机 |
支持向量机(SupportVectorMachine)是一种监督式学习的方法,可广泛的应用于统计分类以及回归分析,具有较高的鲁棒性。 |
K-Means 聚类算法 |
K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。 |
LinearRegression 线性回归 |
线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。 |
CollaborativeFiltering 协同过滤 |
基于用户的协同过滤算法:基于一个这样的假设“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻居的喜好做出未知项的评分预测。 |
Apriori 频繁项集 |
频繁项挖掘,频繁项集挖掘是关联规则挖掘中的首要的子任务。它主要用于挖掘集合中经常一起共现的元素,如经常被一起购买的商品等。 |
AssociateRule 关联挖掘 |
关联规则分析,根据挖掘出的频繁项集,进一步挖掘如商品间或消费间的关联系数 |
决策树(DecisionTree) |
决策树分类方法,采用的是基于最小距离的基尼指数估计函数,用来决定由该子数据集生成的决策树的拓展形。其中如果目标变量是标称的,称为分类树;如果目标变量是连续的,称为回归树。分类树是使用树结构算法将数据分成离散类的方法。 |
人工神经网络算法(ANN) |
人工神经网络(ArtificialNeuralNetworks,ANN)是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。它的优点是:分类的准确度高,并行分布处理能力强,分布存储及学习能力强,对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等。 |
随机森林(RandomForest)
|
随机森林(RandomForest,RF)是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 |
梯度提升树(Gradient-BoostedTrees) |
Gradient-BoostedTrees(GBTs)就是一组决策树簇,它通过迭代训练决策树来最小化损失函数。 |
保序回归 |
IsotonicRegression算法用于回归模型的建立 |
Apriori算法 |
Apriori算法是一种挖掘关联规则的算法,用于挖掘其内含的、未知的却又实际存在的数据关系。Apriori算法分为两个阶段,一是寻找频繁项集,二是由频繁项集找关联规则。 |
协同滤波(CF) |
推荐系统中应用最广泛的算法就是协同滤波算法,该算法用于预测用户-商品关联矩阵中所缺失的部分。 |
FP-growth |
FP-growth是一种不产生候选模式而采用频繁模式增长的方法挖掘频繁模式的算法 |
PageRank |
PageRank是Google专有的算法,用于衡量特定网页相对于搜索引擎索引中的其他网页而言的重要程度。 |
TF-IDF |
TFI-DF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。 |
Word2Vec |
Word2Vec是一个将单词转换成向量形式的工具。 |
奇异值分解(SVD) |
奇异值分解(singularvaluedecomposition,SVD)能够将一个矩阵分解成3个矩阵U,Σ,andV,其中U是一个的标准正交矩阵,Σ是一个对角元素是非负且递减的对角矩阵,V是一个标准正交矩阵
|
主成分分析(PCA) |
主成分分析(PCA)是一种统计方法,目的是将多个变量通过线性变换以选出较少个数重要变量,达到降维的目的。
|
Histogram |
造指定列的直方图算法 |
BoxPlot |
绘制样本所有列的箱线图图形算法 |
Binning |
对输入的RDD构建等区间直方图算法 |
Pie |
通过输入RDD,构建饼图算法 |
流处理统计算法 |
计算流数据的平均值与方差算法 |
流处理统计中位数算法 |
计算流数据的中位数 |
流处理统计终值算法 |
计算流数据的最大值最小值算法 |
流处理统计分位数算法 |
计算流数据的分位数算法 |
流处理数据统计算法 |
计算指定范围内的数据个数算法 |
流处理数据数据清洗 |
统计增量数据中的异常值个数算法 |
流处理数据直方图 |
计算增量数据的等区间直方图算法 |
流处理数据箱型图算法 |
计算增量数据的箱线图算法 |
流处理数据直方图算法 |
计算增量数据的直方图算法 |
流处理数据密度算法 |
基于增量学习的二维核密度估计算法 |
流处理数据kmean算法 |
基于增量学习的kmeans算法 |
流处理数据线性回归算法 |
基于增量学习的线性回归算法 |
提供一个开放的R语言操作环境,基于平台开发各种分析应用,比如银行商圈聚类和精准营销,商圈,指商店以其所在地点为中心,沿着一定的方向和距离扩展,吸引顾客的辐射范围,在具体计算过程中,可以定义一个表达区域内部的商户的稀疏程度的值,该值达到一定程度,则称该区域为一个商圈,银联大数据具有很高的价值,无论是真实消费记录,还是准确地理位置的行为信息,这些数据可以为建模提高数据来源。
大数据调度系统普遍分为两种:定时分片类作业调度系统和DAG工作流类作业调度系统。
1、定时分片类作业调度
定时分片类系统的方向,重点定位于任务的分片执行场景,这类系统的代表包括:TBSchedule,SchedulerX,Elastic-job, Saturn。此类调度多用于需要定时批量清理一批机器的磁盘空间,需要定时生成一批商品清单,需要定时批量对一批数据建索引,需要定时对一批用户发送推送通知等等。
2、DAG工作流类作业调度
这一类系统的方向,重点定位于任务的调度依赖关系的正确处理,分片执行的逻辑通常不是系统关注的核心,或者不是系统核心流程的关键组成部分,如果某些任务真的关注分片逻辑,往往交给后端集群(比如MR任务自带分片能力)或者具体类型的任务执行后端去实现。这类系统的代表,包括:oozie,azkaban,chronos,zeus,Lhotse,还有各种大大小小的公有云服务提供的那些可视化工作流定义系统。
至于如何选择需要根据实际业务需求,来选择最为匹配的调度系统及工具。
大数据平台实现安全管理功能。遵循有限授权原则、全面确认原则和安全跟踪原则,采用严密的安全体系,平台系统满足总体安全机制,满足加密、认证、数据完整性、一致性、不可否认性等安全性要求。平台具备通用性和开放性。
平台提供安全运行的实施方案、重大的安全事件的应急方案。并在发生异常运行情况时应自动告警,提供邮件、短信、控制台等通知方式。
1、身份鉴别
构建“口令+证书”的双因素认证、限制认证错误次数、加密整个通信会话、加密存储重要数据。
对前台注册用户、后台内容管理用户及系统管理用户应采用身份鉴别技术,对需要访问系统内信息的用户进行识别,避免非授权的访问和信息泄露。
系统操作提供身份鉴别技术对用户进行识别。对安全要求高关键操作,应采用两种或以上组合的身份鉴别技术对用户进行识别。
提供基于CA证书的认证方式,能够与企业CA证书集成。
提供角色认证,提供应用认证、管理员认证、操作员认证、服务器认证。
实现密钥管理,如能和第三方的密钥管理工具集成,列出支持的密钥管理工具。
大数据平台支持企业现有的CA系统,能够进行身份认证、数据加密等安全保护。
2、访问控制
大数据平台通过安全通信协议和角色权限管理功能,在软件层面提供通信安全和数据安全的双重保障,有效的对来自外部和非信任角色的数据访问进行控制和安全管理,实现数据平台4A级统一安全管理解决方案。4A包括认证Authentication、账号Account、授权Authorization、审计Audit,即将身份认证、授权、审计和账号。通过LDAP管理用户账号,Kerberos作为用户身份认证IdentityStore,同时大数据平台配合LDAP实现角色访问权限控制(RoleBasedAccessControl),最后所有的安全访问审计都会记录在数据平台的日志中。大数据平台中各个组件都支持安全管理,包括Zookeeper,HDFS,YARN,实时数据库,Inceptor、Stream等等。
通过LDAP管理用户以及用户组账户信息,通过Kerberos进行用户身份认证,同时大数据平台配合LDAP实现基于角色访问权限控制(RoleBasedAccessControl),通过给用户或用户组赋予角色的方式进行用户权限管理。最后所有的安全访问审计都会记录在数据平台的日志中,并在大数据平台中各个组件都支持安全管理。结合权限的管控,通过统一的分布式存储HDFS的文件以及目录权限管控,实现数据隔离;通过统一的计算资源调度管理框架YARN的作业与队列的权限管控,实现计算资源的隔离;通过对于数据仓库分布式SQL(例:Inceptor)的数据库、表、视图的权限管控,实现统计分析以及数据挖掘的管控;通过对于实时在线数据库(例:Hyperbase)的表、行、列、单元格的权限管控,实现数据检索以及即席查询的管控;通过对于实时数据流的创建、删除、读取以及写入的管控,实现实时流处理业务的数据隔离与管控。同时,将所有组件数据权限访问进行记录,并保证所有记录不能被修改或删除,通过完整的安全日志审计功能保证可追溯。对所有平台操作进行精细化管理,支持所有操作记录流水的记录、存储、查询与统计。
大数据平台通过网络安全通信协议(Kerberos)和角色权限管理功能(LDAP),在软件层面提供通信安全和数据安全的双重保障,有效的对来自外部和非信任角色的数据访问进行控制和安全管理,实现数据平台4A级统一安全管理解决方案。4A包括认证Authentication、账号Account、授权Authorization、审计Audit,即将身份认证、授权、审计和账号。通过LDAP管理用户账号,Kerberos作为用户身份认证IdentityStore,同时大数据平台配合LDAP实现角色访问权限控制(RoleBasedAccessControl),最后所有的安全访问审计都会记录在数据平台的日志中。大数据平台中各个组件都支持安全管理,包括Zookeeper,HDFS,YARN,Hyperbase以及Inceptor。
客户端将首次获得并解密的票据和请求的服务信息发送给密钥分配中心,密钥分配中心中的授予票据服务将客户端和服务端之间生成一个会话密钥(SessionKey)用于服务器与客户端的身份验证。然后密钥分配中心将这个会话密钥和用户名,用户地址(IP),服务名,有效期,时间戳一起包装成一个票据。
密钥分配中心将刚才的票据转发给客户端。票据和之前会话密匙都是加密后反馈给客户端的。
客户端将收到的密钥转发给服务端,同时客户端将收到的会话密钥解压出来,然后将自己的用户名,用户地址(IP)打包成验证包用会话密钥加密后也发给服务端。
服务端收到票据后利用它与密钥分配中心之间的密钥将票据中的信息解密出来,从而获得会话密钥和用户名,用户地址(IP),服务名,有效期。然后再用会话密钥将验证包解密从而获得用户名,用户地址(IP)将其与之前票据中解密出来的用户名,用户地址(IP)做比较从而验证客户端的身份,如果服务端有返回结果,将其返回给客户端。
HDFS:HDFS的权限管理由传统的user/group机制实现,用户可以通过添加不同的用户和组来隔离数据之间的权限。与此同时,HDFS也拥有了ACL(AccessControlList)功能,对于某一个指定的数据集合,管理用户可以在其权限控制列表中添加相应的user,使其拥有访问该数据集的权限。从用户与数据两方面对权限进行了控制,并支持对于单独指定文件进行加密。
YARN:在YARN资源管理器中,管理员可以通过配置Scheduler的访问控制列表(ACL)来限制可以访问该Scheduler的用户。访问控制列表也可以限制访问每一个资源池的用户权限,使得一些高优先级的资源池只可以被高优先级的任务使用。除了Submit级别的权限,Yarn的管理员还可以设置Admin级别的权限,通过该设置,管理员可以对资源池/队列的权限进行配置,从而指定用户使用某些特定的资源。
实时数据库:实现表级别、列级别、单元级别的访问控制。用户可以方便根据自己的应用需求,对于数据表中的每一个单元、行、列进行权限的控制。对于某一些敏感的数据单元,只有赋予权限才能访问,否则,就算拥有全表的访问权限都没有办法去访问这些敏感数据。与此同时,Hyperbase也实现了服务端透明加密,用户上传的数据会被Hyperbase自动加密后存储在HFile中。就算服务器被攻破,非法进入的用户也不能获取任何Hyperbase上的数据。
Inceptor:用户可以在Inceptor中创建各种角色,分配不同的访问层级,这些Role之间也可以互相拥有层级关系。通过配置这个角色在表、视图(view)中的权限,可以限制用户对数据的访问。
Streaming/storm/flink/Kafka:在流式计算中,权限控制分为强与弱两种。其中强性检查主要是通过Kerberos对想要访问数据的用户进行验证,弱性检查则是直接检查申请用户的IP地址,如果IP地址在访问列表中,则允许用户访问相应的数据。在Kafka中,对于消息队列(topic)有相应的权限控制,主要通过ACL实现,分别允许客户向消息队列发送数据或者从消息队列接收数据。其中在Kafka中能够赋予的权限有:
l读权限:从topic中抽取数据
l写权限:将数据写入Topic
l删除权限:将Topic删除
l新建权限:创建Topic
l配置权限:配置Topic的权限
l描述(describe):读取Topic的源数据
3、数据安全
平台提供完整的审计功能,可以对可以对用户的访问、操作进行审计,并可以设计审计规则,对于非法操作记录日志,出发报警,提供完善的日志记录和分析功能,平台应保障操作安全性,并有重放检测、抗抵赖机制设计。
平台根据数据的不同进行分级分类,采取不同的数据存储、传输方式、访问等审核机制。
平台保数据正确、完整,对关键数据进行加密存储,数据加密的对称密钥长度应不低于128位,非对称密钥长度应不低于2048位。
数据传输的安全性保护功能,保证数据传输过程中的机密性和完整性。
数据存储的安全性保护功能,保证数据存储的机密性和完整性。
实现客户敏感信息的机密性保护功能。
应对进入系统的数据进行合法性验证,防止非法数据进入平台。
实现数据读写权限控制,支持全文件系统以及目录级别快照。
对于存放密码、密钥等鉴别信息的文件、数据库表、内存空间或客户端,在初始化处理、用户签退后、非正常退出、空间被释放或重新分配、临时类数据使用后等情况下,均应清除相关数据。
平台实现分布式文件系统加密,支持HDFS或对应文件的加密以及在目录级别上的加密。
平台支持通过硬件加密设备进行加密和密钥管理。使用密码算法包括:对称算法:SM1、SM4、AES;非对称算法:SM2、RSA2048、RSA4096;杂凑算法:SM3、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512等。
4、安全通讯
支持SSL、https、sftp等协议,实现安全通讯。并可采用客户端和服务器端之间可以采用POST隐藏参数形式提交,避免用户擅自修改URL进入非授权页面。支持通过配置用户权限或设置防火墙、黑名单等功能,使其它网络与平台隔离,以防范各种不良攻击。
可以通过构建可视化监控平台来保证平台运行的稳定及数据质量。
1、性能监控
通过专门的监控服务对集群的状态进行监控,包括服务器CPU、内存、网络和磁盘、网卡的利用率和健康状态,以及分布式应用系统的状态,并在故障发生或者某项指标超过预设阀值时时提供告警功能。管理员可通过浏览器访问集群的监控和管理界面进行日常的监控和维护,系统提供图标信息展示。管理员可以便捷的了解到集群的计算资源是否处于空闲状态、哪些服务器的负载过高,甚至判断集群的组网及机架安排是否合理等。管理员也可通过对各个节点的各个角色的日志信息进行检索,获得更加精确的信息。
集成Ganglia集群监控系统,从上千台服务器上收集系统信息,能够保障当集群规模扩展至上百台上千台服务器时,监控程序都能够高效的获取每台服务器的状态信息。Ganglia由Gmetad与Gmond组成,其中集群中每一台机器上都有一个Gmond服务进程,Gmetad收集所有节点metrics信息并在Web前端界面上展现出来。集群中的每台服务器上都运行监控守护进程,守护进程能够将这些数据的精简传递,这使得Ganglia的运行对集群的资源消耗极少。所有的指标数据都存储在一个RRD(Round Robin Database)数据库中,为了防止Gmetad频繁写磁盘造成I/O瓶颈,通过rrdcache缓存指标数据,定量写入RRD。存储资源监控,包括获取存储量、剩余存储量以及存储系统整体情况信息。通过Ganglia集群监控系统向企业运维监控平台发送监控消息,提供对接接口,实现大数据平台与集团运维监控平台的互通,实现统一监控。
运算资源监控,包括监控工作负载、CPU、内存资源、性能、组件性能(Kafka处理性能)等情况
提供全局日志和任务级日志
2、一键式收集
在管理切换到查询运维日志界面,自动全部展现系统日志信息、配置信息,以便用户快速定位问题所在。
3、系统资源监控可视化
平台的监控模块可以对分布式系统的资源实时监控,包括每个节点的存储空闲,总体容量,剩余容量等;支持通过管理界面监控数据库的使用情况,提供Hyperbase的使用情况曲线图,用户可根据以往历史变化情况预测剩余存储空间还能使用多长时间。
同时界面查询数据库空间使用状态,HDFS文件系统的使用状态,提供变化曲线图,可以根据历史数据推测剩余存储空间能使用多久。
4、服务进程监控
系统管理界面可以实时查看任务服务的进程状态,后台查看服务进程,发生服务失效或宕机的情况予以告警,并提示不能正常运行的服务或进程。
5、消息队列监控
运算资源监控,包括监控Kafka消息队列情况,发生队列堵塞予以告警,并提示不能正常处理的消息队列。
6、故障报警
在故障发生时提供告警功能。监控模块对非合理性操作产生的破坏性故障进行报警,提供利用备份文件进行恢复的功能。
7、系统巡检及信息收集
通过Ganglia 中的指标检测以执行报警功能。运维人员配置监测指标策略以及指标告警阈值。当检测到指标异常达到设定的阈值时,平台会以邮件方式将告警信息通知到管理员,系统会根据设定的警报级别来发送警报通知。
同时管理员可以通过 WEB界面查看当前的网络状态、故障告警历史和日志文件等。系统支持与第三方网管系统对接,完成集群状态及告警信息的上报。
告警指标和监测指标默认相同,运维人员可以根据实际生产情况指定告警指标。
大数据平台的异地容灾功能设计主要为了保障集群数据的安全可靠以及持续的服务,需要在分别在本地和异地两个物理机房分别部署数据集群服务器,灾备集群主要负责关键数据的备份存放以及关键业务的持续服务;两个机房之间通过网络连通,并通过机房间的网络传输实现数据备份。
整个系统的软硬件状态都可以方便的从图形界面中进行监控。用户可以实时的浏览集群中CPU、内存、网络与磁盘等的状态,实现系统巡检以及信息收集。
平台从各环节层次以及组件抽取巡检信息,按照管理平台的要求对其进行重新过滤和格式化整理,并最终进行日志信息入库。整个过程需实现处理的流程化及自动调度机制,以保证管理平台能够及时的获取日志数据。
系统管理模块对Hadoop平台各层次所产生的日志记录进行获取并整理。其中包括访问层日志记录、应用层日志记录、数据存储层日志记录、数据获取层日志记录以及元数据管理的日志记录。提供一键式的图形化巡检工具,直观反映关键部件状态,并提供一键式的信息收集工具,收集系统日志、配置信息以便于快速定位。
告警模块在节点出现问题时,及时告警,并提供主动诊断功能,用户启动主动诊断功能时,自动进行系统诊断;且告警模块支持对历史数据进行审计,并通过ESB、SNMP、专有接口等推送审计信息。
8、数据质量管理
可从完整性、有效性、及时性、一致性、准确性、唯一性六个维度进行单列、跨列、跨行和跨表的分析。
数据质量以数据集为监控对象,实现对离线数据的监控。当离线数据发生变化时,数据质量会对数据进行校验,并阻塞生产链路,以避免问题数据污染扩散。同时,数据质量提供了历史校验结果的管理,以便对数据质量分析和定级。
1)建设模块包括
总览 |
说明 |
总览 |
显示了数据表的报警和阻塞情况 主要包括当天告警分类统计、当天数据表告警统计、最近7天规则告警分类趋势的统计和最近7天规则数量的趋势。 |
规则管理 |
规则配置是数据质量的核心功能模块,是配置规则的主要入口。它主要管理规则配置(模板规则和自助规则)的相关功能。 |
运维管理 |
运维管理用于查看规则运行状态,处理运维问题,其中我的订阅中显示了所有订阅的任务运行情况。 |
2)数据质量建设体系
①消费场景知晓
功能:分析解决消费场景知晓的问题;
方法:通过数据资产等级和基于元数据的应用链路,来分析解决消费场景知晓的问题;
确定数据资产等级:根据应用的影响程度,确定数据资产的等级;
过程:
根据数据链路血缘,将资产等级上推至各数据生产加工的各个环节,确定链路上所有涉及数据的资产等级,以及在各个加工环节上根据资产等级的不同所采取不同的处理方式;
②数据生产加工各个环节卡点校验
主要对两部分的数据卡点校验:在线系统和离线系统数据生产加工各个环节的卡点校验;
在线系统:OLTP(On - Line Transaction Processing,联机事务处理)系统;
在线系统生产加工各环节卡点校验:
根据资产等级的不同,当对应的业务系统变更时,决定是否将变更通知下游;
对于高资产等级的业务,当出现新业务数据时,是否纳入统计中,需要卡掉审批;
离线系统:OLAP(On - Line Analytical Processing,联机分析处理)系统;
离线系统生产加工各环节卡点校验:
主要包括:代码开发、测试、发布、历史或错误数据回刷等环节的卡点校验;
代码开发阶段、发布前的测试阶段
针对数据资产等级的不同,对校验的要求有所不同;
③风险点监控
风险点监控:主要针对在数据运行过程中可能出现的数据质量和时效等问题进行监控;
主要对两个方面进行风险点监控:
·在线数据的风险点监控:
主要针对在线系统日常运行产出的数据进行业务规则的校验;
主要使用 “实时业务检测平台 BCP(Biz Check Platform)”;
·离线数据的风险点监控:
主要是针对离线系统日常运行产出的数据,进行数据质量监控和时效性监控;
DQC:监控数据质量,通过配置数据质量校验规则,自动在数据处理任务过程中进行数据质量方面的监控。
摩萨德:离线任务的监控报警系统;是数据运维不可或缺的保障工具,监控数据时效性;
④质量衡量
对质量的衡量:
事前的衡量:如 DQC 覆盖率;
事后的衡量:
跟进质量问题,确定质量问题原因、责任人、解决情况等,并用于数据质量的复盘,避免类似事件再次发生;
根据质量问题对不同等级资产的影响程度,确定其是属于低影响的事件还是具有较大影响的故障;
质量分:综合事前和事后的衡量数据进行打分;
⑤质量配套工具
针对数据质量的各个方面,都有相关的工具进行保证,以提高效能;
平台提供数据表行、列级数据权限控制,在Hyperbase中能对其中表的行、列甚至单元格级别进行权限控制,包括读权限,写权限,执行权限、创建表权限以及管理员权限。同时可以在Inceptor中创建Hyperbase的映射表,Inceptor可通过SQL配置安全策略对数据库、视图以及表级别进行权限控制,包括新建,查询,插入,删除,更新(删除和更新操作只能对于Hyperbase的映射表)等各种权限设置。Inceptor通过结合LDAP对用户进行安全认证,用户通过JDBC接口连接到Inceptor时,通过安全验证确定用户身份后才能访问集群。连接到集群后,只能操作自己权限数据库内的权限表。
巨量数据查询可通过构建各种类型索引实现高效查询的能力:
1、智能索引
Hyperbase支持智能索引技术,基于代价的执行优化,准确率高,性能更好,能满足各类复杂场景需求,包括基于条件的多表关联即席查询与统计,可以满足高速的OLAP数据分析应用需求。
查询计划智能使用最快速的索引
无需用户在SQL中指定索引
对指定查询,根据该表有的多个索引创建不同的执行计划
根据成本计算性能最佳的执行计划和索引
支持精确查询和模糊查询
查询延时百毫秒级
相对于普通索引技术,CBI准确率高,性能更好,满足复杂场景需求
2、全局索引
Global Index的索引存储与原表独立,索引本身是以一张表的形式存在。SimpleIndex/SegmentCombineIndex/StructInndex同样适用于Global Index。类似Local Index,Global Index同样可以通过HBase Shell或是JAVA API的方式进行创建、删除。
目前HBase Shell可以支持Global Index的新建索引,删除索引及重建索引操作,具体详见下面:
对于新添加的索引表,并不会自动对原来已存在的数据建立索引,因此对于插入数据后添加的新索引,或者由于误删操作导致索引文件不一致的情况可以通过重建索引的方式重新生成索引文件。
3、全文索引
Hyperbase中提供了全文索引的功能,通过ElasticSearch能够对Hyperbase中的数据进行全文检索。Hyperbase支持全文索引。可以对任意字段或部分字段进行组合检索,可极大提高搜索能力。
全文索引通过建立词库的方式记录词的出现位置以及次数,以加速数据查询,Hyperbase支持高效的全文索引;
Springboot+Springcloud微服务结构,提供模块化、弹性伸缩、灵活部署、故障转移、负载均衡、限流、降级等多种功能支撑;同时对接不同语言php、python、C、R等多种开发语言。