用于快速数据分析的系统和方法技术方案

技术编号:14689120 阅读:99 留言:0更新日期:2017-02-23 11:32
用于快速数据分析的方法,包括接收并解释查询、收集来自第一组数据碎片中的第一数据样本、基于第一数据样本的分析来计算查询的中间结果、基于中间结果识别第二组数据碎片、收集来自第二组数据碎片中的第二数据样本、以及基于第二数据样本的分析来计算查询的最终结果。

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求于2014年3月10日提交的序列号为61/950,827的美国临时申请的权益,其以引用的方式全部并入本文中。
本专利技术通常涉及数据分析领域,且更具体地涉及用于数据分析领域中的快速数据分析的新的和实用的系统和方法。背景如今的商业收集涉及销售、市场和其他关键业务的大量的数据。查询这样的数据往往是困难且资源密集的过程,特别是对于复杂的查询来说。在一定程度上,查询性能可通过预计算数据聚合和数据索引得以改善,但是在跨越大的数据集中的所有维度上完成这样的预计算是不可行的。由于这样的原因,查询性能问题往往使数据分析缓慢。因此,在数据分析领域有创建用于快速数据分析的系统和方法的需要。本专利技术提供了这样的新的和实用的系统和方法。附图简述图1是优选的实施例的系统的图示视图;图2是优选的实施例的系统的事件流的示例性表格视图;图3是优选的实施例的系统的示例实施的图示视图;以及图4是优选的实施例的方法的图表视图。优选的实施例的描述本专利技术的优选实施例的以下描述不旨在将本专利技术限制到这些优选实施例,而是使本领域中的任何技术人员能够执行并使用本专利技术。1.用于快速数据分析的系统如图1所示,用于快速数据分析的系统100包括事件数据库110、字符串查找数据库120、字符串译码器130以及查询引擎140。系统100可附加地或可替代地包括接口模块150、配置数据库160和/或数据管理器170。系统100用于通过利用分布式计算来实现快速数据分析,以激励专门设计用于提高大量数据的查询速度的架构。系统100优选用于事件数据;事件数据库110中的每个条目优选包括时间戳且首先按该时间戳的顺序被存储。附加或可选地,每个条目可能包括序列号,或指示事件如何排序的一些其它字段。作为另一选择,事件顺序可由数据存储的顺序确定。按时间戳的顺序存储数据优选地允许存储大量的实时数据,而不花费宝贵的处理时间来组织和/或重写数据。优选地,系统100还使用字符串译码器130和字符串查找数据库120将事件数据字符串译为整数,这允许事件数据库110中的智能数据压缩。事件数据库110优选地分布在整个分布式计算系统的数据碎片中。当系统100被查询时,查询引擎140优选采用来自整个分布式计算系统的数据碎片的样本,这允许快速并行读取。随后,查询引擎140可部分地基于所选择的样本优选地确定查询答案,实现比所有数据都被查询的快得多的响应。查询引擎140可优选地调整查询引擎的采样方法,以达到准确度与速度的期望的比率,以使查询引擎140适用于各种查询类型。至少部分地利用上述的特征,系统100优选实现大量数据的快速分析,同时最小化或消除广泛的预处理或开销。事件数据库110用作系统100的主要信息存储器。事件数据库110优选存储事件数据,例如包括时间元素或事件顺序的其他指示的数据。事件数据优选具有至少相关联的时间字段和会话字段,但可包含任何合适的字段集。事件数据库110可以任何合适的组织方案附加地或可选地存储任何合适的数据。事件数据库110优选包括多个数据集来以不同的方式存储数据。例如,如图2中所示,一个数据集可包括按用户id(UID)分组的(例如,分片的)并按时间组织的事件的列表;而另一数据集可包括事件的相同列表,但事件是按IP地址分组的并按时间组织的。数据分片优选用于分区和/或分组数据,但数据可附加地或可选地以任何合适的方式分组。如在以上示例中的,不同的数据集可存储相同的数据,但不同的数据集也可存储相同数据的不同子集,或完全不同的数据。例如,一个数据集可包括按UID分组的并按时间组织的事件的列表,其中该事件还包括IP地址和位置字段。第二数据集可包括按IP地址分组的并按时间组织的相同事件的列表,但事件信息不包括位置或UID。事件数据库110优选组织所有的数据集为分列数据集;可替代地,数据集可以任何合适的方式组织。以分列格式存储的数据集优选使用分列压缩,以减小存储的数据的大小。分列压缩优选包括利用存储在列中的数据的序列本质来节省空间的任何技术。事件数据库110优选允许显式数据和隐式数据两者的存储。隐式数据优选包括隐式附加的对象数据源并可在查询中被引用。例如,在毛衣销售数据的事件流中,每个事件能够携带显式数据字段,该显式数据字段识别商家(“e.merchant_id”)、终端(“e.terminal_id”)、美元交易量(“e.dollar_amount”)以及出售的毛衣类型(“e.sweater_id”)。每个事件也可具有对象数据源或与这些显式数据字段相关联的其他类型的隐式数据;例如,可能有与涉及毛衣类型(如大小(“sweater_size”)和颜色(“sweater_color”))的每个“e.sweater_id”特征相关联的对象数据。事件数据库110优选使这些相关联的数据特性自动地对查询可用;例如,毛衣颜色可通过字段“e.sweater_id.sweater_color”来访问。事件数据库110可包括对属性字段的直接访问,这可用于删除对表连接的需要。对属性字段的访问可通过导入声明的表作为连接表来促进。声明连接表优选使连接表与涉及的事件数据表的维度链接。连接表优选被存储为属性名称值对。事件数据库110优选跨整个分布式计算系统中的计算机分布。分布式计算系统的每个节点优选存储由事件数据库110包含的数据的部分。该数据优选存储在持久性存储器(例如硬盘驱动器、闪存)中,但是一些数据或全部数据可附加或可替换地存储在临时存储器(例如RAM)中。事件数据库110中的数据优选地进一步分区成在每个节点上的数据碎片。碎片优选为水平表分区和竖直表分区两者;数据碎片优选由数据表的所有行的子集和所有列的子集的交集形成。每个碎片优选包含至少时间信息,但可附加或可替代地包含其他信息。碎片可按时间分区;例如,每个数据碎片可包含发生超过特定的24小时周期的事件集。碎片可附加或可替代地按任何其他合适的信息(例如UID、IP地址、会话ID等)分区。碎片分区优选按以下规则完成:竖直分区优选包括固定数量的字段,以及对于每个竖直分区有固定数量的水平分区。例如,如果数据集包括时间字段、UID字段、IP地址字段以及位置字段,则数据集可竖直地分区成三个。第一竖直分区将包括时间字段和UID字段;第二竖直分区将包括时间字段和IP地址字段,以及第三竖直分区将包括时间字段和位置字段。随后,数据集将按天水平地分区;如果有一周的数据,则将有七个水平的分区。因此,数据将分区成21个碎片。碎片分区可附加或可替代地按任何其他规则集或算法自动完成,或可手动完成。每个碎片优选具有碎片号(或其他标识符),并且每个碎片号优选连同其上存在该碎片的节点存储在配置数据库160中。该联结的数据可附加或可替代地存储在任何合适的位置中。保持碎片和节点链接的中心列表优选使查询引擎140能够确定正确节点以查询特定数据。碎片/节点链接的列表可附加地包括其他信息,如被包括在碎片中的数据的概略。字符串查找数据库120用于存储将字符串链接到唯一识别该字符串的整数的信息。字符串查找数据库120由字符串译码器130使用,以将字符串译为其相应的整数标识符,反之亦然。字符串查找数据库120中的字符串到整数的映射优选以实现前缀匹配的方式(例如,通过使本文档来自技高网...
用于快速数据分析的系统和方法

【技术保护点】
一种用于快速数据分析的方法,包括:·接收并解释查询,其中,解释所述查询包括使用字符串译码器将所述查询的字符串译为整数,其中,解释所述查询还包括识别第一组数据碎片,所述第一组数据碎片包含涉及所述查询的数据;·收集来自所述第一组数据碎片的第一数据样本,其中收集所述第一数据样本包括收集来自所述第一组数据碎片中的每一个的数据,其中,收集来自所述第一组数据碎片中的每一个的数据包括仅收集被包含在所述第一组数据碎片中的每一个内的数据的子集;·基于所述第一数据样本的分析来计算所述查询的中间结果;·基于所述中间结果识别第二组数据碎片;·收集来自所述第二组数据碎片的第二数据样本,其中收集所述第二数据样本包括收集来自所述第二组数据碎片中的每一个的数据,其中,收集来自所述第二组数据碎片中的每一个的数据包括收集被包含在所述第二组数据碎片中的每一个内的完整的数据集;以及·基于所述第二数据样本的分析来计算所述查询的最终结果。

【技术特征摘要】
【国外来华专利技术】2014.03.10 US 61/950,8271.一种用于快速数据分析的方法,包括:·接收并解释查询,其中,解释所述查询包括使用字符串译码器将所述查询的字符串译为整数,其中,解释所述查询还包括识别第一组数据碎片,所述第一组数据碎片包含涉及所述查询的数据;·收集来自所述第一组数据碎片的第一数据样本,其中收集所述第一数据样本包括收集来自所述第一组数据碎片中的每一个的数据,其中,收集来自所述第一组数据碎片中的每一个的数据包括仅收集被包含在所述第一组数据碎片中的每一个内的数据的子集;·基于所述第一数据样本的分析来计算所述查询的中间结果;·基于所述中间结果识别第二组数据碎片;·收集来自所述第二组数据碎片的第二数据样本,其中收集所述第二数据样本包括收集来自所述第二组数据碎片中的每一个的数据,其中,收集来自所述第二组数据碎片中的每一个的数据包括收集被包含在所述第二组数据碎片中的每一个内的完整的数据集;以及·基于所述第二数据样本的分析来计算所述查询的最终结果。2.根据权利要求1所述的方法,其中,收集来自所述第一组数据碎片的所述第一数据样本包括收集来自所述第一组数据碎片的分列数据集的数据。3.根据权利要求2所述的方法,其中,所述第一组数据碎片包括按时间组织的事件数据。4.根据权利要求1所述的方法,其中,接收和解释所述查询还包括解释对隐式数据的参考。5.根据权利要求4所述的方法,其中,接收和解释所述查询还包括选择排序函数和分组函数中的至少一个。6.根据权利要求1所述的方法,其中,识别第一组数据碎片包括使用配置数据库识别所述第一组数据碎片的节点位置。7.根据权利要求1所述的方法,其中使用字符串译码器将所述查询的字符串译为整数包括使用以使能前缀匹配的格式存储的字符串标识符来译码字符串。8.根据权利要求1所述的方法,其中,所述查询包括至少一个时间范围和至少一个事件数据源。9.根据权利要求8所述的方法,其中,计算所述查询的所述最终结果还包括基于采样数据的统计分布的分析来计算关于估计的结果的准确度的...

【专利技术属性】
技术研发人员:罗伯特·约翰逊利奥尔·亚伯拉罕安·约翰逊鲍里斯·迪米特罗夫唐·弗斯格林
申请(专利权)人:因特拉纳公司
类型:发明
国别省市:美国;US

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1