一种解耦合的弹性数据仓库架构制造技术

技术编号:21952233 阅读:30 留言:0更新日期:2019-08-24 17:38
本发明专利技术涉及数据仓库领域,具体涉及一种解耦合的弹性数据仓库架构。包括:数据仓库前端,用于使用PostgreSQL作为数据仓库前端的基础,处理进出数据、提供控制和查询用户界面及管理底层存储;数据仓库后端,用于可扩展和弹性的资源管理、单个或并发查询;分离数据仓库中间件,用于使用Dex协调数据仓库前端和数据仓库后端之间的消息传递和数据传输。通过将数据管理和数据计算功能相分离,以实现独立的可扩展性,探索了云的弹性数据仓库体系结构。数据仓库前端接收数据、管理存储并提供高可用性。数据仓库后端用于数据分析的查询。通过分离数据管理和数据计算,本发明专利技术可以在单一的数据仓库中获得弹性。

A Decoupled Elastic Data Warehouse Architecture

【技术实现步骤摘要】
一种解耦合的弹性数据仓库架构
本专利技术涉及数据仓库领域,具体而言,涉及一种解耦合的弹性数据仓库架构。
技术介绍
随着云在提供共享和管理的IT基础设施方面越来越受欢迎,如今的公司迫切希望将其数据平台资产转移到云上,以减少设备、公用设施和维护支出。将数据仓库移动到云端是当今公司考虑的一种经济高效的数据管理趋势。为了充分实现经济目标,云数据仓库系统应该能够调整其资源配置,以适应不断变化的工作负载需求。然而,传统的数据仓库体系结构不够灵活,不允许按需资源控制,这严重限制了云提供商和用户的优化总成本和保持期望所需的服务质量。数据仓库已经存在几十年了,它的主要架构已经从对称多处理器(SMP)转变为大规模并行处理器(MPP)。然而,云计算和大数据的出现需要一种新的范式变革,这种变革比以前的范式更为紧迫和具有破坏性。目前的MPP数据仓库静态地安装在少数不共享的计算机节点上。这种架构无法利用云的多功能和强大的功能进行计划和资源分配,从而阻碍用户和云提供商实现预期的性能、服务质量和预算控制目标。传统上,由于良好的可扩展性,MPP在数据仓库中得到了普及。但是,这种可扩展性几乎只在安装时提供。在安装之前,工作负载和数据量的类型是非常清楚的。但对于MPP数据仓库,很难支持异构工作负载,计算密集型算法和细粒度资源管理。有了云,现代业务工作流程的波动性质是不可避免的。首先,工作流程必须处理多样化的数据源。传统上,数据仓库设置为分析从内部数据源集成的数据。在云时代,分析数据的可能性越来越大,来自各种各样的应用程序,并且速度差别很大。此外,分析请求由外部客户按需进行。当在短时间内提交大量请求时,系统承受着很大的压力来处理它们。在这种情况下,扩展计算资源的能力对于保证服务质量至关重要。其次,分析将采用更复杂和迭代的算法,这些算法比传统的分析工作负载需要更多的计算能力。数据挖掘和机器学习方面的现代算法已经成功地实现了识别模式和发现商业数据中的有效数据,现代分析使用高级算法来推动应用,例如个性化推荐,欺诈检测和业务决策。因此,数据仓库中将运行比以往更多的CPU密集型工作负载。基于上述观察,可以认为弹性即能够独立自适应地扩展系统组件的能力,是云数据仓库应该支持的主要属性。但是建立一个弹性数据仓库对于当前数据仓库软件设计的限制并不是一个简单的任务,它假设一个对称模型,其中每个节点连接一个本地存储,所有节点都是同构的。在MPP设置中,使用强耦合模型处理系统会对性能产生积极影响。但在云配置中,该软件设计成为性能和成本效益的障碍。为了获得所需的弹性,软件必须支持一定程度的计算和存储分离,以便在工作负载需要时可以添加更多的计算资源。在认识到这一阻碍后,一些数据库供应商已经开始重新设计云计算的数据仓库。AzureSQL数据仓库是MicrosoftAzure云上可用的大规模数据仓库服务。AzureSQL基于MicrosoftSQL服务器,适用于支持关系数据和非关系数据。AzureSQL通过AzureBlob存储服务存储和访问其所有数据。由于物理分离,不仅存储和计算独立,而且计算也可以暂停,以便用户只需为存储付费。
技术实现思路
本专利技术实施例提供了一种解耦合的弹性数据仓库架构,以至少解决现有数据仓库无法将数据管理和数据计算进行分离的技术问题。根据本专利技术的实施例,提供了一种解耦合的弹性数据仓库架构,包括:数据仓库前端,用于使用PostgreSQL作为数据仓库前端的基础,处理进出数据、提供控制和查询用户界面及管理底层存储;其中在管理底层存储中在名为xschema的PostgreSQL扩展中实现所有分片逻辑;数据仓库后端,用于可扩展和弹性的资源管理、单个或并发查询;其中资源分配分两个阶段进行,第一个阶段是在安装时,总资源最初是从云端分配;第二个阶段是在集群设置之后,用户可以在会话启动时传递参数;并使用SparkSQL作为底层查询引擎;分离数据仓库中间件,用于使用Dex协调数据仓库前端和数据仓库后端之间的消息传递和数据传输。进一步地,Dex中间件包括:Dex服务器、PostgreSQL适配器和Spark适配器,并通过Dex通信API运行,Dex通信API提供了一个中间层,其中:PostgreSQL适配器用于转换数据库查询,与Dex服务器通信,然后从后端群集转换返回的响应;Dex服务器用于维护查询上下文,监视会话状态转换并通过Dex通信API提供Dex服务;Spark适配器用于接受并解析Dexrequests,将Dex请求转换为Spark计算任务,一旦响应准备好,就将其发送回Dex服务器。进一步地,Dex互操作是在Dex服务器中围绕DexContext管理的有状态服务,内部工作由PostgreSQL和Spark之间交换的消息驱动;DexContext分别支持单后端和多后端两种设置,对于单后端设置,DexContext通过DexContextAPI代理PostgreSQL后端进程与Spark之间的通信;启动新的会话时,客户端应用程序首先通过向Dex服务器提交连接请求来创建或重用DexContext实例,一旦设置了DexContext,客户端应用程序就可以使用DexContextAPI开始调用服务;DexContext还支持多个后端,当在单个会话中连接多个后端时,Dex服务器引用了Dex上下文管理器,其中的每个会话都将一个DexContext指定给一个后端;PostgreSQL适配器在PostgreSQL扩展中实现,提供Dex通信API接口的客户端库,还包括用于将数据库队列转换为Dex请求以及将结果转换回PostgreSQL数据记录的内部函数;Spark适配器将Dex请求解析为相应的Spark函数,开始执行任务并返回最终结果。进一步地,数据仓库前端处理进出数据中,对于数据集成,选择支持各种数据源,包括本地和网络文件系统、关系数据库和非关系数据库;并通过数据摄取驱动程序来处理特定类型的数据源;数据仓库前端提供控制和查询用户界面中,用户界面继承了SQL语法,并作为系统控制和交互查询的统一门户;数据仓库前端管理底层存储中通过分片控制器在指定的主节点上运行;所有用户数据都存储在数据节点上;系统管理员通过分片注册和释放数据节点,用户为分布式事实表定义分区方案;数据仓库前端管理底层存储中通过分析服务接口供用户在后端启动分析工作负载;并通过在PostgreSQL中重新进行解析和规划。进一步地,数据仓库后端为由软件栈管理的计算机集群,数据仓库层被指定为不同的功能,包括资源分配、任务调度和查询组合。进一步地,在数据仓库后端中对于单个查询,执行效率由查询优化器和执行框架共同决定;对于并发运行的许多查询,总体执行效率要求涉及任务调度程序。进一步地,数据仓库后端使用SparkSQL作为底层查询引擎中,数据仓库后端为特定服务器群集,只有一个由YARN管理的相应Spark安装,连接到同一后端的多个会话是独立维护的;单独的Spark会话由不同的Spark作业提供服务。进一步地,数据仓库有多个Spark集群作为后端;Spark集群具有不同的大小和配置;在Spark集群中,任何会话可以指定自己的资源需求;数据仓库后端的资源管理中将所有后端信息记录在共享目录中,该共享目录存储在PostgreSQL主本文档来自技高网
...

【技术保护点】
1.一种解耦合的弹性数据仓库架构,其特征在于,包括:数据仓库前端,用于使用PostgreSQL作为数据仓库前端的基础,处理进出数据、提供控制和查询用户界面及管理底层存储;其中在管理底层存储中在名为xschema的PostgreSQL扩展中实现所有分片逻辑;数据仓库后端,用于可扩展和弹性的资源管理、单个或并发查询;其中资源分配分两个阶段进行,第一个阶段是在安装时,总资源最初是从云端分配;第二个阶段是在集群设置之后,用户在会话启动时传递参数;并使用Spark SQL作为底层查询引擎;分离数据仓库中间件,用于使用Dex协调数据仓库前端和数据仓库后端之间的消息传递和数据传输。

【技术特征摘要】
1.一种解耦合的弹性数据仓库架构,其特征在于,包括:数据仓库前端,用于使用PostgreSQL作为数据仓库前端的基础,处理进出数据、提供控制和查询用户界面及管理底层存储;其中在管理底层存储中在名为xschema的PostgreSQL扩展中实现所有分片逻辑;数据仓库后端,用于可扩展和弹性的资源管理、单个或并发查询;其中资源分配分两个阶段进行,第一个阶段是在安装时,总资源最初是从云端分配;第二个阶段是在集群设置之后,用户在会话启动时传递参数;并使用SparkSQL作为底层查询引擎;分离数据仓库中间件,用于使用Dex协调数据仓库前端和数据仓库后端之间的消息传递和数据传输。2.根据权利要求1所述的解耦合的弹性数据仓库架构,其特征在于,Dex中间件包括:Dex服务器、PostgreSQL适配器和Spark适配器,并通过Dex通信API运行,Dex通信API提供了一个中间层,其中:PostgreSQL适配器用于转换数据库查询,与Dex服务器通信,然后从后端群集转换返回的响应;Dex服务器用于维护查询上下文,监视会话状态转换并通过Dex通信API提供Dex服务;Spark适配器用于接受并解析Dexrequests,将Dex请求转换为Spark计算任务,一旦响应准备好,就将其发送回Dex服务器。3.根据权利要求2所述的解耦合的弹性数据仓库架构,其特征在于,Dex互操作是在Dex服务器中围绕DexContext管理的有状态服务,内部工作由PostgreSQL和Spark之间交换的消息驱动;DexContext分别支持单后端和多后端两种设置,对于单后端设置,DexContext通过DexContextAPI代理PostgreSQL后端进程与Spark之间的通信;启动新的会话时,客户端应用程序首先通过向Dex服务器提交连接请求来创建或重用DexContext实例,一旦设置了DexContext,客户端应用程序就使用DexContextAPI开始调用服务;DexContext还支持多个后端,当在单个会话中连接多个后端时,Dex服务器引用Dex上下文管理器,其中的每个会话都将一个DexContext指定给一个后端;PostgreSQL适配器在PostgreSQL扩展中实现,提供Dex通信API接口的客户端库,还包括用于将数据库队列转换为Dex请求以及将结果转换回PostgreSQL数据记录的内部函数;Spark适配器将Dex请求解析为相应的Spark函数,开始执行任务并返回最终结果。4.根据权利要求1所述的解耦合的弹性数据仓库架构,其特征在于,数据仓库前端处理进出数据中,对于数据集成,选择支持各种数据源,包括本地和网络文件系统、关系数据库和非关系数据库;并通过数据摄取驱动程序处理特定类型的数据源;数据仓库前端提供控制和查询用户界面,用户界面继承了SQL语法,并作为系统控制和交互查询的统一门户;数...

【专利技术属性】
技术研发人员:伍浩文白童心须成忠
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:广东,44

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

1