一种大数据分析方法和系统的制作方法

文档序号:10725006阅读:718来源:国知局
一种大数据分析方法和系统的制作方法
【专利摘要】本发明公开了一种大数据分析方法和系统,其中,所述方法包括:对数据实体进行分析,得到数据实体分析结果;对所述数据实体的应用场景进行分析,得到数据应用场景分析结果;根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析。采用本发明,通过对大数据进行分析,有效提升读取性能。
【专利说明】
一种大数据分析方法和系统
技术领域
[0001 ]本发明涉及数据处理领域,更为具体而言,涉及一种大数据分析方法和系统。
【背景技术】
[0002]随着互联网技术的迅猛发展,大数据技术已经成为各个行业提高生产力、扩展业务能力的一大重要利器,而在大数据时代,列式存储数据库有了更加广泛的应用,与关系型数据库为代表的行式数据库不同,列式数据库是以列相关存储架构进行存储的数据库,主要适合于海量数据处理和即席查询。它的特点是把行式数据全部拆开,按照列的方式重新组合存储,一列的所有行的数据存放在一起;按照列内数据的特征值(通常像时间、部门代码、销售地区等维度字段的特征值并不多,几个到几百个很常见)进行高效编码,并且在实际存储中以编码形式存储,这样就带来了大比例的压缩。带来的好处是:原来只分析销售额的查询就只访问销售额字段,即使是所有历史时期的数据,也不存在读多余的无关数据的问题。
[0003]伴随列式存储的大规模应用,基于此的大数据分析处理变得尤为重要。当前面临的问题是在大数据存储领域,如何围绕查询模式进行大数据分析,以及如何有效提升读取性能。

【发明内容】

[0004]鉴于现有技术的上述缺陷,本发明实施方式提供了一种大数据分析方法和系统,能够有效解决当前大数据读取性能差的问题。
[0005]具体地,本发明实施方式提供了一种大数据分析方法,其包括:
[0006]对数据实体进行分析,得到数据实体分析结果;
[0007]对所述数据实体的应用场景进行分析,得到数据应用场景分析结果;
[0008]根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析。
[0009]相应地,本发明实施方式还提供了一种大数据分析系统,其包括:
[0010]数据实体分析模块,用于对数据实体进行分析,得到数据实体分析结果;
[0011]应用场景分析模块,用于对所述数据实体的应用场景进行分析,得到数据应用场景分析结果;
[0012]数据结构分析模块,用于根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析采用本发明实施方式具有下述有益效果:
[0013]通过对大数据进行分析,有效提升读取性能。
【附图说明】
[0014]图1是根据本发明实施方式的一种大数据分析系统的流程示意图;
[0015]图2是根据本发明实施方式的一种大数据分析系统的架构图。
【具体实施方式】
[0016]为了便于理解本发明技术方案的各个方面、特征以及优点,下面结合附图对本发明进行具体描述。应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。
[0017]首先对根据本发明可能涉及到的名称或术语进行解释。
[0018]Cassandra: —种分布式非关系型列式存储数据库
[0019]列式存储:相对于传统关系型数据库的行式存储的概念,列式存储是以列为顺序来存放数据。
[0020]范式:符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式。
[0021]第三范式:要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
[0022]数据建模:对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。将经过系统分析后抽象出来的概念模型转化为物理模型后,在Vis1或erwin等工具建立数据库实体以及各实体之间关系的过程.(实体一般是表)O
[0023]图1是根据本发明实施方式的一种大数据分析系统的流程示意图。参照图1,具体实施例如下:
[0024]实施例1:
[0025]所述方法包括:
[0026]处理SI,对数据实体进行分析,得到数据实体分析结果;
[0027]处理S2,对所述数据实体的应用场景进行分析,得到数据应用场景分析结果;
[0028]处理S3,根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析。
[0029]在大数据时代,列式存储数据库有了更加广泛的应用,与关系型数据库为代表的行式数据库不同,列式数据库是以列相关存储架构进行存储的数据库,主要适合于海量数据处理和即席查询。它的特点是把行式数据全部拆开,按照列的方式重新组合存储,一列的所有行的数据存放在一起;按照列内数据的特征值(通常像时间、部门代码、销售地区等维度字段的特征值并不多,几个到几百个很常见)进行高效编码,并且在实际存储中以编码形式存储,这样就带来了大比例的压缩。带来的好处是:原来只分析销售额的查询就只访问销售额字段,即使是所有历史时期的数据,也不存在读多余的无关数据的问题。伴随列式存储的大规模应用,基于此的数据建模工作变得尤为重要。本方案讨论的问题是如何在大数据存储领域,如何围绕查询模式进行建模,以及使用反范式化和冗余来有效提升读取性能。
[0030]传统逻辑数据库设计有多种实现方式,包括:自顶至底,自底至顶以及混合方式。传统数据库设计是一个自底至顶的过程,从分析需求中的单个数据元素开始,把相关多个数据元素组合在一起转化为数据库中的表。这种方式较难应对复杂的大型数据库设计,这就需要结合自顶至底的设计方式。
[0031]概念数据建模步骤:
[0032]1、辨识实体与属性;2、识别泛化层次结构;3、定义关系
[0033]辨别实体与属性可参考如下准则:实体应包含描述性信息、多值属性应作为实体来处理和属性应附着在其直接描述的实体上。
[0034]这些准则能引导开发人员得到符合范式的关系数据库设计。
[0035]传统数据库的数据结构分析,主要以数据实体的识别为主,即分析数据实体与实体的关系,例如在电子商务系统中,用户与商品是两个实体,用户喜欢的商品和商品被哪些用户喜欢,则是两个实体之间的关系。传统数据库只需根据这个建立表结构即可。
[0036]而在NoSQL(Not Only SQL,泛指非关系型的数据库)数据库Cassandra中,其数据是根据分区键自动分布到集群中的多台服务器的,所以导致如果使用非分区键查询,则需要跨服务器获取数据,影响性能。所以数据结构的建立必须充分考虑数据的应用场景。
[0037]针对Cassandra的特性,我们设计了一套Excel表格,借以实现基于Cassandra应用的数据结构分析。其中包括数据实体分析,数据应用场景分析,数据结构分析。使用该分析技术,首先和关系型数据库应用分析一样,要分析数据实体;然后针对Cassandra数据库应用,要再分析该数据实体的应用场景(即所有的更新、查询);最后综合数据实体信息和应用场景信息,设计数据结构。
[0038]通过本发明所述实施方式对大数据进行分析,可有效提升读取性能。
[0039]其中,对于处理SI,数据实体的分析与关系型数据库应用中的分析一致,我们使用,页面总体统计实体信息,对于电子商务中的用户(user)与商品(item),是两个主要的实体。同时这两个实体之间存在一定的关系。一个user可以喜欢多个item,同时一个item可以被多个user所喜爱,在关系型数据库中这个关系是通过many-to-many (多对多关联)实现的。
[0040]实施例2:
[0041 ]在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所述数据实体的应用场景进行分析可进一步包括:通过场景分析工具,统计所述应用场景中的数据实体。对于Cassandra数据库,数据的应用场景极大的影响着数据的存储结构,未充分考虑应用场景的数据结构设计,可能导致低效的数据库操作。通过使用场景分析工具,统计不同场景中的数据实体。对于这个电子商务系统,一个user喜欢多个item,同时一个item可以被多个user所喜爱,在应用中需要查询一个user喜欢的所有item,也需要查询一个item被哪些user喜欢。即为该场景的数据应用场景。
[0042]实施例3:
[0043]在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对所述数据实体的应用场景进行分析包括:对所述应用场景的应用频率进行统计和分析。针对场景,还需要分析其应用频率,不同的应用频率亦导致不同的数据结构。
[0044]实施例4:
[0045]在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对数据结构进行分析包括:获得各字段信息的应用信息。
[0046]例如,user喜欢的item,user的ID作为查询条件,那么需要一个user与item的关联信息,而item被多少user喜欢,则刚好是一个相反的关联关系。
[0047]对这个场景,我们可以选择范式化实体,并将其反范式化。例如user喜欢的item,可以将被喜欢的item的ID信息以列表型字段保存到user表中,同样将喜欢同一个item的所有用户ID保存到i tem表中。这样既可在保证Cassandra的查询性能的情况下满足需求。
[0048]但是这个设计结合应用场景分析中的交易次数可能会发现并不能满足需求。因为user喜欢的item总会频繁改变,item被喜欢的人群也同样会频繁改变,这样会导致频繁更新user表和item表,而更新操作在Cassandra会导致很多垃圾数据,增加系统的压紧操作的负担。
[0049]为了解决这个问题,将在user表和item表中的列表存储的item的ID信息和user的ID信息提取出来,分别建两个表,即user喜欢的item表和item被哪些user喜欢的表。Cassandra数据库与传统的关系型数据库存在的差别,通过如上的建模工具,既可以辅助分析实体的应用场景,藉此获得更合理的数据结构。
[0050]实施例5:
[0051]在本发明的另一种实施方式中,所述方法除了上述处理方式外,其中,所述对数据结构进行分析包括:选择范式化数据实体,并将其反范式化处理。
[0052]在关系型数据库的世界里,范式化的优点是显而易见的:较少的数据冗余,较少的数据修改异常,概念更清晰,更容易维护等等;同样,它的缺点也十分明显:多表join查询会很慢等等。这两方面也会体现在Cassandra中,但是缺点会更明显,因为Cassandra数据是分布式存储,当然它也并不支持join操作。所以,对于一个完全范式化的schema,Cassandra读操作性能可能比RDBMS(关系数据库管理系统Relat1nal Database Management System)更糟糕,所以我们通常通过反范式化来提升查询性能。
[0053]图2是根据本发明实施方式的一种大数据分析系统的架构图。参照图2,所述系统包括:
[0054]数据实体分析模块100,用于对数据实体进行分析,得到数据实体分析结果;
[0055]应用场景分析模块200,用于对所述数据实体的应用场景进行分析,得到数据应用场景分析结果;
[0056]数据结构分析模块300,用于根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析。
[0057]在NoSQL数据库Cassandra中,其数据是根据分区键自动分布到集群中的多台服务器的,所以导致如果使用非分区键查询,则需要跨服务器获取数据,影响性能。所以数据结构的建立必须充分考虑数据的应用场景。
[0058]针对Cassandra的特性,我们设计了一套Excel表格,借以实现基于Cassandra应用的数据结构分析。其中包括数据实体分析,数据应用场景分析,数据结构分析。使用该分析技术,首先和关系型数据库应用分析一样,要分析数据实体;然后针对Cassandra数据库应用,要再分析该数据实体的应用场景(即所有的更新、查询);最后综合数据实体信息和应用场景信息,设计数据结构。
[0059]通过本发明所述实施方式对大数据进行分析,可有效提升读取性能。
[0060]其中,在所述数据实体分析模块100中,数据实体的分析与关系型数据库应用中的分析一致,我们使用,页面总体统计实体信息,对于电子商务中的用户(user)与商品(item),是两个主要的实体。同时这两个实体之间存在一定的关系。一个user可以喜欢多个item,同时一个item可以被多个user所喜爱,在关系型数据库中这个关系是通过many-to-many 实现的。
[0061]在本发明的另一实施方式中,所述对所述数据实体的应用场景进行分析包括:通过场景分析工具,统计所述应用场景中的数据实体。对于Cassandra数据库,数据的应用场景极大的影响着数据的存储结构,未充分考虑应用场景的数据结构设计,可能导致低效的数据库操作。通过使用场景分析工具,统计不同场景中的数据实体。对于这个电子商务系统,一个user喜欢多个item,同时一个item可以被多个user所喜爱,在应用中需要查询一个 user喜欢的所有item,也需要查询一个item被哪些user喜欢。即为该场景的数据应用场景。
[0062]在本发明的又一实施方式中,所述对所述数据实体的应用场景进行分析包括:对所述应用场景的应用频率进行统计和分析。针对场景,还需要分析其应用频率,不同的应用频率亦导致不同的数据结构。
[0063]在本发明的再一实施方式中,所述对数据结构进行分析包括:获得各字段信息的应用信息。例如,user喜欢的item,user的ID作为查询条件,那么需要一个user与item的关联信息,而item被多少user喜欢,则刚好是一个相反的关联关系。
[0064]对这个场景,我们可以选择范式化实体,并将其反范式化。例如user喜欢的item, 可以将被喜欢的item的ID信息以列表型字段保存到user表中,同样将喜欢同一个item的所有用户ID保存到i tem表中。这样既可在保证Cassandra的查询性能的情况下满足需求。
[0065]但是这个设计结合应用场景分析中的交易次数可能会发现并不能满足需求。因为 user喜欢的item总会频繁改变,item被喜欢的人群也同样会频繁改变,这样会导致频繁更新user表和item表,而更新操作在Cassandra会导致很多垃圾数据,增加系统的压紧操作的负担。[0〇66] 为了解决这个问题,将在user表和item表中的列表存储的item的ID信息和user的 ID信息提取出来,分别建两个表,S卩user喜欢的item表和item被哪些user喜欢的表。 Cassandra数据库与传统的关系型数据库存在的差别,通过如上的建模工具,既可以辅助分析实体的应用场景,藉此获得更合理的数据结构。
[0067]在本发明的再一实施方式中,所述对数据结构进行分析包括:选择范式化数据实体,并将其反范式化处理。在关系型数据库的世界里,范式化的优点是显而易见的:较少的数据冗余,较少的数据修改异常,概念更清晰,更容易维护等等;同样,它的缺点也十分明显:多表join查询会很慢等等。这两方面也会体现在Cassandra中,但是缺点会更明显,因为 Cassandra数据是分布式存储,当然它也并不支持join操作。所以,对于一个完全范式化的 schema,Cassandra读操作性能可能比RDBMS更糟糕,所以我们通常通过反范式化来提升查询性能。
[0068]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。 [〇〇69]本领技术人员应当理解,以上所公开的仅为本发明的实施方式而已,当然不能以此来限定本发明之权利范围,依本发明实施方式所作的等同变化,仍属本发明权利要求所涵盖的范围。
【主权项】
1.一种大数据分析方法,其特征在于,所述方法包括: 对数据实体进行分析,得到数据实体分析结果; 对所述数据实体的应用场景进行分析,得到数据应用场景分析结果; 根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析。2.如权利要求1所述的方法,其特征在于,所述对所述数据实体的应用场景进行分析包括: 通过场景分析工具,统计所述应用场景中的数据实体。3.如权利要求1或2所述的方法,其特征在于,所述对所述数据实体的应用场景进行分析包括: 对所述应用场景的应用频率进行统计和分析。4.如权利要求1所述的方法,其特征在于,所述对数据结构进行分析包括: 获得各字段?目息的应用?目息。5.如权利要求1或4所述的方法,其特征在于,所述对数据结构进行分析包括: 选择范式化数据实体,并将其反范式化处理。6.一种大数据分析系统,其特征在于,所述系统包括: 数据实体分析模块,用于对数据实体进行分析,得到数据实体分析结果; 应用场景分析模块,用于对所述数据实体的应用场景进行分析,得到数据应用场景分析结果; 数据结构分析模块,用于根据所述数据实体分析结果和所述数据应用场景分析结果,对数据结构进行分析。7.如权利要求6所述的系统,其特征在于,所述对所述数据实体的应用场景进行分析包括: 通过场景分析工具,统计所述应用场景中的数据实体。8.如权利要求6或7所述的系统,其特征在于,所述对所述数据实体的应用场景进行分析包括: 对所述应用场景的应用频率进行统计和分析。9.如权利要求6所述的系统,其特征在于,所述对数据结构进行分析包括: 获得各字段?目息的应用?目息。10.如权利要求6或9所述的系统,其特征在于,所述对数据结构进行分析包括: 选择范式化数据实体,并将其反范式化处理。
【文档编号】G06F17/30GK106095879SQ201610395914
【公开日】2016年11月9日
【申请日】2016年6月7日 公开号201610395914.1, CN 106095879 A, CN 106095879A, CN 201610395914, CN-A-106095879, CN106095879 A, CN106095879A, CN201610395914, CN201610395914.1
【发明人】谷林, 倪一鸣
【申请人】中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1