IBM Big SQL 3.0 新功能系列,第一部分: 大规模并行处理 SQL 引擎(MPP SQL Engine)Big SQL 3.0 介绍

简化并加速大数据的管理与分析,BigInsights 3.0 新特性

本文是 Big SQL 3.0 新功能系列的第一部分,主要介绍了 IBM BigInsights 3.0 新推出的 Big SQL 3.0 的相关功能,IBM Big SQL 3.0 是一个大规模并行处理 SQL 引擎(MPP SQL Engine),可以直接部署在物理的 HDFS 集群上。通过使用一个低延时并行执行基础架构,并将处理操作放在数据所在的节点,Big SQL 3.0 实现了 native 方式的 Hadoop 数据访问,包括读和写操作。

程 永, 大数据顾问, IBM

photo of chengyong程永,在大数据管理、业务分析、数据仓库、数据治理、元数据管理、主数据管理和信息集成等领域具有丰富的经验,在政府、金融、烟草和能源电力等行业支持过许多大型项目,在 IBM 开发者园地(IBM developerWorks)和 IT168 网站等撰写过 41 篇专业文章,并出版过《智慧的分析洞察》和《DB2 V9 权威指南》2 书(电子工业出版社)。



2014 年 8 月 14 日

Big SQL 3.0 介绍

在 Hadoop 中 MapReduce(MR)主要用来执行海量数据的离线批处理操作,并支持查询的大规模扩展和运行时容错。当用户需要进行交互式查询的时候,通常需要秒级甚至毫秒级的响应时间,MR 就很难满足。

由于客户大多数的核心业务系统和分析工具都是基于 SQL 构建的,在 Hadoop 中 SQL 依然是一个重要的选择,即 SQL-on-Hadoop。对存储在 Hadoop 中的数据,IBM Big SQL 提供完整功能的 SQL 查询功能,并提供良好的安全控制和无与伦比的性能。

Big SQL 最早出现在 BigInsights V2.1 中,作为一个新的 SQL 接口允许用户继续使用以前所熟悉的 SQL 技能并将其快速应用到大数据环境中。该 SQL 接口完全支持 SQL 2011 标准,支持存储过程,用户自定义函数,广泛的数据类型,JDBC / ODBC 接口等。在这个版本的 Big SQL 中,SQL Engine 将 SQL 查询发送到 Hadoop 并将查询分解成一系列可以在集群中运行的 MR 作业,同时对较小交互式查询,Big SQL 内嵌的优化器会重写查询,将其变成一个本地作业以便减少延时。Big SQL 充分利用了 Hadoop 的动态调度和运行时容错。

在 BigInsights 3.0 中,IBM Big SQL 的版本升级为 3.0(目前仅仅支持以 Hive 元数据形式存储数据,对 HBase 的兼容还是采用 Big SQL 1.0 技术)。IBM Big SQL 3.0 是一个大规模并行处理 SQL 引擎(MPP SQL Engine),可以直接部署在物理的 HDFS 集群上。通过使用一个低延时并行执行基础架构,并将处理操作放在数据所在的节点,Big SQL 3.0 实现了 native 方式的 Hadoop 数据访问,包括读和写操作。Big SQL 3.0 并行执行基础架构是基于非共享(shared-nothing) 并行数据库架构构建的,数据依然是存储在 HDFS 中(可以帮助保持 Hadoop 的灵活性)。Big SQL 3.0 数据库基础架构提供一个所有数据的逻辑视图(通过 Hive 元数据管理),查询编译视图,以及为最优的 SQL 处理提供优化和运行时环境。针对复杂嵌套的决策支持查询,Big SQL 3.0 专门做了优化处理。

Big SQL 所有的数据都保持原有的格式存储在 Hadoop 集群中,Big SQL 对数据的格式没有特殊的要求,Hadoop 表的定义是由 Hive Metastore 定义和共享的,使用 Hadoop 的标准目录。Big SQL 共享 Hive 接口进行物理读取,写入和理解 Hadoop 中存储的数据。简单的来说,Big SQL 中没有任何的数据存储,数据是存放在 Hadoop 集群中的,在 Big SQL 中定义的表实际上是一个在 Hive 中定义的表。通过 Apache HCatalog,Hive 中定义的表可以作为很多工具的有效数据源。最终,任何 Hadoop 应用程序都可以访问这些大规模共享的分布式文件系统中的简单文件。

Big SQL 3.0 汇集了成熟高效的 IBM SQL 编译器和运行时引擎,通过与 Hive 数据库目录和 I / O 层一起工作,允许用户执行 SQL2011 标准的查询,并保证企业级的性能。通过引入 SQL PL 兼容性,Big SQL 3.0 相比 BigInsights 2.1 中 Big SQL 包含的功能,已经进行了大大的扩展,具体包括存储过程、SQL-bodied 函数和丰富的 scalar 库、表和 OLAP 函数等。Big SQL 3.0 中有一个丰富的内置函数库,包括超过 250 个内置函数和 25 个聚合函数。Big SQL 提供了标准的 SQL PL 语法用来定义全局变量(global variables)和会话变量(session variables),这些变量可以在查询,存储过程以及函数中使用。由于 Big SQL 共享 Hive 的基础架构,因此数据类型方面和 HIVE 一样存在着限制,为了更好的执行 SQL 查询和 routines,Big SQL 额外扩展了一些数据类型如 CLOB、BLOB、 GRAPHIC、TIME、可变长度 TIMESTAMP(n)、CURSOR、XML、关联数组和用户自定义类型等。Big SQL 3.0 通过利用 IBM Data Server 客户端驱动允许用户通过各种常见的连接方式访问,允许用户使用符合标准的 JDBC、JCC、ODBC、CLI、.NET 驱动访问 Big SQL,还允许 DB2 数据库和 IBM Informix 数据库软件访问 Big SQL。通过 Big SQL 3.0 提供的丰富 SQL 功能,很多 BI 工具如 IBM Cognos BI、Microstrategy 和 Tableau 等可以方便地访问 Hadoop 集群中的数据并执行各种处理。Big SQL 程序的查询重写和优化引擎可以保证这些 BI 工具发出的查询尽可能地以最有效的方式执行。通过使用 Big SQL 3.0,用户可以方便的连接 Hadoop、传统数据库平台以及各种 BI 工具等。

Big SQL 3.0 支持多种用户自定义程序(Routines)。Routines 是指在 Big SQL 数据库管理器中可以执行的应用程序逻辑。这些应用程序逻辑允许在数据库内封装和执行,用户可以对这些应用程序逻辑进行细粒度的访问控制。数据库用户可以被授权获准执行 routines 以便访问数据源。Big SQL 支持 Scalar 函数、表函数和存储过程等 routines。Routines 的开发可以使用很多当前流行的编程语言,比如 SQL PL、Java、C / C++和 Mixture 等。

内存管理问题在 Hadoop 生态系统中普遍存在,部分原因是 Hadoop 框架与其他框架相比不太成熟。Big SQL 3.0 引入了内存自调整功能。在安装的时候,用户可以指定 Big SQL 有多少内存可以使用,Big SQL 在执行 SQL 查询的时候会将内存开支限定在分配的内存上限。当然,在实际使用过程中,用户也可以手动修改 Big SQL 可以使用的内存上限。内存自调整功能主要包括两方面内容:有效地使用内存和防止内存溢出异常。这在多个并发运行的应用时特别重要。在查询期间,Big SQL 3.0 通过资源的负载均衡自动实现并行工作负载的管理。另外,Big SQL 引擎还可以通过将数据集 spill 到本地磁盘,允许数据集超越可用内存上限,这点和 Impala 不同。在 Impala 中,假如在某一节点上处理中间结果集所需的内存超出了这一节点上 Impala 可用的内存,查询会被取消。用户可以调整每一节点上 Impala 的可用内存,也可以对最大的查询微调连接策略来减少内存需求。同时在 Impala 中,使用内存的大小并不是跟输入数据集的大小直接相关,对于聚合来说,使用的内存跟分组后的行数有关,对于连接来说,使用的内存与除了最大的表之外其他所有表的大小相关,并且 Impala 可以采用在每个节点之间拆分大的连接表而不是把整个表都传输到每个节点的连接策略。相比 Impala 对数据集不能超越可用内存的限制,Big SQL 通过缓冲池页清除技术允许将数据集 spill 到本地磁盘,从而使数据集可以超越可用内存上限进行计算,大大地帮助用户更方便、更快速的执行各种复杂查询以及提升查询的性能。

Big SQL 3.0 引入了完整的工作负载管理(Workload Managment)工具以便对不同类型的并发查询提供完整控制。通过工作负载管理,用户可以更深入地洞察系统的运行情况并更好地控制资源和性能,比如可以对一些非核心的业务对其能够获取的资源进行一定的限制,对一些流氓查询进行禁止,对一些重要的查询提高优先级等。当系统运行处于峰值时,增加的查询活动会影响系统的性能,通过使用工作负载管理,我们可以预先确定适当的资源分配、活动的优先级划分和排队选项来高效地处理工作,从而可以平滑高峰工作负载。在您定义这些指示后,Big SQL 使用它们来分配资源和划分工作的优先级。例如,您可以使工作远离流氓查询的影响,这些查询使用过量的系统资源,因此会对系统上运行的其他查询带来负面影响并可能会影响整个系统。

为了扩充 Hadoop 集群的数据移动能力,Big SQL 提供 LOAD 语句以方便熟悉 SQL 语句的用户进行数据移动操作。数据加载进程将在集群中多个节点并行执行。用户可以使用 LOAD 命令将 flat-file 数据装载到 Big SQL 中,SQL LOAD HADOOP 语句允许从外部数据源导入数据(通过标准的 JDBC 驱动),比如:

LOAD HADOOP
USING JDBC CONNECTION
URL ‘ jdbc:db2://localhost:50000/SAMPLE ’
WITH PARAMETERS (
user = ‘ db2inst1 ’,
password = ’ passw0rd ’ )
FROM SQL QUERY
‘ SELECT * FROM GO_BRANCH_DIM WHERE BRANCH_CODE > 20 ’
SPLIT COLUMN ID
INTO TABLE H_GO_BRANCH_DIM
APPEND

Big SQL 在安全方面采用两层验证机制,第一层被称为身份验证(Authentication),主要是指通过一个系统验证用户身份的过程,是由 Big SQL 以外的设施负责的;第二层被称为存取控制授权(Access Control Authorization),当用户身份验证通过后,Big SQL 决定该用户是否可以访问数据或资源,也就是验证用户有没有执行具体操作的权限。

  • 默认的身份验证插件模块依赖于操作系统本身的身份验证,另外,Big SQL 还支持 keberos 和轻量目录访问协议 (LDAP) 等方式的身份验证。在身份验证方面,Big SQL 提供了非常大的灵活性,用户可以根据实际需要选择合适的身份验证模式。
  • 当用户通过身份验证后尝试访问数据时,Big SQL 将对以下内容进行比较:
  • 用户所拥有的权限名称;
  • 用户所属的组是什么;
  • 直接授予用户的角色或通过组/角色间接授予的角色。

比较结束后,Big SQL 服务器决定是否允许所请求的访问权限。特权(privilege)为一个授权(authorization)名称定义了一个单一许可(permission),用来允许用户创建或访问 Big SQL 资源。特权是存储在 Big SQL 目录中的。一个角色是由一个或一组特权组合在一起的对象,可以使用 GRANT 语句将其分配给用户、组、PUBLIC 或者其他角色等,Big SQL 对象的访问许可是和角色相关联的。用户可以通过角色获得授予给角色的特权,以便访问对象。

需要注意的是,Big SQL 中新增了一个概念是基于标签的访问控制(LBAC),它允许以更细的粒度控制谁有权访问单独的行和/或列。

在 Big SQL 3.0 中包含了联邦(Federation)的支持,可以对很多数据源如 DB2、Oracle、Teradata、IBM PureData System for Analytics(PDA)、IBM PureData System for Operational Analytics(PDOA) 等进行联邦访问。联邦功能允许用户在同一个 SQL 语句内给各个关系型数据源发送分布式的请求。对终端用户和客户端程序来说,各个数据源在 Big SQL 服务器中将作为一个个单独的集合组出现。用户和应用程序可以通过 Big SQL 服务器访问这些数据源中的数据。在 Big SQL 服务器中包含一个系统目录用来存储 Big SQL 可以访问数据的信息。在系统目录中,将包含用来标示数据源和数据源特征的各种记录。Big SQL 使用包装器(wrapper)与各个数据源进行交互。包装器在使用之前需要注册其要访问的数据源的类型,Big SQL 将咨询存储在目录中的信息以及包装器,以决定执行 SQL 语句的最佳方案。通过 Big SQL 联邦功能,屏蔽了下层数据源间的差异,从逻辑上看,就如同都在 Big SQL 服务器内部一样,可以灵活的访问。当 Big SQL 访问各个数据源的数据时就如同访问 Big SQL 服务器中的本地表或视图一样。

为了方便用户管理敏感数据,Big SQL 提供审计设施帮助用户监控数据的访问。通过对非法数据访问的监控,可以帮助用户提高数据访问控制的水平,并阻止恶意或粗心的未授权访问。通过对应用和每个用户访问进行监控,Big SQL 会创建一个系统活动的历史记录。Big SQL 审计设施会为一些列的预定义事件生成审计线索,并允许用户维护这些线索。这些审计记录由审计设施生成并被保存在一个审计日志文件中,通过对这些审计记录的分析可以揭示出很多有用的模式(patterns)。这些模式可以帮助用户识别系统的误用,随后用户可以采取行动减少或消除系统的误用。Big SQL 审计记录有很多种类,比如包括(但不限于)以下种类:

  • 当审计设置发生更改或审计日志被访问时;
  • 当用户尝试访问或操作 Big SQL 对象或函数,Big SQL 进行授权检查时;
  • 当创建或移除数据对象以及改变某些对象时;
  • 当授权或取消对象特权时;
  • 当改变组授权或角色授权时;
  • 当对用户进行认证或检索系统安全信息时;
  • 当 SQL 语句执行期间。

对于以上的审计类别,用户可以审计失败,成功或者两者都有。Big SQL 服务器上的任何操作都有可能产生多条记录。审计日志实际产生的数量取决于要监控的事件种类数量,以及审计成功、失败或者两者都审计。

Big SQL 即可以运行在 POWER Linux (Red Hat) 上,也可以运行在 x64 Linux 上如 Red Hat 和 SUSE Linux。


Big SQL 3.0 体系结构

图 1. Big SQL 3.0 体系结构
图 1. Big SQL 3.0 体系结构

如图 1 所示,Big SQL 3.0 在部署时上主要分为头节点(HeadNode)和工作节点(Worker Nodes)。在头节点(HeadNode)上通常包含 SQL 协调器(SQL Coordinator)、目录(Catalog)和调度器(Scheduler)等组件,在工作节点(Worker Nodes)上除了 Big SQL 必要的执行组件外,还包含与 Hadoop 集群中存储的数据进行沟通的 HDFS Reader / Writer 组件。通常 Big SQL 头节点(HeadNode)需要放在一台专门的机器上,主服务(master service)工作负载通常比工作节点重,在一个专门的节点上运行主服务可以避免出现与工作节点或其他服务争抢系统资源现象,从而提升性能。

Big SQL 3.0 利用 Apache Hive 数据库目录进行对输入文件进行表定义、定位、存储格式编码等,也就是说 Big SQL 3.0 对表的创建或者 Load 操作等没有强制约束。在 Hadoop 集群中,数据由 Hive Metastore 定义,Big SQL 可以通过访问 Hive Metastore 获取元数据,从而轻松地访问 Hadoop 集群中的这些数据。为了方便访问以及加速查询速度,部分 Hive 目录的元数据将在 Big SQL 中进行本地存储,这些元数据会存放在 HeadNode 上,被称作 Big SQL 目录(Catalog)。在 Big SQL 对 SQL 语句进行编译和优化时将会对 Big SQL 目录进行本地访问。

在图 1 中,调度器(Scheduler)是 Big SQL 3.0 中负责调度服务的一个基础组件,用来联络 SQL 和 Hadoop 两个世界,其主要提供以下服务:

  • Hive Metastore 接口

当对查询语句进行编译和优化时,Big SQL 目录需要一些基本信息如列名,数据类型等。当获取到数据的物理信息以及相关的统计信息时,Big SQL 可以对查询语句做进一步的优化处理。Big SQL 引擎在 SQL 执行的不同阶段会联系调度器(Scheduler)下推或获取最新的元数据。

  • 分区消除(Partition Elimination)

Big SQL 3.0 支持 Hive 分区表,编译器会将谓词下至到调度器(scheduler),由调度器消除与特定查询无关的分区。

  • 工作调度

调度器中维护了 Hadoop 集群中数据存储的相关信息,Big SQL 将使用这些信息来保证查询得到快速响应,也就是说,Big SQL 需要尽可能的接近数据。在传统的 shared-nothing 体系结构中,编译优化器的一个任务就是为查询语句确定需要参与的节点,这通常通过对数据分区的控制实现。在 Big SQL 3.0 中,由于数据存放在 Hadoop 集群中(而不是由数据库引擎控制),Big SQL 没有任何数据库风格的分区。作为替代,Big SQL 支持分散或者动态分区的概念,不会假定哪些节点参与计算。允许 Big SQL 不仅仅将工作分配给数据所在的节点,还可以为查询计划分配考虑工作节点的负载以及其他一些 hints。

如图 2 所示,用户的 SQL 请求将首先被路由到协调器所在节点,在这里 SQL 语句将被编译和优化,并生成一个并行执行的查询计划,编译过程中协调器将会与 Big SQL 目录(Catalog)进行沟通,同时 Big SQL 目录(Catalog)还会在不同阶段联系 Hive MetaStore 获取或下推 Hadoop 元数据。当协调器生成查询计划后,运行时引擎会将并行查询计划分发到各个工作节点(worker nodes),由各个工作节点并行执行将结果集返回给协调节点并最终返回给用户。Big SQL 3.0 不需要在每个 HDFS 数据节点进行部署,可以作为一个子集部署到 Hadoop 集群中。当一个工作节点收到一个查询计划时,其会分配特定的进程本地读取和写 HDFS 数据。Big SQL 3.0 可以利用本地(native)和基于开源的 Java readers / writers 摄取不同格式的文件。为了提升性能,Big SQL 引擎会下放谓词给这些特定的进程,从而可以使投影和选择更贴近数据。这些特定进程的另一个关键任务是将输入数据转换成 Big SQL 中合适的使用格式。这些转换操作允许将中间数据装入到 Big SQL 引擎内存中进行额外的处理。通过利用各种内存缓冲池,Big SQL 3.0 可以对优化查询和效用驱动处理。除了分布式 MPP 处理,每个工作节点还会进一步在 Big SQL 引擎和 HDFS 端进行并行处理。每个查询会基于可用的资源,由 Big SQL 3.0 动态的自动决定查询内并行性。

图 2. Big SQL 3.0 语句执行示例
图 2. Big SQL 3.0 语句执行示例

Big SQL 3.0 容错机制

由于 Big SQL 自己并不存储数据,而是将数据放在 Hadoop 集群中,因此数据的容错是由 Hadoop 来保证的。Big SQL 3.0 的元数据是采用 Hive 的 MetadtaStore(默认存储在 DB2 数据库中),元数据的高可用可以通过 DB2 HADR 来实现,或者通过将 DB2 数据库部署在共享目录以 DB2 HA 的方式实现。

Big SQL 3.0 会自动维护工作节点的状态。这些信息以及由协调器驱动的分散/动态分区(scattered / dynamic partitioning),使系统可以只在那些在线且正常运行的节点上执行分布式查询。如果一个或多个节点崩溃,或者用户想将某些节点进行脱机运维,Big SQL 可以使用这些信息自动透明地重新分配新的查询。这同样适用于集群拓扑结构发生变化的情况,用户可以在线增加或者移除工作节点,调度器会实时监测到这些变化。

当工作节点崩溃时,Big SQL 将会协调 Hadoop 内部复制机制来保证数据的可用性。如果工作节点发生软件错误,故障监控将会重启工作节点。如果在 SQL 查询过程检测到节点失败,SQL 查询将失败并返回错误(因为检测到一个系统错误当前事务被回滚)给用户。用户可以重新提交查询,这些查询将被重新定向到可用的工作节点上运行。


Big SQL 3.0 查询优化

Big SQL 是构建在 IBM 在关系型数据的丰富经验基础之上的,用户可以基于 Big SQL 使用各种丰富的 SQL 功能。Big SQL 查询优化主要具有两种方式:查询重写(query rewrites)和查询计划优化(query plan optimization)。查询计划优化决定很多事情如访问表的顺序优化,使查询更有效的连接策略等。在查询计划优化发生之前,需要先执行查询重写优化。

  • Big SQL 3.0 通过查询重写机制(query rewrites)自动决定一个查询的优化方法以便减少查询所需的资源,比如如果相同的表达式在同一个查询中出现多次,查询该表达式将只计算一次并会在多个地方重用该结果值。甚至如果查询中多次引用相同的表,则只对该表进行一次扫描以满足所有引用请求。Big SQL 查询重写引擎由超过 140 个不同的重写规则构成,比如 Big SQL 子查询优化 (子查询是 Hadoop 连接处理的难点,在 Hadoop 集群中,数据随机分散在各个节点,索引通常不可用,执行嵌套循环连接(nested loop joins)成本会变的非常高昂。这就是为什么查询重写机制会尝试别的方法表达一个子查询。)、共享聚和(Shared aggregation,一个查询涉及多个聚合时,可以通过将这些聚合联合在一起节省资源)和 distinct elimination 等。
  • 谓词下推(Predicate pushdown):Big SQL 会尽可能的将静态参数谓词下推以便尽可能的靠近数据处理所在的位置(事实上,如图 2 所示,谓词可以一路下推到从磁盘进行数据的物理读)。
  • 统计信息驱动优化(Statistics-driven optimization):Big SQL 3.0 具有基于统计信息驱动的优化机制,Big SQL 通过维护表级别、分区级别和列级别的丰富统计信息集合,可以帮助查询优化器优化查询计划,支持 Nested loop join / Sort-merge join / Hash join 等。当评估查询执行计划时,Big SQL 除了会关注查询中每个表对象级别的统计信息可用性,还会考虑查询中每个 operator 产生的行的数量、每个 operator 的 CPU、I / O 和内存成本,各个节点间的通信成本(包括 hadoop 集群和联邦环境)。统计信息驱动优化的目的是生成一个查询计划,在尽量减少执行时间的同时最大化的减少整体资源消耗。

测试环境虚拟机下载

用户可以直接下载已经安装好 BigInsights 3.0 的虚拟机:BigInsights 3.0 虚拟机

图 3. BigInsights 3.0 虚拟机选择
图 3. BigInsights 3.0 虚拟机选择

如图 3 所示,使用免费注册的用户名和密码登陆后,可以选择单机版的 InfoSphere BigInsights Quick Start Edition V3.0 (single node ONLY VMware Image),也可以选择集群版的注册后可以选择单机版,也可以选择集群版 InfoSphere BigInsights Quick Start Edition V3.0 (Cluster capable VMware Image)。比如我们选择单机版后,进入到如图 4 所示页面,可以选择想下载的虚机格式,其中 Readme for InfoSphere BigInsights Quick Start Edition VMware Images iibi30_QuickStart_VM_readme.pdf 是虚拟机的使用向导。下载完成后需要进行解压缩,确保 VMWare Workstation 可以打开该虚拟机。

图 4. BigInsights 3.0 虚拟机下载
图 4. BigInsights 3.0 虚拟机下载

结束语

本文主要介绍了 Big SQL 3.0 的新特性和相关优势,IBM Big SQL 3.0 作为一个大规模并行处理 SQL 引擎(MPP SQL Engine),可以直接部署在物理的 HDFS 集群上。通过使用一个低延时并行执行基础架构,并将处理操作放在数据所在的节点,Big SQL 3.0 实现了 native 方式的 Hadoop 数据访问,包括读和写操作。Big SQL 3.0 具有以下优势:

  • 支持 ANSI 2011 SQL standard 以及 SQL OLAP 函数。
  • 包含了联邦(Federation)的支持,可以对很多数据源如 DB2、Oracle、Teradata、PDA、 PDOA 等进行联邦访问。联邦功能允许用户在同一个 SQL 语句内给各个关系型数据源发送分布式的请求。
  • 工作节点允许将大的数据集 spill 到磁盘,允许 Big SQL 处理超过最大可用内存大小的数据结果集。
  • 具有基于统计信息驱动的优化机制,Big SQL 通过维护表级别、分区级别和列级别的丰富统计信息集合,可以帮助查询优化器优化查询计划,支持 Nested loop join/Sort-merge join/Hash join 等。
  • 通过查询重写机制(query rewrites)自动决定一个查询的优化方法以便减少查询所需的资源,比如如果相同的表达式在同一个查询中出现多次,查询将只计算该表达式一次并会在多个地方重用该结果值。甚至如果查询多次引用相同的表,则只对该表进行一次扫描满足所有引用需求。

在本系列文章的下一部分中将重点介绍安装 IBM InfoSphere BigInsights 3.0 前集群环境应该如何初始化,以及 BigInsights 3.0 的详细安装步骤等内容。

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 中文社区,查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=980332
ArticleTitle=IBM Big SQL 3.0 新功能系列,第一部分: 大规模并行处理 SQL 引擎(MPP SQL Engine)Big SQL 3.0 介绍
publish-date=08142014