Hive表链接的制作方法
【专利说明】
[0001] 相关申请的交叉引用
[0002] 本申请要求于2013年2月13日提交的美国专利申请号13/766,512的优先权,通 过引用将其全部内容结合于此。
技术领域
[0003] 本发明的各种实施方式通常设及多租户数据仓库基础设施。更具体地,本发明的 各种实施方式设及使用多租户数据仓库内的表链接来减少数据复制量的系统和方法。
【背景技术】
[0004] 最广义的数据仓库是包含大量当前和历史数据存储的数据库。在一些情况下,该 数据可从多个数据源(例如,营销数据库、销售数据库、用户数据库W及用于保持最新数据 的其他交易数据库)集成。通常,在数据仓库内组织并且存储数据。例如,在一些情况下, 数据可存储为一系列快照。在其他情况下,可W按照特定的时间间隔(例如,S个月、六个 月、或者更长时间)聚集数据和/或聚集至特定的主题区域中。
[0005] 当从多个数据源集成数据时,数据仓库可提供一致的代码、描述、字段和标记。例 如,假设多个数据源具有用于产品的不同的识别机制,数据仓库可为提供用于该产品的统 一识别机制。在数据仓库中存储的数据也可使用诸如在线分析处理(0LA巧和数据挖掘工 具进行分析。来自运些分析的结果可用于各种商业目的,诸如,生成各种分析W及创建报 告。
[0006] 随着时间,数据仓库可能开始空间不足。一个解决方案是将数据仓库分成更小的 仓库。可W地理分布运些更小的仓库。在一些情况下,每一个更小的数据仓库可设计用于 特定的用户群(例如,团队)或者可承载与特定主题有关的信息。然而,一些用户群或者特 定主题可能需要访问同一数据。仅仅将同一数据复制给每一个更小的仓库是低效的。另一 个解决容量问题的方案是从数据仓库中删除数据。然而,运个数据可能在将来的数据挖掘 或者分析行为是有价值。因此,需要更高效的技术用于管理运些数据仓库内的数据。
【发明内容】
[0007] 描述了用于提供数据仓库内的表链接W减少数据复制量的系统和方法。根据各种 实施方式,可W从分配给多租户数据仓库内的第一虚拟数据仓库(例如,数据库)的租户接 收数据查询。基于该数据查询,可W生成信息集,表明该租户被授权在多租户数据仓库内访 问的数据。然后,租户可W声明租户可访问并且期望利用的数据子集。位于第一虚拟数据仓 库外的、与声明相关的任何数据可W使用识别用于检索该数据的参数集(例如,数据位置、 时间范围等)链接来输入。此外,在一些实施方式中,该链接可仅提供对于第一虚拟数据仓 库W外的数据的只读访问。
[0008] 在一个或多个实施方式中,可能有多个物理数据中屯、并且第一虚拟数据仓库可W 是第一物理数据中屯、的一部分。可W确定由租户声明的数据的子集是否在第二物理数据中 屯、中(例如,在虚拟数据仓库中)。如果该数据位于第二物理数据中屯、处,则在第一物理数 据中屯、中可W缓存来自第二物理数据中屯、的数据。一些实施方式监测对于第一虚拟数据仓 库外部的数据的利用或者访问。可W确定数据的利用是否仅包括来自比链接所提供的访问 的时间范围更小的时间范围的数据。当检测到此时,可W更新链接中的参数集,使得链接仅 检索来自该更小的时间范围的数据。
[0009] 本发明的实施方式也包括计算机可读存储介质,该计算机可读存储介质包含使一 个或多个处理器执行该方法、该方法的变型W及本文中描述的其他操作的指令集。
[0010] 尽管公开了多个实施方式,但是从下面示出并描述了本发明的示例性实施方式的
【具体实施方式】中,仍有本发明的其他实施方式对于本领域技术人员来说将变得显而易见。 如应当认识到,在不完全偏离本发明的范围的情况下,本发明能够在各个方面进行修改。因 此,附图和【具体实施方式】本质上被认为是示例性的而非限制性的。
[0011] 根据本发明的实施方式被具体公开在设及方法、系统和存储介质的所附权利要求 中,其中,在一个权利要求类型(例如,方法)中提到的任何特征也可在另一个权利要求类 型(例如,存储介质)中要求保护。
[0012] 在根据本发明的实施方式中,一种方法,包括:
[0013] 从分配至多租户数据仓库内的第一虚拟数据仓库的租户接收数据查询;
[0014] 基于该数据查询生成信息集,指明该租户被授权访问多租户数据仓库内的数据;
[0015] 从该租户接收利用如信息集所指明的该租户可W访问的数据子集的声明;并且
[0016] 使用识别用于检索在第一虚拟数据仓库外部的数据的参数集链接来输入该数据。
[0017] 第一虚拟数据仓库可W是W下数据库,其是第一物理数据中屯、的一部分。
[0018] 在本发明的实施方式中,该方法进一步可包括:
[0019] 确定数据子集是否在第二物理数据中屯、;并且
[0020] 在第一物理数据中屯、中缓存来自第二物理数据中屯、的数据子集。
[0021] 第一虚拟数据仓库可W是作为多租户数据仓库的一部分的多个数据库之一,并且 该方法可进一步包括将一个或多个租户分配至第一数据仓库中的多个数据库中的每一个。
[0022] 用于检索数据的参数可包括要检索的数据的时间范围。
[0023] 在本发明的实施方式中,该方法可进一步包括:
[0024] 监测在第一虚拟数据仓库外部的数据的利用;
[00巧]确定利用的数据仅包括来自更小时间范围的数据;并且 [00%] 更新参数集,使得该链接仅检索来自该更小时间范围的数据。
[0027] 该链接可提供对于第一虚拟数据仓库外部的数据的只读访问。
[0028] 在本发明的又一实施方式中,一种系统,包括:
[0029] 物理数据仓库,包括分配给第一租户的第一数据库W及分配给第二租户的第二数 据库,其中,第一租户和第二租户允许完全地访问分别存储在第一数据库和第二数据库内 的数据;
[0030] 数据发现模块,从第一租户接收捜索查询并且通过访问与第一数据库和第二数据 库相关的索引来捜索物理数据仓库;
[0031] 链接模块,生成对于物理数据仓库内的第二数据库中的数据子集的链接,W便允 许第一租户具有读取访问该数据子集而无需将该数据子集复制到第一数据库。
[0032] 在本发明的实施方式中,该系统可进一步包括访问控制模块,该访问控制模块可 通信地禪接至数据发现模块并且被配置为确定第一租户被授权访问第二数据库上的哪个 数据。
[0033] 在本发明的实施方式中,该系统可进一步包括租户分配模块,该租户分配模块将 第一租户分配至第一数据库并且将第二租户分配至第二数据库。
[0034] 在本发明的实施方式中,该系统可进一步包括保持管理模块,该保持管理模块利 用保持策略创建第=数据库并且创建服从于该保持策略的、对于物理数据仓库内的数据的 第二链接。
[0035] 在本发明的实施方式中,该系统可进一步包括复制管理模块,该复制管理模块确 定第一租户请求的来自第二物理数据仓库的数据,并且其中,复制管理模块被配置为将所 请求的来自第二物理数据仓库的数据复制到物理数据仓库。
[0036] 物理数据仓库可W是第一物理数据仓库并且该系统可进一步包括第二物理数据 仓库W及传递控制模块,该传递控制模块管理第二数据库到第二物理数据仓库的传递。
[0037] 在本发明的实施方式中,该系统可进一步包括传播模块,W更新由链接模块生成 的链接。
[0038] 在也可要求保护的本发明的又一实施方式中,一种计算机实现的方法,包括:
[0039] 通过创建各自被分配给租户的多个虚拟数据仓库来生成多租户数据仓库,其中, 多个虚拟数据仓库的第一虚拟数据仓库包括对存储在多个虚拟数据仓库的第二虚拟数据 仓库内的数据表的链接,W便允许租户访问该数据表而无需将该数据表从第二虚拟数据仓 库复制到第一虚拟数据仓库;
[0040] 针对会要求链接更新的变化,监测多租户数据仓库内的变化;并且
[0041] 根据在多租户数据仓库内检测到的变化来更新链接。
[0042] 多租户数据仓库内的变化可包括将多个虚拟数据仓库之一传递至第二多租户数 据仓库。
[0043] 至数据表的链接可包括时间帖限制。
[0044] 在本发明的实施方式中,该方法可进一步包括: W45] 监测对于数据表的访问W确定实际使用的数据表的量;并且
[0046] 更新对于数据表的链接W包括对应于实际使用的数据表的量的第二时间帖限制。
[0047] 多租户数据仓库内的变化可包括对于数据表的访问授权的变化并且更新该链接 包括删除该链接。
[0048] 多个虚拟数据仓库可包括经索引的一个或多个数据库,W允许来自多租户数据仓 库的租户对于数据的查询。
[0049] 在本发明的又一实施方式中,一种或多种计算机可读非易失性存储介质,其体现 为软件,当软件被执行时可操作为执行根据本发明或者上述任一个实施方式的方法。
[0050] 在也可W要求保护的本发明的又一实施方式中,一种系统,包括:一个或多个处理 器;W及禪接至处理器的存储器,该存储器包括由处理器可执行的指令,当处理器执行指令 时可操作为执行根据本发明或者上述任一个实施方式的方法。
【附图说明】
[0051] 将通过使用附图描述和说明本发明的实施方式,其中:
[0052] 图1示出了在其中可利用本发明的一些实施方式的多租户数据仓库环境的实例;
[0053] 图2示出了根据本发明的一个或多个实施方式可使用的部件的框图;
[0054] 图3是根据本发明的各种实施方式生成表链接的一组操作的流程图; 阳化5] 图4是根据本发明的一些实施方式的用于在数据仓库环境内检索数据的一组操 作的流程图;
[0056] 图5是根据本发明的各种实施方式的用于传播对于多租户数据仓库内的表链接 的更新的一组操作的流程图;
[0057] 图6是本发明的一些实施方式可利用的社交网络系统的系统架构的框图;W及
[0058] 图7示出了