CN101496012A - 非常大数据库上的数据处理 - Google Patents

非常大数据库上的数据处理 Download PDF

Info

Publication number
CN101496012A
CN101496012A CNA2007800286543A CN200780028654A CN101496012A CN 101496012 A CN101496012 A CN 101496012A CN A2007800286543 A CNA2007800286543 A CN A2007800286543A CN 200780028654 A CN200780028654 A CN 200780028654A CN 101496012 A CN101496012 A CN 101496012A
Authority
CN
China
Prior art keywords
data
cluster node
node
task
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007800286543A
Other languages
English (en)
Inventor
V·希普诺夫
T·H·哈格罗夫
R·普拉萨德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101496012A publication Critical patent/CN101496012A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

一种便于数据处理的系统包括接收SQL查询的接收器组件。划分组件将SQL查询划分成多个任务,并将任务提供给多个聚类节点以便处理。该系统使得非常大量的数据(例如,几千吉字节)可被快速准备以便分析处理,诸如结合搜索引擎、广告提供系统等使用。

Description

非常大数据库上的数据处理
背景
联网和计算技术的进步使得计算机从能够执行基本文字处理和执行基本数学计算的低性能/高成本设备转变成能够执行无数不同功能的高性能/低成本机器。例如,可采用消费级计算设备来协助用户支付帐单、跟踪花费、经由电子邮件或即时消息收发跨远距离与朋友或家人近乎瞬时地通信、从网络化数据储存库获取信息以及各种其它功能/活动。计算机及与之相关联的外设因此成为现代社会的螺丝钉,用于个人和企业活动两者。
另外,电子存储机制使得个人和/或公司能积累大量数据。例如,以往需要数卷书本来记录的数据现在可在无需印刷纸张的花费的情况下电子地存储,且仅占用存储纸张所需的物理空间的一小部分。在一个具体示例中,以往用纸张卷记录的契约和抵押单据现在可被电子地存储。而且,传感器和其他电子机制的进步现在使得能够收集和存储大量数据。例如,GPS系统可经由卫星和GPS接收器来确定个人或实体的位置,且与之连接的电子存储设备则可用来保持与这样的系统相关联的位置。也可利用各种其他传感器和数据收集设备来获取和存储数据。
某些商业模型很大程度上依赖于其处理极大量数据的能力。例如,搜索引擎可收集关于数百万用户的大量数据,诸如年龄、人口统计信息等。在另一示例中,跟踪股市变化的数据库可与大量数据相关联,尤其当这样的跟踪是以粒度方式进行时。如果人们期望从该数据集合中检索特定的一个或多个条目,则他们可生成采用特定数据库查询语言的查询,且数据根据该查询被组织并从数据库中提取。
当存在小量数据时,诸如在电子表应用程序中,该数据处理可相当快速地进行。然而当数据量变为相当大(例如,几千吉字节)时,处理这样的数据在计算上是昂贵的,且需要大量时间。减少处理时间的一种常规方式涉及选择数据的样本集并对这一样本集执行处理,其中样本集的大小可取决于处理这一样本集所需的时间量。尽管这减少了处理时间,但准确性将受到损害,尤其是在数据挖掘应用中。另一种可用方式是减少功能,从而减少处理大量数据所需的计算资源。
概述
以下呈现了简化的概述,以提供所要求保护的主题的某些方面的基本理解。该概述不是详尽的概观,它不旨在标识所要求保护的主题的关键/重要的元素也不旨在描绘其范围。其唯一的目的是以简化的形式来介绍一些概念,作为稍后提出的更为详细的描述的序言。
所要求保护的主题一般涉及准备非常大量的数据(例如,在千吉字节数据的数量级)供分析处理,诸如数据挖掘应用。为了使得这样的处理能用高效(且相对不昂贵)的方式进行,商品计算设备被分层地安排,且处理任务在这些计算设备之间拆分。更详细地,客户端可向担当主节点的计算节点(可以是计算机、计算机的一部分…)提供SQL查询,其中主节点分析SQL查询并确定与SQL查询相关的多个任务(即,“组成”该SQL查询)。SQL查询可以是与一个或多个用户相关联的预定义查询,或是其中期望对特定SQL查询的使用的其他主题。
一旦主节点确定了任务,这些任务即可被放置在与该主节点相关联的队列中,并被提供给多个聚类节点(屈从于主节点的节点)。例如,任务可被分派给特定的聚类节点和/或聚类节点可请求某些任务。更详细地,聚类节点可与某些任务被设计成对其执行的数据分区相关联。在一示例中,当从web服务器加载数据之后,可利用一个或多个分拣算法将特定的数据分区分派给某些聚类节点,其中聚类节点请求和/或被分派与数据分区相关的特定任务。因此,与常规系统/方法相比,任务可由聚类节点方便得多地执行。
另外,聚类节点可担当对于其他聚类节点的主节点。例如,一聚类节点可从主节点接收任务,且这一聚类节点可基于所接收的任务确定多个子任务。这些子任务然后可根据与之相关联的数据分区被提供给子聚类节点。子聚类可请求保存在“父”聚类节点的队列内的某些任务和/或可被分派来自“父”聚类节点的任务。如前所述,可利用不可靠或单向消息收发来实现聚类节点之间、聚类节点和子聚类节点之间以及子聚类节点之间的通信。
为实现上述及相关目的,本文结合下面的描述和附图描述某些说明性方面。然而,这些方面仅指示了可采用所要求保护的主题的原理的各种方法中的几种,且本主题旨在包括所有这些方面及其等效方面。当结合附图阅读以下详细描述时,本发明的其他优点和新颖特征将变得清楚。
附图简述
图1是用于处理非常大量数据的系统的高层框图。
图2是用于准备非常大量数据以便分析处理的系统的框图。
图3是使用共享存储体系结构来处理非常大量的数据的系统的框图。
图4是使用无共享体系结构来处理非常大量的数据的系统的框图。
图5是结合非常大的数据库的数据处理系统的框图。
图6是便于加载数据以便处理的系统的框图。
图7示出了数据分析处理对搜索引擎和/或广告服务器的的使用。
图8是示出用于对大量数据执行准备处理以允许对其分析的方法的代表性流程图。
图9是示出用于将数据加载到数据处理系统内的方法的代表性流程图。
图10是示出用于将定制的搜索内容和/或广告提供给用户的方法的代表性流程图。
图11是示出用于分拣web日志的方法的代表性流程图。
图12是示出合适的操作环境的示意性框图。
图13是示例计算环境的示意性框图。
详细描述
现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标记来指代相同的要素。在以下描述中,为解释起见,阐明了众多具体细节以提供对所要求保护的主题的全面理解。然而,很明显,这一主题可以在没有这些具体细节的情况下实施。在其它情况下,以框图形式示出了公知的结构和设备以便于描述所要求保护的主题。
如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于:在处理器上运行的进程、处理器、对象、可执行代码、执行的线程、程序、和计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。在此使用的术语“制品”旨在涵盖可以从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)……)、智能卡和闪存设备(例如,卡、棒、钥匙驱动器……)。另外应该明白,可以采用载波来承载计算机可读电子数据,例如那些用于发送和接收电子邮件或用于访问如因特网或局域网(LAN)等网络的数据。当然,本领域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。
现在参考附图,图1示出了便于处理大量数据(例如几千吉字节数据)的系统100。如上所述,常规上,准备数据集的样本来对大量数据执行数据挖掘任务;然而,当处理的不是可用数据整体时,准确性受到损害。系统100以使得可高效地且用相对低成本的计算设备来处理数据集的整体的方式来构造。
系统100包括接收采用诸如SQL等数据库查询语言的查询的接收器组件102。常规上,这一查询是针对数据集合的整体和/或其样本来执行的。系统100通过利用划分组件104使得能对极大量数据高效地执行查询,划分组件可分析由接收器组件102接收到的查询并将查询划分成多个任务。这多个任务当针对数据集合执行时,可提供与该查询在单独针对数据集合执行时基本上相似的结果。如将在以下更详细描述的,接收器组件102和划分组件104可驻留在主节点内,该主节点能分派任务、聚集因执行任务而产生的数据并将所聚集的数据提供给客户端。
在划分组件104定义了多个任务之后,一个或多个任务可被分派给一个或多个聚类节点106-110。聚类节点106-110例如可以是各个计算机、共同包装内的单独计算实体、单独逻辑进程等。在另一示例中,代替任务被分派给聚类节点106-110,聚类节点106-110可从任务队列(未示出)检索任务。从而,当聚类节点完成任务时,该节点可请求另一任务,由此通过确保单个聚类节点不会在另一聚类节点保持空闲时因多个任务而超负荷来提高效率。
另外,聚类节点106-110中的一个或多个可与一个或多个子聚类节点相关联,从而允许计算节点既担当聚类节点又担当主节点。例如,聚类节点106可接收或检索有关处理数据的多个任务。聚类节点106可执行任务的子集,并使将其他任务分派给驻留在从聚类节点106开始的体系结构分层结构的较低档中的子聚类或使其他任务对这些子聚类可用。聚类节点106然后可将由子聚类节点提供的数据与因聚类节点106自身执行的任务的运行而得到的数据进行聚集。这样聚集的数据然后可被提供给分层结构中聚类节点106上方的节点。
计算节点的这种分层安排允许低成本的机器的集合高效地处理相当大量的数据。为了进一步提高处理的效率,可在节点之间利用不可靠的消息收发(例如,没有信号交换、确认接收…)。相反,节点可执行确保因任务的执行而得到的数据在阈值时间段内接收到的监视操作。与常规系统相比,使用不可靠的消息收发可使聚类节点106-110能执行更大量的处理任务。
而且,系统100可与“无共享”数据存储体系结构或“共享存储”数据存储体系结构相关联。在每一聚类节点106-110(以及相关联的子聚类节点)包括数据存储并保存供处理的数据时得到“无共享”体系结构,其中不存在聚类节点106-110共享的任何中央数据存储。“共享存储”体系结构涉及当聚类节点106-110共享存储空间,诸如在服务器上。系统100可利用商品计算系统,从而维持低成本(但由于系统100的体系结构而维持足够的性能)。
总之,各种应用要求巨大的计算资源。例如,基于在搜索引擎日志文件中跟踪的用户活动对用户关于项目的兴趣评分要求大量的处理。例如,搜索引擎公司可收集与用户活动有关的大量个别事件,诸如所访问的统一资源定位符(URL)、所执行的搜索查询、提供给用户的广告、用户选择的广告等。可通过数据挖掘和预测建模技术来推断用户的一个或多个兴趣,但准备大量数据供分析处理是非平凡的任务。例如,日志文件数据必须被解析、净化、分拣、加载、与其他类型的数据合并以及聚集。系统100通过将数据库查询划分成若干任务来便于对这样的任务的端对端支持,其中这样的任务是并行执行的。
现在转向图2,示出了便于准备非常大量的数据以便分析处理的系统200。系统200包括客户端202,其中可从这一设备接收SQL查询。在一示例中,客户端202可以是OLE DB客户端,其中OLE DB是允许以统一方式访问不同类型的数据的一组接口。SQL查询由接收器组件102接收,该组件被包括在主节点204内。如上所述,主节点204可以是单个计算设备、担当一个计算设备的多个计算设备等。
主节点204还可包括划分组件104,它可确定需要什么数据来处理所接收的SQL查询,并可将查询划分成多个任务,以便查询得到处理。划分组件104可将任务分派给一个或多个聚类节点106-110。在另一示例中,聚类节点106-110可向主节点204请求任务和/或从主节点204拉取任务。聚类节点106-110可完成任务,并将这些任务的结果提供回主节点204。主节点204包括可聚集从聚类节点106-110返回的数据并将这一聚集提供给客户端202的聚集组件206。之后可将聚集的数据用于数据挖掘和预测建模应用。
另外,可以理解聚类节点106-110中的一个或多个可担当对于逻辑分层结构内聚类节点106-110下方的子聚类节点的主节点。根据一示例,聚类节点108可包括接收器组件102,该组件被配置成接收与经由客户端202提供的SQL查询相关联的一个或多个任务。聚类节点108也可包括划分组件104,该组件将任务划分成多个子任务。聚类节点108然后可执行一个或多个子任务和/或将子任务分派给逻辑分层结构中聚类节点108下方的聚类节点(未示出)。聚类节点108可接收因子任务的执行而得到的数据,并聚集这样的数据,之后将所聚集的数据提供给分层结构中聚类节点108上方的计算实体(例如,主节点204)。因此,与分层结构中低于任何计算节点的节点相关联的这样的计算节点可通过划分查询/任务和聚集数据来担当主节点。
现在转向图3,示出了用于准备非常大的数据集合(几千吉字节)以便分析处理的系统300。提供系统300以示出可结合所要求保护的主题利用共享存储体系结构。系统300包括主节点204,主节点204又包括接收查询(例如从OLE DB客户端)的接收器组件102。划分组件104通信耦合至接收器组件102,并将所接收的查询划分成多个任务。例如,任务可根据某些查询构造在之前定义。
主节点204还可包括任务队列302,它可保存未被分派给聚类节点106-110中的任一个和/或未由任何聚类节点接收的任务。例如,如果聚类节点106-110主动检索任务,则这些任务可根据重要性来排列。或者,聚类节点106-110可被配置成执行特定任务,且可针对这些任务分析队列的内容。队列302也可与监视队列302以确保任务正在被分派和/或聚类正在检索任务的监视组件304相关联。另外,监视组件304可监视某些聚类节点106-110所承担或被分派给某些聚类节点106-110的多个任务以确保高效的数据处理。而且,监视组件304可监视聚类节点106-110以查明特定任务是否在阈值时间量内完成。例如,系统300可利用不可靠的消息收发(单向消息收发)——从而,噪声有可能使聚类节点106不正确地接收任务分派。如果任务未在特定时间量中完成,则监视组件304可使主节点204重新发送任务或将任务置于队列302内。
如上所述,聚类节点106-110可接收与查询相关联的任务,并处理这些任务。此外,聚类节点106-110中的一个或多个可接收多个任务,并将任务的子集分派给一个或多个子聚类节点。另外或者替换地,聚类节点106-110还可将任务划分成子任务,并将这样的子任务分派给子聚类节点(未示出)。系统300还包括在聚类节点106-110之间共享的数据存储306。因此,例如,聚类节点106和聚类节点108可接收两个单独的任务,但均可对位于聚类节点106-110之间共享的数据存储306内的数据操作。
现在参考图4,示出了用于准备大量数据以便分析处理的系统400。系统400包括主节点204,它包括接收器组件102和划分组件104。如上详细描述的,接收器组件102从客户端接收SQL查询,划分组件102分析查询以确定定义查询的多个任务。例如,任务可被设计成对已知与聚类节点106-110之一相关联的特定数据部分操作。因此,根据与聚类节点相关联的数据,任务可被分派给特定的聚类节点和/或由某一聚类节点检索。更具体地,聚类节点106-110各自与数据存储402-406相关联,使得在多个聚类节点106-110之间不需要有共享的存储。
驻留在数据存储402-406内的数据可用特定方式按需格式化,并基于其与已知任务的关系被置于某些聚类节点内。例如,驻留在数据存储402内的数据可与第一任务集相关联,而驻留在数据存储404内的数据可与第二任务集相关联。而且,数据集可被分类为划分表和雪花式维度。数据存储402-406内的每一数据集划分可被存储在多个聚类节点上,用于在节点故障的情况中有冗余性。例如,数据可用以逗号分隔或二进制形式经压缩或未经压缩地存储。维度数据可被保存在平面文件或SQL服务器数据库中,且可被加载到主节点204和聚类节点106-110的存储器内,且可在该数据改变时被刷新。
如上所述,划分组件104可将SQL查询划分成多个任务,其中各个任务仅需要特定数据划分边界内的数据(因此可由单个聚类节点处理)。例如,特定任务可专门分派给聚类节点106,因为该节点106是包括该任务所需数据的节点。聚类节点106可例如使用高效的离散盘读取来加载所需数据文件,且可将数据置于内部高速缓存内。聚类节点106之后可针对任务内标识的数据划分来执行任务。例如,对划分键的SQL联接可被优化以最小化盘访问,且保存与查询相关联的中间结果的内部容器可不被锁定并为多CPU系统优化。来自这样的处理的结果可在结果变为可用时提供给主节点204。
系统400还可包括回退组件408,它允许在数据加载期间在数据破坏的情况中将数据回退到已知的良好状态。可利用回退组件408来创建系统400内数据的快照,使得文件名以及大小被捕捉用于例如在从一个或多个web服务器加载日志失败时进行回退。通常,进行加载的数据未被组织成允许高效查询(例如,该数据未被分拣或划分,除了可能被按时间划分以外)。当数据被加载时,它可根据某一划分方案使用一个或多个分布式分拣算法来重新组织。每一得到的划分可由所分派的聚类节点处理。之后,用于划分的数据的附加副本可被置于一个或多个其他节点上以获得数据的冗余性。如果在加载和划分之后,存在数据破坏,则回退组件408可使系统400内的数据返回至前一状态。
现在参考图5,示出了便于准备大量数据以便分析处理的系统500。系统500包括OLE DB客户端502,它可以是任何合适的客户端,包括电子表应用程序、SQL服务器等。OLE DB客户端502可被通信耦合至OLE DB提供者504,它例如可以是驱动器。SQL查询例如可由或可通过OLE DB客户端502和/或OLE DB提供者504生成。主节点204可接收SQL查询,而主节点204内的划分组件104可确定可由一个或多个聚类节点执行以高效地执行SQL查询的多个任务。当划分组件104确定任务时,它们可被置于任务队列506内,该队列可按照重要性或任何其他合适的次序对任务定序。
任务队列506内的任务可被提供给聚类节点508,更具体的是聚类节点508内的任务队列510。其他聚类节点512可与如关于聚类节点510所述的类似组件相关联。主节点204可将任务分派给聚类节点508和/或聚类节点508可从主节点204检索任务。另外,尽管未示出,但聚类节点508可与子聚类节点相关联,其中这些子聚类节点可被分派或检索来自任务队列510的任务。在无共享体系结构中,聚类节点可被分派保存特定数据的任务,因此可被指定为执行某些任务。来自任务队列510的任务可由聚类节点508内的一个或多个工作者线程514执行。如上所述,工作者线程514可与某些任务相关联。另外,事件数据516和/或元数据518可由聚类节点508分析以确定要检索哪些任务。主节点204和聚类节点508可经由不可靠的消息收发来通信。另外,聚类节点可通过使用不可靠(单向)消息收发在其之间通信。
聚类节点508还包括聚集因工作者线程514的执行而得到的数据的聚集组件520。聚集组件520还可聚集与被分派或检索来自任务队列510的任务的子聚类相关联的数据。所聚集的数据之后可被提供给聚类节点508上的结果队列522。主节点204可向结果队列522请求数据和/或聚类节点508可将来自结果队列522的数据自动提供给主节点204。来自若干聚类节点的结果队列的结果可由主节点204内的聚集组件524接收,且这一聚集的结果可被提供给结果队列526。例如,主节点204可被分派为聚集来自多个聚类节点的数据。用于聚集数据的方式可至少部分基于可由主节点204访问的元数据518。来自主节点204中的结果队列的数据然后可被提供给OLE DB提供者504,然后被返回给OLE DB客户端502。提供给OLE DB客户端502的数据然后可用于分析处理。
现在参考图6,示出了便于准备大量数据以便查询和/分析处理的系统600。系统600包括可通信耦合至web服务器604并接收驻留在web服务器604内的日志606的加载组件602。例如,加载组件602可向web服务器604请求日志606和/或web服务器604可将日志606推送到加载组件602。例如,日志606的请求/推送可根据web服务器604上剩余的数据存储容量、周期性等进行。在一示例中,日志606可以是W3C日志。
一般,从web服务器604提取的日志606不会被正确定序用于高效查询。例如,日志606可能不被划分,除了可能按时间划分以外。从而,加载组件602可包括可重新组织数据并将其提供给多个聚类节点106-110共享的数据存储单元和/或多个聚类节点106-110内的数据存储的分拣组件608。例如,如上所述,每一聚类节点可被配置成对特定的数据和/数据类型执行某些任务。从而,可向分拣组件608分派将某些数据划分提供给特定聚类节点的任务。例如,分拣组件608可利用根据所定义的划分方案的分布式分拣算法,其每一个得到的划分可被分派给某个聚类节点106-110或共享存储单元的一部分。为冗余性的目的,可将划分的一个或多个附加副本分派给不同的节点以得到冗余性。
更具体地,从分拣组件608得到的数据集可被分类为划分表和雪花式维度,其中特定的划分表可以是用于分拣事件数据516(图5)的事实表。事实表可具有键的主要划分序列,且可基于一个或多个事件的时戳进行辅助子划分。数据可按照以逗号分隔的方式经压缩或未经压缩地保存在聚类节点106-110上。维度数据可例如被保存在平面文件和/或SQL服务器数据库上,且可被加载到主节点204和聚类节点106-110的存储器内,且在该维度数据改变时被刷新。
一旦日志606被加载并被组织,主节点204即可接收SQL查询并将这一查询划分成多个任务。任务然后可根据与之相关联的划分被分派给某些聚类节点或由这些聚类节点检索。如上所述,可在主节点204和聚类节点106-110之间和/或在聚类节点(和子聚类节点)之间进行单向消息收发。可利用提供给主节点204的查询来准备与聚类节点106-110相关联的数据以用于诸如确定用户兴趣、选择性地向用户提供广告等分析的目的。
在另一示例中,关于准备来自日志606的原始数据用于查询(例如,按照经划分和分拣的方式安置这样的数据),主节点204可选择某些聚类节点为负责读原始日志606。所选的聚类节点在后文中被称为“读取者”。对读取者的选择可基于聚类节点的计算能力、资源可用性和/或任何其他合适的准则。主节点204也可选择聚类节点为负责主宿经划分和分拣的数据,且这样所选的节点在后文中被称为“写入者”。主节点204可准备读取者节点和写入者节点以便关于数据读取何时完成、写入何时完成等彼此通信。
读取者节点(在主节点204接收命令之后)可从web服务器604检索或接收日志606,且可将某些日志和/或其部分中继给特定的写入者节点(例如,根据划分表)。将日志供应给某些聚类节点(写入者)对允许并行处理而言是重要的。写入者节点可通过利用存储器内缓冲区来接收每一划分的数据——如果数据量超过物理存储器的容量,数据也可被写入临时盘存储。
在读取者节点接收web服务器604内的所有相关日志之后,读取者节点可向主节点204提供通知。读取者节点可刷新包括从web服务器604接收的数据的所有缓冲区,并等待接收所刷新的数据已经被一个或多个适当的写入者节点接收的确认。读取者节点然后可向主节点204通知向写入者节点的数据供应完成。当写入者节点确定(或接收通知)它们具有来自读取者节点的所有相关数据时,写入者节点可将所接收的日志划分成查询所需的格式(例如,表(字段1,字段2,字段3…))。写入者节点之后可通知主节点204日志是最终格式的。如果采用无共享体系结构,则主节点204可命令写入者节点将新写入的数据复制到要主宿划分数据的附加副本的其他节点。
现在参考图7,示出了示出主节点204和聚类节点106-110的实际应用的系统700。系统700包括客户端702,诸如OLE DB客户端,它可向主节点204提供SQL查询。如上所述,主节点204可将查询划分成若干任务,且这些任务可由聚类节点106-110执行。因执行任务而得到的结果可在聚类节点106-110和主节点204处聚集,然后可被提供给客户端702。客户端702可被通信耦合至数据存储704,且可在其中保存SQL查询的结果。
作为示例,SQL查询可与特定的因特网用户相关联,诸如定位用户进行的最近搜索、用户所访问的网页、用户购买的项目等。搜索引擎706和/或广告服务器708然后可执行数据挖掘操作或利用其他智能算法来向用户选择性地提供内容。例如,搜索引擎706可从用户终端710(这可与特定用户相关联,或某一用户可登录到用户终端710内)接收查询。通过分析与用户相关的数据存储704的内容,搜索引擎706可智能地对搜索结果定序,并将内容提供给这一用户。类似地,广告服务器708可基于数据存储704的内容选择性地将广告提供给用户终端710。
在一详细示例中,聚类节点106-110可保存从web服务器接收的划分数据,诸如W3C日志以及任何其他合适的数据。在另一示例中,存储可在聚类节点106-110之间共享以保存数据。当用户登录到服务时,客户端702(或其他合适的计算实体)可确定用户的身份。可自动生成一个或多个SQL查询以检索与在用户终端710登录的用户有关的数据。得到的数据可被提供给数据存储704,并用于向用户提供定制/改进的内容和/或广告。
现在参考图8-11,将通过一系列动作来描述根据所要求保护的主题的方法。可以理解并明了,所要求保护的主题不受动作次序的限制,因为某些动作可以按与本文所示和描述的不同的次序发生和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。而且,并非所有示出的动作都是实现根据所要求保护的主题的方法所必需的。另外还应该明白,下文以及本说明书全文中所公开的方法能够被存储在制品上,以便于把此类方法传送和转移到计算机。在此使用的术语“制品”意指包含可以从任何计算机可读设备、载体或介质访问的计算机程序。
单独参考图8,示出了用于快速准备巨大数量的数据(例如,几千吉字节)以便分析处理的方法800。方法800在802启动,在804接收SQL查询。例如,该SQL查询可在用户提供登录信息时、在一个或多个用户通过对IP地址的分析或用于标识用户的任何合适方式标识时自动生成。SQL查询可在OLE DB客户端处生成,并通过OLE DB提供者,后者可以是驱动器。
在806,确定与SQL查询相关联的多个任务。例如,可向SQL查询分派预定义任务,其中这些预定义任务要在某些聚类节点上运行。例如,可利用“无共享”体系结构,使得在将数据加载到聚类节点中之后特定数据划分被分派给某些聚类节点。被分派给聚类节点的任务可被定向到特定的数据划分。在808,多个任务被提供给多个聚类节点,其中每一任务可按需由某一聚类节点执行。另外,聚类节点可与子聚类节点相关联,使得多层分层结构计算结构被用于执行任务。例如,任务可被提供给特定聚类节点,之后任务可被划分成多个子任务并被提供给若干子聚类节点。另外,每一子聚类节点可被配置成执行某些子任务,其中子聚类节点请求特定的子任务和/或被分派某些子任务。
在810,一旦执行了任务和/或子任务,因子任务而得到的数据可被聚集并被提供给聚类节点和/或在所述分层结构中位于执行该任务或子任务的聚类节点(或子聚类节点)上方的主节点。数据在其通过分层结构向上到达主节点时可被聚集,主节点可执行最终聚集并将得到的数据中继回OLE DB客户端。当在主节点和聚类节点之间、聚类节点之间、聚类节点和子聚类节点之间和/或子聚类节点之间进行通信时,这样的通信可经由不可靠消息收发进行。与常规非常大数据库处理系统/方法相比,这使得任务的处理能够更方便地完成。此外,对SQL的使用允许采用公共接口。方法800然后在812完成。
现在转向图9,示出了将大量数据加载到数据处理系统的方法900。方法900在902开始,在904在加载数据之前拍摄系统内存在的数据的快照。因此,如果存在破坏的数据或数据被不正确地加载,系统则可被“回退”到已知的良好状态。例如,可为不成功的加载操作的回退捕捉文件名和大小。在906,根据定义的划分方案重新组织按需加载的数据。在908,将某些划分提供给特定的聚类节点。任务然后可被分派给聚类节点或由聚类节点请求,其中任务与划分相关联。在910,为冗余性的目的将数据划分提供给其他聚类节点。方法900然后在912完成。
参考图10,示出了用于将定制内容和/或广告提供给用户的方法1000。方法1000在1002处开始,并在1004处接收用户标识。例如,用户可登录到即时消息信使服务,登录到电子邮件服务,提供关于计算设备的IP地址等。因此,构想了用于接收/确定用户标识的任何合适方式,且这些方式旨在落入本文所附权利要求书的范围之内。在1006,查明关于所标识的用户的SQL查询。例如,为了准备数据用于对于用户的分析处理,查询被设计成定位和聚集与用户有关的数据(例如,诸如搜索日志等关于用户收集的信息、诸如人口统计信息等与用户有关的信息…)。
在1008,从可包括几千吉字节数据的非常大的数据库中定位(收集和聚集)与用户相关联的数据。例如,包括至少一个主节点和至少一个聚类节点的分层体系结构可用来快速并高效地准备数据用于分析目的。在1010,在分析所定位的数据之后,将内容和/或广告提供给用户。因此,搜索结果可被优化,且广告可基于所推断的用户兴趣等被选择性地提供。方法1000然后在1012完成。
现在参考图11,示出了用于快速准备大量数据以便查询和/分析处理的系统1100。例如,保存在web服务器内的web日志一般不被分拣(除了可能按时间分拣以外)。然而,为了允许在利用计算节点的分层安排的系统中查询web日志,web日志需要按特定方式格式化和分拣(例如,表(字段1,字段2…))并与某些节点相关联。方法1100在1102启动,且在1104聚类节点由主节点分派为读取者节点或写入者节点,其中读取者节点被分派从web服务器接收/检索web日志并将这些日志提供给适当的写入者节点的任务,而写入者节点被分派按所需方式格式化web日志的任务。
在1106,从读取者节点处的web服务器接收web日志。例如,可将所有web日志(按时间排列)的部分提供给某些读取者节点。一旦读取者节点接收到了所有相关的web日志,读取者节点即可向主节点指示读取已经完成。在1108,将web日志的子集提供给特定的写入者节点。例如,读取者节点可利用分发表来确保某些web日志被提供给特定的节点。一旦web日志中的每一个被提供给写入者节点,读取者节点即可等待接收的确认,然后向主节点告知其任务已被完成。
在1110,写入者节点可分拣其接收到的web日志,并生成最终经分拣的数据。这样的数据可被格式化以允许高效的查询。另外,所写入的数据被保存在某些节点内以允许并行处理(如上所述)。写入者节点在完成最终分拣数据的生成之后,可向主节点告知这样的写入已完成,且数据准备好进行查询。在1112,为冗余性的目的在多个位置中存储最终经分拣的数据划分,且方法1100在1114完成。
为了提供用于所要求保护的主题的各方面的附加上下文,图12及以下讨论旨在提供对其中可实现所要求保护的主题的各方面的合适的操作环境1210的简要概括描述。尽管所要求保护的主题是在诸如程序模块等由一个或多个计算机或其它设备执行的计算机可执行指令的通用上下文中描述的,但本领域的技术人员将认识到,本发明还能够结合其它程序模块和/或作为硬件和软件的组合来实现。
然而,通常,程序模块包括执行特定任务或实现特定数据类型的例程、程序、对象、组件、数据结构等。操作环境1210只是合适的操作环境的一个示例,并不旨在对本发明的使用范围或功能提出任何局限。适用于本发明的其他公知的计算机系统、环境、和/或配置,包括但不限于,个人计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括以上系统或设备的分布式计算环境等等。
参考图12,用于实现所要求保护的主题的各个方面(诸如高效地准备大量数据以便分析处理)的示例性环境1210包括计算机1212。计算机1212包括处理器单元1214、系统存储器1216和系统总线1218。系统总线1218将包括但不限于系统存储器1216的系统组件耦合到处理单元1214。处理单元1214可以是各种可用处理器中的任一种。双微处理器和其它多处理器体系结构也可用作处理单元1214。
系统总线1218可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用的总线体系结构中的任一种的局部总线,可用的总线体系结构包括,但不限于,8位总线、工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展的ISA(EISA)、智能驱动器电子接口(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形接口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)以及小型计算机系统接口(SCSI)。系统存储器1216包括易失性存储器1220和非易失性存储器1222。基本输入/输出系统(BIOS)包含诸如在启动期间在计算机1212的元件之间传送信息的基本例程,其存储在非易失性存储器1222中。作为说明而非局限,非易失性存储器1222可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或者闪存。易失性存储器1220包括用作外部高速缓冲存储器的随机存取存储器(RAM)。作为示例而非限制,RAM以多种形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接Rambus总线RAM(DRRAM)。
计算机1212还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图12示出了盘存储1224。盘存储1224包括但不限于诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或者记忆棒之类的设备。此外,盘存储1224可以包括独立的或者与其它存储介质结合的存储介质,其他存储介质包括但不限于诸如紧致盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、可重写CD驱动器(CD-RW驱动器)或者数字多功能盘ROM驱动器(DVD-ROM)这样的光盘驱动器。为了便于将盘存储设备1224连接到系统总线1218,通常使用诸如接口1226等可移动或不可移动接口。
应该明白,图12描述了在用户和在合适的操作环境1210中描述的基本计算机资源之间担当中介的软件。这样的软件包括操作系统1228。存储在盘存储1224上的操作系统1228用于控制并分配计算机系统1212的资源。系统应用程序1230通过存储在系统存储器1216或盘存储1224上的程序模块1232和程序数据1234利用了操作系统1228对资源的管理。应该明白,所要求保护的主题可以用各种操作系统或操作系统的组合来实现。
用户通过输入设备1236把命令或信息输入到计算机1212中。输入设备1236包括但不限于诸如鼠标、跟踪球、指示笔、触摸垫等定点设备、键盘、话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等等。这些以及其它输入设备通过系统总线1214经由接口端口1238连至处理单元1218。接口端口1238包括,例如串行端口、并行端口、游戏端口、以及通用串行总线(USB)。输出设备1240利用和输入设备1236相同类型的某些端口。因此,例如,USB端口可以用来向计算机1212提供输入,以及把来自计算机1212的信息输出到输出设备1240。提供输出适配器1242来示出存在如监视器、扬声器、打印机以及其他输出设备1240等需要特殊适配器的一些输出设备1240。输出适配器1242包括,作为说明而非局限,提供输出设备1240和系统总线1218之间的连接手段的显卡和声卡。应该注意到,其它设备和/或设备系统提供了输入和输出能力,诸如远程计算机1244。
计算机1212可以使用至诸如远程计算机1244等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机1244可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或者其它常见的网络节点等,且通常包括相对于计算机1212所描述的许多或者全部元件。为了简明起见,对远程计算机1246仅示出了存储器存储设备1244。远程计算机1244经由网络接口1248被逻辑地连接到计算机1212,然后经由通信连接1250物理地连接。网络接口1248涵盖诸如局域网(LAN)和广域网(WAN)这样的通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口、以太网/IEEE 802.3、令牌环/IEEE 802.5等。WAN技术包括但不限于,点对点链路、诸如综合业务数字网(ISDN)及其各种变体等电路交换网、分组交换网、以及数字用户线(DSL)。
通信连接1250指的是用于把网络接口1248连接到总线1218的硬件/软件。虽然为了清楚地举例说明,通信连接1250被示为在计算机1212的内部,但其也可以在计算机1212的外部。连接到网络接口1248所需要的硬件/软件包括,仅出于示例的目的,内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器以及DSL调制解调器的调制解调器、ISDN适配器和以太网卡。
图13是所要求保护的主题可以与之交互的示例性计算环境1300的示意性框图。系统1300包括一个或多个客户机1310。客户机1310可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1300还包括一个或多个服务器1330。服务器1330也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1330可容纳线程,以例如通过使用本发明执行变换。在客户机1310和服务器1330之间的一种可能的通信能够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。系统1300包括可以用来使客户机1310和服务器1330之间通信更容易的通信框架1350。客户机1310可在操作上连接到一个或多个可以用来存储对客户机1310本地的信息的客户机数据存储1360。同样地,服务器1330可在操作上连接到一个或多个可以用来存储对服务器1330本地的信息的服务器数据存储1340。
以上所已经描述的内容包括所要求保护的主题的各方面的例子。当然,出于描绘这一主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多进一步的组合和排列都是可能的。因此,所要求保护的主题旨在涵盖所有这些落入所附权利要求书的精神和范围内的改变、修改和变动。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。

Claims (20)

1.一种便于数据处理的系统,包括:
接收SQL查询的接收器组件(102);以及
将所述SQL查询划分成多个任务并将所述任务提供给多个聚类节点以便处理的划分组件(104)。
2.如权利要求1所述的系统,其特征在于,还包括聚集从所述聚类接收到的经处理数据的聚集组件。
3.如权利要求1所述的系统,其特征在于,还包括如果数据到所述系统的加载失败则启动数据到已知良好状态的回退的回退组件。
4.如权利要求1所述的系统,其特征在于,所述聚类节点的子集担当从web服务器读取web日志并将所述web日志的子集提供给特定聚类节点的读取者节点,所述特定聚类节点担当写入者节点并按照合适的形式格式化所述数据以便查询。
5.如权利要求1所述的系统,其特征在于,还包括监视所述多个聚类节点以确保所述多个任务正被执行的监视组件。
6.如权利要求1所述的系统,其特征在于,所述多个聚类节点包括子聚类节点的分层安排。
7.如权利要求1所述的系统,其特征在于,在所述划分组件和所述多个聚类节点之间进行不可靠的通信。
8.如权利要求1所述的系统,其特征在于,所述聚类节点经由不可靠的消息收发彼此通信。
9.如权利要求1所述的系统,其特征在于,聚类节点包括将所接收的任务划分成多个子任务并向多个子聚类提供所述子任务以便执行的第二划分组件。
10.如权利要求9所述的系统,其特征在于,所述聚类节点包括聚集因在与所述聚类节点相关联的子聚类处执行所述子任务而得到的数据的聚集组件。
11.如权利要求1所述的系统,其特征在于,所述多个聚类驻留在无共享存储体系结构内。
12.如权利要求1所述的系统,其特征在于,还包括将数据从web服务器加载到所述多个聚类节点的加载组件,所述加载组件采用一个或多个分布式分拣算法以将一个或多个数据划分分派给一个或多个特定聚类。
13.如权利要求1所述的系统,其特征在于,还包括利用所述SQL查询的结果来向用户选择性地提供内容的搜索引擎。
14.如权利要求1所述的系统,其特征在于,还包括利用所述SQL查询的结果来向用户选择性地提供广告的广告服务器。
15.一种用于准备大量数据以便分析处理的方法,包括:
接收查询;
基于所述查询确定多个任务;
通过使用单向消息收发将所述多个任务提供给多个聚类节点;
聚集由所述多个聚类节点关于所述多个任务提供的结果;以及
将所聚集的结果提供给OLE DB客户端。
16.如权利要求15所述的方法,其特征在于,还包括:
对所聚集的结果执行数据挖掘;以及
至少部分基于所述数据挖掘提供搜索内容和广告的至少其中之一。
17.如权利要求15所述的方法,其特征在于,所接收的查询是SQL查询。
18.如权利要求17所述的方法,其特征在于,还包括:
在所述多个聚类节点中的一个或多个处,将所述任务划分成多个子任务;以及
将所述子任务提供给屈从于提供所述子任务的聚类节点的多个聚类节点。
19.如权利要求15所述的方法,其特征在于,还包括:
接收用户的身份;以及
至少部分基于所接收的身份生成所述查询。
20.一种数据处理系统,包括:
用于接收要对几千吉字节数据执行的SQL查询的装置(102);以及
用于确定与所接收的SQL查询相关联的多个任务并将所述多个任务提供给多个聚类节点以便处理的装置(104)。
CNA2007800286543A 2006-07-26 2007-06-25 非常大数据库上的数据处理 Pending CN101496012A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/460,070 2006-07-26
US11/460,070 US7624118B2 (en) 2006-07-26 2006-07-26 Data processing over very large databases

Publications (1)

Publication Number Publication Date
CN101496012A true CN101496012A (zh) 2009-07-29

Family

ID=38981773

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800286543A Pending CN101496012A (zh) 2006-07-26 2007-06-25 非常大数据库上的数据处理

Country Status (11)

Country Link
US (1) US7624118B2 (zh)
EP (1) EP2044536A1 (zh)
JP (1) JP2009545060A (zh)
KR (1) KR20090035545A (zh)
CN (1) CN101496012A (zh)
AU (1) AU2007277429A1 (zh)
BR (1) BRPI0714328A2 (zh)
CA (1) CA2656024A1 (zh)
MX (1) MX2009000589A (zh)
TW (1) TW200820023A (zh)
WO (1) WO2008013632A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102158534A (zh) * 2011-02-09 2011-08-17 中兴通讯股份有限公司 查询方法及装置
CN102693209A (zh) * 2011-02-23 2012-09-26 日本电气株式会社 信息处理系统
CN102779183A (zh) * 2012-07-02 2012-11-14 华为技术有限公司 数据查询的方法、设备及系统
CN103488774A (zh) * 2013-09-29 2014-01-01 贵州省广播电视信息网络股份有限公司 一种用于大数据日志分析的处理方法
CN102576360B (zh) * 2009-09-29 2015-04-01 株式会社东芝 检索装置及系统
WO2016138614A1 (en) * 2015-03-02 2016-09-09 Microsoft Technology Licensing, Llc Management of database queries against large datasets
CN106164897A (zh) * 2013-12-02 2016-11-23 丘贝斯有限责任公司 用于寄存内存数据库的系统及方法
CN106462575A (zh) * 2013-12-02 2017-02-22 丘贝斯有限责任公司 群集内存数据库的设计及实现

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005089241A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing object triggers
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
EP3203374B1 (en) 2005-04-07 2021-11-24 III Holdings 12, LLC On-demand access to compute resources
US20080168077A1 (en) * 2007-01-10 2008-07-10 Eric Lawrence Barsness Pre-loading of an in memory database
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8892558B2 (en) 2007-09-26 2014-11-18 International Business Machines Corporation Inserting data into an in-memory distributed nodal database
US8027996B2 (en) * 2007-11-29 2011-09-27 International Business Machines Corporation Commitment control for less than an entire record in an in-memory database in a parallel computer system
US20090222293A1 (en) * 2008-02-28 2009-09-03 Daniel Wong Method and System of Using Commodity Databases in Internet Search Advertising
US9996572B2 (en) * 2008-10-24 2018-06-12 Microsoft Technology Licensing, Llc Partition management in a partitioned, scalable, and available structured storage
US20100175049A1 (en) * 2009-01-07 2010-07-08 Microsoft Corporation Scope: a structured computations optimized for parallel execution script language
US8489633B2 (en) * 2009-03-06 2013-07-16 Hewlett-Packard Development Company, L.P. Correlated query process (CQP) and peer-to-peer (P2P) execution
US8321870B2 (en) * 2009-08-14 2012-11-27 General Electric Company Method and system for distributed computation having sub-task processing and sub-solution redistribution
US8577829B2 (en) * 2009-09-11 2013-11-05 Hewlett-Packard Development Company, L.P. Extracting information from unstructured data and mapping the information to a structured schema using the naïve bayesian probability model
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
WO2011060366A2 (en) * 2009-11-13 2011-05-19 Anderson Richard S Distributed symmetric multiprocessing computing architecture
CN102314460B (zh) 2010-07-07 2014-05-14 阿里巴巴集团控股有限公司 数据分析方法、系统及服务器
JP5043166B2 (ja) 2010-09-10 2012-10-10 株式会社日立製作所 計算機システム、データ検索方法及びデータベース管理計算機
US8560544B2 (en) * 2010-09-15 2013-10-15 International Business Machines Corporation Clustering of analytic functions
US9424351B2 (en) 2010-11-22 2016-08-23 Microsoft Technology Licensing, Llc Hybrid-distribution model for search engine indexes
US9342582B2 (en) 2010-11-22 2016-05-17 Microsoft Technology Licensing, Llc Selection of atoms for search engine retrieval
US9529908B2 (en) 2010-11-22 2016-12-27 Microsoft Technology Licensing, Llc Tiering of posting lists in search engine index
US8620907B2 (en) 2010-11-22 2013-12-31 Microsoft Corporation Matching funnel for large document index
US9195745B2 (en) 2010-11-22 2015-11-24 Microsoft Technology Licensing, Llc Dynamic query master agent for query execution
US8478704B2 (en) 2010-11-22 2013-07-02 Microsoft Corporation Decomposable ranking for efficient precomputing that selects preliminary ranking features comprising static ranking features and dynamic atom-isolated components
US8713024B2 (en) 2010-11-22 2014-04-29 Microsoft Corporation Efficient forward ranking in a search engine
NO333354B1 (no) 2010-12-21 2013-05-13 Svein Berg Holding As Anordning ved et sammenforingssystem for bygningselementer.
US10311105B2 (en) * 2010-12-28 2019-06-04 Microsoft Technology Licensing, Llc Filtering queried data on data stores
US8484649B2 (en) 2011-01-05 2013-07-09 International Business Machines Corporation Amortizing costs of shared scans
KR101502896B1 (ko) 2011-02-14 2015-03-24 주식회사 케이티 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
US8683268B2 (en) 2011-06-20 2014-03-25 International Business Machines Corporation Key based cluster log coalescing
US8725875B2 (en) * 2011-06-21 2014-05-13 Intel Corporation Native cloud computing via network segmentation
ES2837458T3 (es) * 2011-06-28 2021-06-30 Amadeus Sas Método y sistema de procesamiento de datos para la modificación de bases de datos
US9621409B2 (en) * 2011-09-15 2017-04-11 Oracle International Corporation System and method for handling storage events in a distributed data grid
US9990395B2 (en) 2011-12-16 2018-06-05 International Business Machines Corporation Tape drive system server
US8688831B2 (en) * 2012-01-17 2014-04-01 International Business Machines Corporation Managing workload distribution among a plurality of compute nodes
US20130318276A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US20130318280A1 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US20140006542A1 (en) * 2012-06-29 2014-01-02 William M Pitts Recursive ascent network link failure notifications
US8719934B2 (en) * 2012-09-06 2014-05-06 Dstillery, Inc. Methods, systems and media for detecting non-intended traffic using co-visitation information
KR102032367B1 (ko) * 2012-10-05 2019-10-16 한국전자통신연구원 태스크 처리 장치 및 방법
US20140201408A1 (en) 2013-01-17 2014-07-17 Xockets IP, LLC Offload processor modules for connection to system memory, and corresponding methods and systems
TWI479422B (zh) * 2013-01-25 2015-04-01 Wistron Corp 電腦系統及其繪圖處理方法
US10963426B1 (en) 2013-02-25 2021-03-30 EMC IP Holding Company LLC Method of providing access controls and permissions over relational data stored in a hadoop file system
US9898475B1 (en) 2013-02-25 2018-02-20 EMC IP Holding Company LLC Tiering with pluggable storage system for parallel query engines
KR101441435B1 (ko) * 2013-03-21 2014-09-25 국방과학연구소 서비스 단위 기반의 무기체계용 분산식 다계층 시스템의 운용 방법
US9577892B2 (en) * 2013-04-06 2017-02-21 Citrix Systems, Inc. Systems and methods for providing monitoring in a cluster system
EP2987090B1 (en) * 2013-04-16 2019-03-27 EntIT Software LLC Distributed event correlation system
US9442967B2 (en) * 2013-07-25 2016-09-13 Facebook, Inc. Systems and methods for efficient data ingestion and query processing
US9331943B2 (en) * 2013-09-10 2016-05-03 Robin Systems, Inc. Asynchronous scheduling informed by job characteristics and anticipatory provisioning of data for real-time, parallel processing
US9201744B2 (en) 2013-12-02 2015-12-01 Qbase, LLC Fault tolerant architecture for distributed computing systems
US9424294B2 (en) 2013-12-02 2016-08-23 Qbase, LLC Method for facet searching and search suggestions
US9317565B2 (en) 2013-12-02 2016-04-19 Qbase, LLC Alerting system based on newly disambiguated features
US9544361B2 (en) 2013-12-02 2017-01-10 Qbase, LLC Event detection through text analysis using dynamic self evolving/learning module
US9223833B2 (en) 2013-12-02 2015-12-29 Qbase, LLC Method for in-loop human validation of disambiguated features
WO2015084726A1 (en) 2013-12-02 2015-06-11 Qbase, LLC Event detection through text analysis template models
US9336280B2 (en) 2013-12-02 2016-05-10 Qbase, LLC Method for entity-driven alerts based on disambiguated features
US9223875B2 (en) 2013-12-02 2015-12-29 Qbase, LLC Real-time distributed in memory search architecture
US9025892B1 (en) 2013-12-02 2015-05-05 Qbase, LLC Data record compression with progressive and/or selective decomposition
US9424524B2 (en) 2013-12-02 2016-08-23 Qbase, LLC Extracting facts from unstructured text
US9619571B2 (en) 2013-12-02 2017-04-11 Qbase, LLC Method for searching related entities through entity co-occurrence
US9230041B2 (en) 2013-12-02 2016-01-05 Qbase, LLC Search suggestions of related entities based on co-occurrence and/or fuzzy-score matching
US9355152B2 (en) 2013-12-02 2016-05-31 Qbase, LLC Non-exclusionary search within in-memory databases
US9984427B2 (en) 2013-12-02 2018-05-29 Qbase, LLC Data ingestion module for event detection and increased situational awareness
US9208204B2 (en) 2013-12-02 2015-12-08 Qbase, LLC Search suggestions using fuzzy-score matching and entity co-occurrence
US9547701B2 (en) 2013-12-02 2017-01-17 Qbase, LLC Method of discovering and exploring feature knowledge
US9922032B2 (en) 2013-12-02 2018-03-20 Qbase, LLC Featured co-occurrence knowledge base from a corpus of documents
US9348573B2 (en) 2013-12-02 2016-05-24 Qbase, LLC Installation and fault handling in a distributed system utilizing supervisor and dependency manager nodes
US9542477B2 (en) 2013-12-02 2017-01-10 Qbase, LLC Method of automated discovery of topics relatedness
CN106164890A (zh) 2013-12-02 2016-11-23 丘贝斯有限责任公司 用于消除非结构化文本中的特征的歧义的方法
US9659108B2 (en) 2013-12-02 2017-05-23 Qbase, LLC Pluggable architecture for embedding analytics in clustered in-memory databases
US9177262B2 (en) 2013-12-02 2015-11-03 Qbase, LLC Method of automated discovery of new topics
US10931776B2 (en) 2013-12-31 2021-02-23 International Business Machines Corporation Adaptive data fetching from network storage
CN103699678B (zh) * 2013-12-31 2016-09-28 苏州大学 一种基于多阶段分层采样的层次聚类方法和系统
US9262476B2 (en) * 2014-01-10 2016-02-16 Red Hat, Inc. System and method for batch query processing
US10366102B2 (en) 2014-02-19 2019-07-30 Snowflake Inc. Resource management systems and methods
US9361317B2 (en) 2014-03-04 2016-06-07 Qbase, LLC Method for entity enrichment of digital content to enable advanced search functionality in content management systems
US9594801B2 (en) 2014-03-28 2017-03-14 Akamai Technologies, Inc. Systems and methods for allocating work for various types of services among nodes in a distributed computing system
US10120924B2 (en) 2014-03-31 2018-11-06 Akamai Technologies, Inc. Quarantine and repair of replicas in a quorum-based data storage system
CN103984594B (zh) * 2014-05-14 2018-05-22 上海上讯信息技术股份有限公司 一种基于分布式可配置加权算法的任务调度方法及系统
MY188207A (en) * 2014-10-02 2021-11-24 Mimos Berhad System for processing multiple queries using gpu
CN104601448B (zh) 2015-01-12 2017-11-28 腾讯科技(深圳)有限公司 一种对虚拟卡片进行处理的方法和装置
US20170286458A1 (en) * 2015-02-25 2017-10-05 Hitachi, Ltd. Computer and Database Management Method
CN106708815B (zh) * 2015-07-15 2021-09-17 中兴通讯股份有限公司 数据处理方法、装置和系统
TWI545453B (zh) 2015-08-25 2016-08-11 國立清華大學 分散式系統及其資料庫管理方法及管理系統
US10725799B2 (en) * 2017-02-22 2020-07-28 Microsoft Technology Licensing, Llc Big data pipeline management within spreadsheet applications
US11157690B2 (en) * 2017-02-22 2021-10-26 Microsoft Technology Licensing, Llc Techniques for asynchronous execution of computationally expensive local spreadsheet tasks
US10984484B1 (en) * 2017-07-28 2021-04-20 Intuit Inc. Accounting workflow integration
US11870840B2 (en) * 2018-01-12 2024-01-09 Workday, Inc. Distributed partitioned map reduce using a data fabric
US11914592B2 (en) * 2018-02-27 2024-02-27 Elasticsearch B.V. Systems and methods for processing structured queries over clusters
CN108846763A (zh) * 2018-06-05 2018-11-20 中国平安人寿保险股份有限公司 核保请求处理方法、装置、计算机设备和存储介质
US11943295B2 (en) 2019-04-09 2024-03-26 Elasticsearch B.V. Single bi-directional point of policy control, administration, interactive queries, and security protections
KR102247249B1 (ko) * 2019-10-31 2021-05-03 주식회사 티맥스티베로 데이터베이스 관리 시스템에서 비동기적 데이터 처리를 위한 컴퓨터 프로그램
KR102308667B1 (ko) * 2020-01-08 2021-10-05 고려대학교 산학협력단 배열 데이터베이스에서의 점진적인 상위 k 질의 처리 장치 및 방법
US11409771B1 (en) 2020-03-26 2022-08-09 Amazon Technologies, Inc. Splitting partitions across clusters in a time-series database
US11263270B1 (en) * 2020-03-26 2022-03-01 Amazon Technologies, Inc. Heat balancing in a distributed time-series database
US11366598B1 (en) 2020-03-26 2022-06-21 Amazon Technologies, Inc. Dynamic lease assignments in a time-series database
CN112114950A (zh) * 2020-09-21 2020-12-22 中国建设银行股份有限公司 任务调度方法和装置、以及集群管理系统
CN114817188A (zh) * 2021-01-21 2022-07-29 瑞昱半导体股份有限公司 用于多系统日志存取管理的方法、集成电路及可读介质
CN113055476B (zh) * 2021-03-12 2022-07-26 杭州网易再顾科技有限公司 一种集群式服务系统、方法、介质和计算设备
US20230098331A1 (en) * 2021-09-25 2023-03-30 Intel Corporation Complex filter hardware accelerator for large data sets

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471677A (en) 1992-06-24 1995-11-28 Matsushita Electric Industrial Co., Ltd. Data retrieval using user evaluation of data presented to construct interference rules and calculate range of inputs needed for desired output and to formulate retrieval queries
US5845113A (en) * 1992-10-27 1998-12-01 International Business Machines Corporation Method for external sorting in shared-nothing parallel architectures
AU7683994A (en) 1993-09-27 1995-04-18 Oracle Corporation Method and apparatus for parallel processing in a database system
EP0777883B1 (en) 1994-09-01 2003-05-02 Computer Associates Think, Inc. X.500 system and methods
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US5832182A (en) * 1996-04-24 1998-11-03 Wisconsin Alumni Research Foundation Method and system for data clustering for very large databases
US5918010A (en) * 1997-02-07 1999-06-29 General Internet, Inc. Collaborative internet data mining systems
US6112198A (en) 1997-06-30 2000-08-29 International Business Machines Corporation Optimization of data repartitioning during parallel query optimization
US6081801A (en) 1997-06-30 2000-06-27 International Business Machines Corporation Shared nothing parallel execution of procedural constructs in SQL
US6094645A (en) 1997-11-21 2000-07-25 International Business Machines Corporation Finding collective baskets and inference rules for internet or intranet mining for large data bases
US6212526B1 (en) 1997-12-02 2001-04-03 Microsoft Corporation Method for apparatus for efficient mining of classification models from databases
US6266668B1 (en) * 1998-08-04 2001-07-24 Dryken Technologies, Inc. System and method for dynamic data-mining and on-line communication of customized information
US6718322B1 (en) 1998-10-02 2004-04-06 Ncr Corporation SQL-based analytic algorithm for rule induction
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6732084B1 (en) 1999-12-22 2004-05-04 Ncr Corporation Method and apparatus for parallel execution of trigger actions
US6768986B2 (en) 2000-04-03 2004-07-27 Business Objects, S.A. Mapping of an RDBMS schema onto a multidimensional data model
US7013308B1 (en) 2000-11-28 2006-03-14 Semscript Ltd. Knowledge storage and retrieval system and method
US6687693B2 (en) 2000-12-18 2004-02-03 Ncr Corporation Architecture for distributed relational data mining systems
US6954752B2 (en) * 2001-07-19 2005-10-11 International Business Machines Corporation Methods and apparatus for clustering and prefetching data objects
AU2002321871A1 (en) * 2001-08-01 2003-02-17 Harmony Software, Inc. Method and apparatus for processing a query to a multi-dimensional data structure
US7028030B2 (en) * 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US20030078985A1 (en) * 2001-10-23 2003-04-24 David Holbrook Proactive message buffering across intermittent network connections
CA2543746C (en) 2003-10-27 2018-01-16 Archivas, Inc. Policy-based management of a redundant array of independent nodes
US20050204186A1 (en) * 2004-03-09 2005-09-15 Rothman Michael A. System and method to implement a rollback mechanism for a data storage unit
US7647356B2 (en) 2004-05-07 2010-01-12 Oracle International Corporation Methods and apparatus for facilitating analysis of large data sets
US9286388B2 (en) * 2005-08-04 2016-03-15 Time Warner Cable Enterprises Llc Method and apparatus for context-specific content delivery
US20060047780A1 (en) * 2005-11-08 2006-03-02 Gregory Patnude Method and apparatus for web-based, schema-driven application-server and client-interface package using a generalized, data-object format and asynchronous communication methods without the use of a markup language.

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102576360B (zh) * 2009-09-29 2015-04-01 株式会社东芝 检索装置及系统
WO2012106970A1 (zh) * 2011-02-09 2012-08-16 中兴通讯股份有限公司 查询方法及装置
CN102158534A (zh) * 2011-02-09 2011-08-17 中兴通讯股份有限公司 查询方法及装置
CN102158534B (zh) * 2011-02-09 2015-04-01 中兴通讯股份有限公司 查询方法及装置
US9154382B2 (en) 2011-02-23 2015-10-06 Nec Corporation Information processing system
CN102693209A (zh) * 2011-02-23 2012-09-26 日本电气株式会社 信息处理系统
CN102693209B (zh) * 2011-02-23 2016-12-14 日本电气株式会社 信息处理系统
CN102779183A (zh) * 2012-07-02 2012-11-14 华为技术有限公司 数据查询的方法、设备及系统
CN102779183B (zh) * 2012-07-02 2015-05-27 华为技术有限公司 数据查询的方法、设备及系统
CN103488774A (zh) * 2013-09-29 2014-01-01 贵州省广播电视信息网络股份有限公司 一种用于大数据日志分析的处理方法
CN106164897A (zh) * 2013-12-02 2016-11-23 丘贝斯有限责任公司 用于寄存内存数据库的系统及方法
CN106462575A (zh) * 2013-12-02 2017-02-22 丘贝斯有限责任公司 群集内存数据库的设计及实现
WO2016138614A1 (en) * 2015-03-02 2016-09-09 Microsoft Technology Licensing, Llc Management of database queries against large datasets
CN106233287A (zh) * 2015-03-02 2016-12-14 微软技术许可有限责任公司 对大型数据集的数据库查询的管理
CN106233287B (zh) * 2015-03-02 2019-07-02 微软技术许可有限责任公司 对大型数据集的数据库查询的管理

Also Published As

Publication number Publication date
KR20090035545A (ko) 2009-04-09
JP2009545060A (ja) 2009-12-17
US7624118B2 (en) 2009-11-24
WO2008013632A1 (en) 2008-01-31
TW200820023A (en) 2008-05-01
AU2007277429A1 (en) 2008-01-31
CA2656024A1 (en) 2008-01-31
EP2044536A1 (en) 2009-04-08
US20080027920A1 (en) 2008-01-31
MX2009000589A (es) 2009-01-27
BRPI0714328A2 (pt) 2012-12-25

Similar Documents

Publication Publication Date Title
CN101496012A (zh) 非常大数据库上的数据处理
US10331490B2 (en) Scalable cloud-based time series analysis
Kune et al. The anatomy of big data computing
CN100571281C (zh) 海量数据分级存储方法
US9020802B1 (en) Worldwide distributed architecture model and management
US20140019977A1 (en) System and method for economical migration of legacy applications from mainframe and distributed platforms
US10642610B2 (en) Scalable cloud-based time series analysis
CN110737643B (zh) 一种基于餐饮信息管理系统的大数据分析处理管理中台
US11042549B2 (en) Database server embedded process and code accelerator
Artyom Enabling data driven projects for a modern enterprise
Seay et al. Using hadoop on the mainframe: A big solution for the challenges of big data
CN111708895A (zh) 一种知识图谱系统的构建方法及装置
Kumar et al. Replication-Based Query Management for Resource Allocation Using Hadoop and MapReduce over Big Data
KALAY Database system suggestions for the Internet of Things (IoT) systems
Dhanda Big data storage and analysis
Aivalis Big data technologies
Palmerini On performance of data mining: from algorithms to management systems for data exploration
Taori et al. Big Data Management
Salisu et al. An Efficient Storage Management Analysis forBig Data
Pelekis et al. The case of big mobility data
Dräxler Risikobewertung durch Realtime Datenanalyse mittels Big Data Streaming in AWS Risk assessment through real-time data analysis using Big Data Streaming in AWS
Sharma et al. Supportive architectural analysis for big data
CN117495288A (zh) 一种数据资产全生命周期管理系统及方法
Ma et al. An efficient distributed weather data sharing system based on agent.
Raj et al. Real-Time Analytics Using High-Performance Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090729