oracle横向扩展,PolyBase 横向扩展组

PolyBase 横向扩展组PolyBase scale-out groups

04/23/2019

本文内容

适用于:

719f28649793c602f9270966b5ed5c39.png

SQL Server(仅限 Windows)

0fb8175bdc94aea62328b76308b7d35a.png

Azure SQL 数据库

0fb8175bdc94aea62328b76308b7d35a.png

Azure Synapse Analytics

0fb8175bdc94aea62328b76308b7d35a.png

并行数据仓库

在处理 Hadoop 或 Azure Blob 存储中的大型数据集时,具有 PolyBase 的独立 SQL Server 实例可能成为性能瓶颈。A standalone SQL Server instance with PolyBase can become a performance bottleneck when dealing with massive data sets in Hadoop or Azure Blob Storage. PolyBase 组功能允许你创建 SQL Server 实例的群集来处理来自外部数据源的大型数据集(如 Hadoop 或 Azure Blob 存储),从而通过一种扩展的方式提高查询性能。The PolyBase Group feature allows you to create a cluster of SQL Server instances to process large data sets from external data sources, such as Hadoop or Azure Blob Storage, in a scale-out fashion for better query performance. 现在可以缩放 SQL Server 计算以满足工作负载的性能需求。You can now scale your SQL Server compute to meet the performance demands of your workload. PolyBase 横向扩展组,即 SQL Server 实例组,使你能够处理并行处理体系结构中的大型外部数据集。PolyBase Scale-out Groups, a group of SQL Server instances, enable you to process large external data sets in a parallel processing architecture. 向组添加更多 SQL Server 实例可线性提高数据加载和查询性能。Data loading and query performance can increase linearly as you add more SQL Server instances to the group.

0f42c397e2f3d5f64b1afb8a36410b25.png0f42c397e2f3d5f64b1afb8a36410b25.png

头节点Head node

头节点包含 PolyBase 查询提交到的 SQL Server 实例。The head node contains the SQL Server instance to which PolyBase queries are submitted. 每个 PolyBase 组只能有一个头节点。Each PolyBase group can have only one head node. 头节点是 SQL Server 实例上 SQL Server 数据库引擎、PolyBase 引擎和 PolyBase 数据移动服务的逻辑组。A head node is a logical group of SQL Server Database Engine, PolyBase Engine, and PolyBase Data Movement Service on the SQL Server instance. 使用 SQL Server 2017 和 SQL Server 2016 时,头节点必须是企业版。With SQL Server 2017 and SQL Server 2016, the head node must be an Enterprise Edition. 从 SQL Server 2019 开始,PolyBase 头节点可以是企业版或标准版。Beginning with SQL Server 2019 the PolyBase head node can be either an Enterprise or Standard edition.

计算节点Compute node

计算节点包含协助扩展查询处理外部数据的 SQL Server 实例。A compute node contains the SQL Server instance that assists with scale-out query processing on external data. 计算节点是 SQL Server 和 SQL Server 实例上的 PolyBase 数据移动服务的逻辑组。A compute node is a logical group of SQL Server and the PolyBase data movement service on the SQL Server instance. PolyBase 组可以有多个计算节点。A PolyBase group can have multiple compute nodes. 头节点和计算节点必须都运行相同版本的 SQL Server。The head node and the compute nodes must all run the same version of SQL Server. SQL Server 2016 初始版本允许计算节点为企业版或标准版。The initial release of SQL Server 2016 allowed the compute nodes to be either an Enterprise or Standard edition. 从 SQL Server 2016 SP1 开始,SQL Server 的所有版本都可以作为计算节点。Beginning with SQL Server 2016 SP1, all editions of SQL Server can be a compute node.

横向扩展读取Scale-out Reads

当查询外部 SQL Server、Oracle 或 Teradata 实例,分区表将受益于横向扩展读取。When querying external SQL Server, Oracle or Teradata instances, partitioned tables will benefit from scale-out reads. PolyBase 横向扩展组中的每个节点可启动最多 8 个读取器来读取外部数据。Each node in a PolyBase scale-out group can spin up to 8 readers to read external data. 并且每个读取器被分配到一个分区,以在外部表中读取。And each reader is assigned one partition to read in the external table.

例如,假设你有包含 12 个每月分区和一个 3 节点 PolyBase 横向扩展组的外部 SQL Server 表,每个节点将使用 4 个 PolyBase 读取器来处理这 12 个分区中的每一个。For e.g., let's say you have an external SQL Server table with 12 monthly partitions and a 3-node PolyBase scale-out group, each node will use 4 PolyBase readers to process each of the 12 partitions. 如下图所示。This is illustrated in the image below.

备注

这不同于通过 Hadoop 的横向扩展读取。that this is different from scale-out reads over Hadoop.

b3b02b60b820d0533537c83900e51ca8.pngb3b02b60b820d0533537c83900e51ca8.png

分布式查询处理Distributed query processing

PolyBase 查询会提交到头节点上的 SQL Server。PolyBase queries are submitted to the SQL Server on the head node. 查询中引用外部表的那部分会移交给 PolyBase 引擎。The part of the query that refers to external tables is handed-off to the PolyBase engine.

PolyBase 引擎是 PolyBase 查询背后的关键组件。The PolyBase engine is the key component behind PolyBase queries. 它对外部数据查询进行分析、生成查询计划并将工作分发到计算节点上的数据移动服务以便执行。It parses the query on external data, generates the query plan and distributes the work to the data movement service on the compute nodes for execution. 完成工作后,它将接收来自计算节点的结果,并将其提交给 SQL Server 进行处理并返回到客户端。After completion of the work, it receives the results from the compute nodes and submits them to SQL Server for processing and returning to the client.

PolyBase 数据移动服务接收来自 PolyBase 引擎的指令,并在 HDFS 和 SQL Server 之间以及头节点和计算节点上的 SQL Server 实例之间传输数据。The PolyBase data movement service receives instructions from the PolyBase engine and transfers data between HDFS and SQL Server, and between SQL Server instances on the head and compute nodes.

后续步骤Next steps

若要配置 PolyBase 横向扩展组,请参阅以下指南:To configure a PolyBase scale-out group, see the following guide:

另请参阅See Also

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值