SAP HANA系统由多个独立的数据库组成,可以由一台主机或 由多个主机组成的集群。
SAP HANA 系统由单个系统 ID (SID) 标识,并包含 一个或多个租户数据库和一个系统数据库。数据库由 SID 标识 和数据库名称。从管理的角度来看,两者之间存在区别 在系统级别执行的任务和在数据库级别执行的任务。数据库客户端, 例如SAP HANA驾驶舱,连接到特定的数据库。
SAP HANA XS 高级应用程序服务器是 SAP HANA 之上的一个层 它提供了用于运行基于 SAP HANA 的 Web 应用程序的平台。这是一个 SAP HANA系统的组成部分。
一个系统可以由一个主机组成,也可以由多个主机组成的集群组成。这称为多主机、分布式系统或横向扩展系统,以及 支持可伸缩性和可用性。
租户数据库的服务器体系结构
SAP HANA数据库由多个服务器组成,例如名称服务器、索引 服务器、预处理器服务器等。SAP HANA 系统中的数据库运行方式不同 这些服务器的组合。最重要的服务器是索引服务器。它包含 实际数据存储和用于处理数据的引擎,并在每个租户中运行 数据库。
只有系统数据库运行名称服务器。名称服务器包含 有关整个系统的横视图信息,包括哪些租户数据库 存在。它还为系统数据库提供索引服务器功能。名称 服务器不拥有有关表和表分区位置的信息 租户数据库。与数据库相关的信息存储在相关的租户数据库中 目录。
租户数据库只需要自己的索引服务器。不这样做的服务器 在系统上运行的持久化数据(如编译服务器和预处理器服务器) 数据库并为所有数据库提供服务。
注意
有关所有 SAP HANA 服务器的完整列表和说明,请参阅 SAP HANA 数据库。
下图显示了一个具有三个数据库(系统数据库和三个 租户数据库)。
具有租户数据库的单主机 SAP HANA 系统
注意
如果 SAP HANA XS 经典服务器可用,它将在 (master) 索引中嵌入运行 默认情况下,租户数据库的服务器,尽管它可以作为单独的服务添加 如有必要。SAP Web Dispatcher,作为单独的 系统数据库主机上的数据库服务,用于路由传入的 HTTP 基于虚拟主机名从客户端向正确的 XS 经典服务器发出的请求。这 是网络配置的一部分。除了系统内部 Web Dispatcher 之外,您 可以实现用于负载分配的外部 Web 调度程序。请参阅有关使用 用于与租户数据库进行负载平衡的 SAP Web Dispatcher。
租户数据库
SAP HANA 支持单个 SAP HANA 系统中的多个独立数据库。这些是 称为租户数据库。
SAP HANA 系统能够包含多个租户 数据库。
一个系统总是只有一个系统数据库,用于中央系统 管理,以及任意数量的租户数据库(包括零)。An SAP HANA 系统由单个系统 ID (SID) 标识。数据库由 SID 标识 和数据库名称。从管理的角度来看,这是有区别的 在系统级别执行的任务和在数据库级别执行的任务之间。 数据库客户端(如 SAP HANA 主控室)连接到特定数据库。
所有数据库共享相同的数据库系统软件安装,相同 计算资源,以及相同的系统管理。但是,每个数据库都是 自给自足,完全隔离,有自己的:
- 数据库用户集
- 数据库目录
- 存储 库
- 坚持
- 备份
- 跟踪和日志
尽管数据库对象(如架构、表、视图、过程等)是 本地数据库,可以进行跨数据库 SELECT 查询。这支持 例如,跨应用程序报告。
系统数据库
系统数据库是在安装或从 从单容器系统到租户数据库系统。系统数据库包含 有关整个系统及其所有租户数据库的信息。它用于 中央系统管理。
一个系统只有一个系统数据库。它包含系统的数据和用户 管理。系统管理工具,如 SAP HANA 驾驶舱,可以连接到这个 数据库。系统数据库存储整个系统态势信息,包括 了解系统中存在的租户数据库。但是,它不拥有 与数据库相关的拓扑信息,即有关表位置的信息 和数据库中的表分区。与数据库相关的拓扑信息存储在 相关的租户数据库目录。
在系统数据库中执行的管理任务适用于整个系统,并且所有 其数据库(例如,系统级配置设置),或者可以针对特定 租户数据库(例如,租户数据库的备份)。有关详细信息,请参阅租户数据库的管理。
关于系统数据库的注意事项
- 系统数据库不具有与租户相同的功能 数据库。
- 系统数据库不是完全支持 SQL 的数据库。
- 系统数据库不能分布在多个主机上,换句话说, 无法横向扩展。
- 如果您需要一个功能齐全的 SAP HANA 数据库,则始终必须在以下位置创建 至少一个租户数据库。
- 系统数据库不支持应用程序函数库 (AFL) 和 SAP liveCache 应用程序。
- 无法在系统数据库和租户数据库之间进行跨数据库访问。这 系统数据库可以显示来自租户数据库的监控数据(在 架构 SYS_DATABASES),但永远无法显示租户的实际内容 数据库。
- 无法将系统数据库复制或移动到其他主机。
- SAP HANA 选项只能在租户数据库中运行。
- 无法在系统数据库中设置特定于租户的配置。仅全局设置 是允许的。
- 只能在租户的高级级别限制或禁用功能 数据库。
租户数据库的管理
在SAP HANA系统中,在以下位置执行的管理任务是有区别的 系统级别和在数据库级别执行的操作。
系统管理与数据库管理
租户数据库系统具有两个管理级别。
某些管理任务在系统数据库中执行,并全局应用于 系统及其所有数据库。例如,它们包括:
- 启动和停止整个系统
- 监控系统
- 在系统级配置 (*ini) 文件中配置参数
- 设置和配置租户数据库,例如:
- 创建和删除租户数据库
- 禁用租户数据库的功能
- 在配置中配置特定于系统和数据库的参数 (*ini) 文件
- 通过添加服务横向扩展租户数据库
- 备份租户数据库
- 恢复租户数据库
某些管理任务在租户数据库中执行,并且仅适用于租户数据库 数据库。例如,它们包括:
- 监视数据库
- 预配数据库用户
- 在数据库中创建和删除架构、表和索引
- 备份数据库
- 在配置 (*ini) 文件中配置特定于数据库的参数
管理工具
有多种工具可用于管理 SAP HANA。虽然所有工具都支持 数据库级管理、租户数据库的系统级管理 需要 SAP HANA 驾驶舱 (for 例如,监视租户数据库的可用性,创建和删除租户 数据库)。
SAP HANA XS 高级运行时平台的服务器架构
SAP HANA 扩展应用程序服务,高级模型 (XS Advanced)为开发和执行提供了一个全面的平台 面向微服务的应用程序,利用 SAP HANA 的内存架构 和并行执行功能。
关于SAP HANA XS Advanced
SAP HANA XS advanced 提供了一组丰富的嵌入式服务,可 为基于 Web 的应用程序(包括轻量级 Web)提供端到端支持 服务器、持久性服务和可配置的身份提供程序。此外 该平台支持多语言应用程序开发,其核心集 例如,被接受为行业标准的预部署运行时node.js 或 JavaEE。
尽管内置运行时带有一流的开发 和监控支持,该平台具有开放式架构,允许您添加 自定义运行时。这种高度的灵活性使得您必须将强大的 关注安全概念,而不仅仅是在配置和设置 基础设施,也贯穿整个操作系统。
体系结构概述
如下图所示,基本系统 架构具有经典的 3 层方法:
整个SAP HANA系统和SAP HANA系统之间是有区别的。 SAP HANA XS 高级应用服务器。SAP HANA系统是指整个 SAP HANA平台是集成解决方案的一部分。SAP HANA XS 高级版 Application Server 仅将运行时平台描述为 溶液。SAP HANA 系统的所有服务共享相同的系统标识符 (即实例号和 SID),并由 hdbdaemon 服务控制。
第三层以 SAP HANA 数据库为代表,提供持久性 服务,即数据存储。相比之下,应用程序服务器组件 中间层负责部署、运行和监视 应用。大多数与安全相关的功能,例如身份验证、授权、 审计主要在此层中强制执行。最终用户在客户端上交互 包含由身份提供者身份验证的系统或业务用户的图层 (IdP),默认情况下是 SAP HANA 用户管理。但是,服务器 组件和应用程序本身只能通过以下方式访问 SAP HANA 数据库 平台隐式生成的技术数据库用户。直接访问 该数据库仅用于数据库管理和监视 目的。
下图提供了 XS高级应用服务器的技术系统环境。所有相关 应用程序服务器层使用的组件和存储器以 灰色背景。
XS 高级应用程序服务器依赖于以下 SAP 有助于集成平台解决方案的 HANA 服务:
- xscontroller(控制器、文件系统 代理、平台路由器)
- xsexecagent (执行代理)
- xsuaaserver(UAA、UAA 代理和 SAP HANA 服务 经纪人)
XS Advanced Runtime 的管理
有许多管理工具可用于维护 并管理 XS 高级运行时环境的各种组件。为 有关详细信息,请参阅维护 SAP HANA XS 高级模型运行部分 时间。
多主机(分布式)系统
出于可伸缩性的原因,SAP HANA 系统可以分布在多个主机上 和可用性。
多主机或分布式 SAP HANA 系统是 安装在多个主机上。否则,它是单主机系统。
安装在多个主机上的 SAP HANA 系统由单个系统 ID (SID) 标识。 从管理员的角度来看,它被视为一个单元,可以安装, 更新、启动或关闭整个系统。不同的数据库 系统共享相同的元数据,来自客户端应用程序的请求可以是 透明调度。
将系统分布在多个主机上的主要原因是横向扩展。多主机系统可以克服硬件问题 单个物理服务器的局限性,并且可以在多个物理服务器之间分配负载 服务器。分发系统还支持故障转移。一个或多个 可以将主机配置为在待机模式下工作,以便在活动主机发生故障时, 备用主机会自动取而代之。备用主机上的索引服务器不这样做 包含任何数据,并且不接收任何请求。
有关主机的详细信息,包括主机角色、故障转移配置和存储 选项,请参阅《SAP HANA Server 安装和更新指南》。
分发数据
在多主机系统中,每个索引服务器通常分配给其自己的主机,以最大 性能。SAP HANA 支持在 主机:
- 可以将不同的表分配给不同的索引服务器。
- 可以对表进行拆分或分区,使表的不同行 存储在不同的索引服务器上
- 一个表可以复制到多个索引服务器,以便更好地查询和联接 性能。
创建新表或分区时,数据将通过 系统。默认情况下,使用“循环”分布方法,但表也可以 通过使用表放置规则或指定主机和端口号进行定位 在 location 子句中使用 SQL CREATE TABLE 语句;这给出了完整的 控制单个表的位置。
特定应用程序可能具有预定义的表分布规则,在某些情况下 SAP Notes 中提供了配置文件和文档,可帮助您设置 提高必要的分区和表放置规则。
有关更多信息,请参阅有关表放置、表分区和 表复制。
分布式执行
数据库客户端可以将其请求发送到任何主机上的任何索引服务器 分布式系统。如果联系的索引服务器不拥有所有数据 涉及,它将某些操作的执行委托给其他索引服务器, 收集结果,并将其返回到数据库客户端。SAP HANA 客户端 库支持负载平衡,并通过选择 基于负载数据的连接和基于以下信息的路由语句 数据的位置。
租户数据库的横向扩展体系结构
租户数据库可以分布在多主机中的多个主机上 系统。
为了确保系统可用性,系统数据库的实例在所有主机(worker 和 standby) 在单个主站和多个工作线程配置中。租户数据库可以是 在辅助角色主机上创建的数据库和现有数据库可以通过添加 服务业。如果主机发生故障,备用实例将对所有活动数据库进行故障转移,并且 他们的服务。与在单主机系统中一样,故障主机的主候选主机是 确定。如有必要,将在该主机上重新启动系统数据库。最多三个 主机可以配置为充当系统的主主机。这三个主机可以是 在客户端中设置数据库名称,以便重新连接到租户数据库 如果主机使用系统数据库自动故障转移主主机。
下图显示了分布了三个租户数据库的租户数据库系统 跨三个主机。租户数据库 DB1 在主机 1 上只有一个索引服务器,而 DB2 和 DB3 分布在多个主机上。例如,租户数据库 DB2 是 分为三个数据库分片,每个分片都有自己的索引服务器 在另一台主机上。在这种情况下,数据库分片是所有表的并集, 驻留在一个索引服务器上的一个数据库的分区和副本。租户数据库 DB3 由两个分片组成,一个位于主机 2 上,另一个位于主机 3 上。系统管理员可以 在创建租户数据库时指定主机,也可以让 SAP HANA 选择 基于负载平衡算法的适当主机。
横向扩展建议
使用租户数据库规划 SAP HANA 部署时,存在各种选项 关于纵向扩展与横向扩展。
通常,纵向扩展比横向扩展具有一些性能优势,因为内存 访问是本地的,与节点间网络通信相关的开销很小 被避免。
关于横向扩展,请注意以下事项:
- 可以在多个主机之间分发租户数据库 横向扩展系统。
- 分发租户数据库的主要原因通常是它们的大小 大于单个主机的容量。但是,其他原因 分发租户数据库可能存在,例如,大型 SAP 业务 仓库 (BW) 系统需要根据其 大小调整规则。
- 如果租户数据库由于大小调整要求而以横向扩展配置分布, 在同一主机上部署其他租户数据库时,建议谨慎行事 作为分布式租户数据库分片。基本原理是这样的:工作负载 分布式方案可能有些不稳定且难以预测。因此 在许多情况下,将主机的最大资源专用化可能是有利的 到分布式租户数据库分片,以维护预期的 性能。
- 在某些情况下,多个分布式租户数据库分片可能共享同一主机。 在这些情况下,为了将最大的资源专用于主节点( 性能原因),建议避免部署其他租户数据库 在主节点上。例如,以下部署应提供 性能优势:
- 主机 1:租户数据库 1 的主机
- 主机 2:租户数据库 1 的工作线程和租户数据库的工作线程 2
- 主机 3:租户数据库 2 的主机
- 主机 4:用于故障切换的备用主机
SAP HANA XS 高级运行时平台的横向扩展架构
包含 SAP HANA XS 高级运行时的多主机系统可以灵活地 配置为优化负载平衡并支持故障转移。
在安装具有 SAP HANA XS 高级版的多主机系统期间,其他 为 XS Advanced 分配了主机角色。默认情况下,所有工作主机都配置为 充当 XS worker 主机;也就是说,他们还被分配了角色xs_worker。但是,也可以 在安装过程中为 XS Advanced 配置专用主机。
下图显示了具有两个专用 XS 主机和一个 XS 主机的多主机系统 共享主机。
具有专用 XS 工作器主机和共享主机的多主机系统
此外,XS 高级运行时可以在反向代理(例如,加载)后面设置 平衡器)。有关更多信息,请参见有关安装 XS 高级运行时的部分 在《SAP HANA Server 安装和更新指南》中。
故障转移配置
SAP HANA XS advanced集成到SAP HANA的标准故障转移机制中: 如果 工作主机发生故障,备用主机接管。如果主机既是工作线程又是 XS worker,则常规备用主机将接管。但是,专用的 XS 工作线程 host 必须具有专用的 XS 备用主机,即角色为 xs_standby 的主机。
此外,要支持故障转移,外部路由器(例如,SAP Web Dispatcher)必须 设置为在故障转移后将请求路由到处于活动状态的 XS 高级主机。查看更多 有关信息,请参阅有关 XS 高级运行时的高可用性部分。
下图显示了具有两个专用 XS 工作器主机的多主机系统, 一个专用的 XS 备用主机和 SAP Web Dispatcher 作为故障转移路由器。
为 XS 高级故障切换配置的多主机系统
SAP HANA 数据库的服务器组件
概述 SAP HANA 数据库和 相应的操作系统进程和服务
有关端口的详细信息 由此处列出的组件使用,请参阅有关端口和连接的部分。
核心服务器
服务器组件 | 操作系统进程 | 服务名称 | 描述 |
---|---|---|---|
名称服务器 | hdbnameserver | 名称服务器 | 仅在系统数据库中运行的名称服务器拥有 有关 SAP HANA 系统拓扑的信息,包括 了解系统中存在的租户数据库。 有关表和表分区位置的信息包括 存储在相关的租户数据库目录中。 |
索引服务器 | HDBindexServer | 索引服务器 | 索引服务器,在每个租户中运行 数据库(但不是系统数据库)包含实际数据 存储和用于处理数据的引擎。 |
编译服务器 | hdbcompileserver | 编译服务器 | 编译服务器执行 存储过程和程序,例如 SQLScript 过程。 它在每台主机上运行,并且不会保留数据。它运行在 系统数据库,并为所有租户数据库提供服务。 |
预处理器服务器 | HDB预处理器 | 预处理 | 预处理器服务器由索引使用 服务器来分析文本数据并提取其上的信息 基于文本搜索功能。它在系统数据库中运行 并为所有租户数据库提供服务。 |
SAP Web 调度程序 | hdbwebdispatcher | WebDispatcher(网络调度程序) | Web Dispatcher 处理入站 HTTP 和 与 XS 经典服务的 HTTPS 连接。 |
SAP启动服务 | SAPstartSRV | SAPstartSRV | SAP 启动服务负责启动 并按正确的顺序停止其他服务。它还 执行其他功能,例如监视其运行时 州。 |
可选服务器
除了上面提到的核心服务器外,以下可选服务器还可以是 运行。
服务器组件 | 操作系统进程 | 服务名称 | 描述 |
---|---|---|---|
脚本服务器 | HDBScriptServer | 脚本服务器 | 脚本服务器用于执行应用程序函数库 用 C++ 编写。 脚本 服务器是可选的,必须手动添加到数据库中 这需要它。有关详细信息,请参阅以下部分 将服务添加到租户数据库。 |
文档存储服务器 | hdbdocstore(hdbdocstore) | 文档商店 | 文档存储库需要此服务器。文档 store 允许对 JSON 文档进行本机操作,并加入 其他列或行存储表。 文档存储是可选的 并且必须手动添加到需要它的数据库中。为 有关详细信息,请参阅有关向 租户数据库。 |
XS 高级运行时 |
|
| SAP HANA 包括一个运行时环境,用于 应用程序开发:SAP HANA 扩展应用程序 服务,高级模型(XS 高级)。The SAP HANA XS 高级模型代表了应用程序服务器的演变 SAP HANA中的架构,基于优势(和 扩大范围)以前的SAP HANA扩展应用程序 服务,经典模型(XS classic)。 SAP HANA XS 高级版 运行时由平台服务和 用于执行应用程序。有关 个别服务,请参见下表。 The SAP HANA XS 高级运行时可以在专用主机上运行,也可以与 同一主机上的其他 SAP HANA 组件。 |
SAP HANA 部署基础架构 (HDI) 服务器 | HDBDI服务器 | diserver | HDI 处理将设计时项目部署到 SAP HANA 数据库中。如果 XS 系统中安装了 advanced,HDI 已启用。 否则,您必须手动启用它。 有关详细信息,请参阅有关在数据库中启用 HDI 的部分。 |
XS 经典服务器 | HDBXS引擎 | xs引擎 | SAP HANA 扩展应用服务(经典版) model(XS,经典)是本机 SAP 的应用程序服务器 基于 HANA 的 Web 应用程序。它与 SAP HANA 一起安装 数据库,并允许开发人员编写和运行基于 SAP HANA 的数据库 无需运行其他应用程序即可运行应用程序的应用程序 服务器。SAP HANA XS 还用于运行基于 Web 的工具 例如,使用 SAP HANA 进行管理和生命周期管理 和发展。 XS classic 是 SAP 的原始实现 HANA XS. XS 经典服务器可以作为单独的服务器运行 服务器进程或嵌入在索引服务器中。
注意
树液 HANA XS、classic 和 SAP HANA 存储库已弃用,因为 SAP HANA 2.0 SPS 02 的。有关详细信息,请参阅 SAP 说明 2465027. |
扩展存储服务器 | hdbes服务器 | esserver | 扩展存储服务器是 SAP HANA 动态分层的一部分。 它为非常大的 数据高达 PB 级。 有关更多信息,请参阅 SAP Help Portal 上的 SAP HANA 动态分层文档。 |
数据供应服务器 | hdbdp服务器 | DPServer | 数据预配服务器是 SAP HANA 智能数据集成的一部分。它提供实时数据配置等功能 和批处理模式、实时数据转换、数据质量 功能、适用于各种类型远程源的适配器,以及 适配器 SDK,用于开发其他适配器。 查看更多 有关信息,请参阅 SAP HANA 门户上的 SAP HANA 智能数据集成文档。 |
流式集群 | hdbstreaming服务器 | 流式服务器 | 流式处理群集是 SAP HANA 流式处理的一部分 分析。流分析通过 SAP 事件流处理器的功能扩展了 SAP HANA 用于使用数据流和复杂的事件处理。 查看更多 有关信息,请参阅 SAP Help Portal 上的流式分析文档。 |
SAP ASE 加速器 | hdbets服务器 | ets服务器 | SAP ASE 服务器是适用于 SAP 的 SAP HANA 加速器的一部分 ASE。它为 SAP Adaptive Server Enterprise (ASE) 用户提供了 能够对 SAP ASE 数据实时使用 SAP HANA 分析学。 有关详细信息,请参阅适用于 SAP 的 SAP HANA 加速器的文档 SAP 帮助门户上的 ASE。 |
SAP HANA XS 高级服务
SAP HANA 包括用于应用程序开发的运行时环境:SAP HANA 扩展应用程序服务,高级模型 (XS 高级)。这 SAP HANA XS 高级模型代表了应用服务器的演进 SAP HANA中的架构,基于优势(并扩展 范围)以前的 SAP HANA 扩展应用程序服务,经典模型 (XS) 经典)。
SAP HANA XS 高级运行时可以在专用主机上运行,也可以与 同一主机上的其他 SAP HANA 组件。如果 SAP HANA XS 的运行时平台 Advanced 已安装在您的系统中,以下附加服务在 用于平台服务和执行应用程序的系统数据库:
服务器组件 | 操作系统进程 | 服务名称 | 描述 |
---|---|---|---|
SAP HANA XS 控制器 | HDBXS控制器 | xscontroller | Controller 是 SAP HANA XS 的中央管理组件 高深。例如,它具有所有已部署和/或 正在运行的应用程序,并保留配置和状态 数据库中的信息。 平台路由器实例由 xscontroller 服务管理。平台路由器,由SAP Web实现 Dispatcher 实例,公开整个 系统。 |
SAP HANA XS 执行代理 | hdbxsexe代理 | xsexecagent | 执行代理负责管理流程, 正在启动、保持活动状态和停止任务。 |
SAP HANA XS 用户身份验证和授权 (UAA) | hdixsuaaserver | hdixsuaaserver | UAA 服务在 SAP 中管理用户登录和注销请求 HANA XS 高级。 |
系统限制
管理 SAP HANA 数据库时要考虑的限制。
除了下表之外,还可以通过查询 M_SYSTEM_LIMITS系统视图 ()。然而 您的值可能会有所不同,具体取决于硬件和软件配置。 系统使用。SELECT * FROM M_SYSTEM_LIMITS;
有关 HDI 容器的大小调整和限制的详细信息,请参阅主题 SAP SAP HANA 部署基础结构 (HDI) 指南中的 HDI 大小调整和限制 SAP HANA 平台参考(请参阅下面的相关信息)。
限制区域 | 限制 | M_SYSTEM_LIMITS限制的视图名称 |
数据库大小限制 | 行存储:1,945 GB 列存储:取决于物理内存的大小 | MAXIMUM_SIZE_OF_ROW_STORE |
锁数 | 无限制的记录锁定, 16,383 用于台锁 | MAXIMUM_NUMBER_OF_TABLE_LOCKS |
会话数 | 65,536 | MAXIMUM_NUMBER_OF_SESSIONS |
架构限制 | ||
每个 SAP HANA 实例的架构数 | BIGINT 数据类型的最大值 | |
标识符长度 | 127 字节 | MAXIMUM_LENGTH_OF_IDENTIFIER |
别名的长度 | 128 个字符 | MAXIMUM_LENGTH_OF_ALIAS_NAME |
表名称长度 | 与标识符长度相同 | MAXIMUM_LENGTH_OF_IDENTIFIER |
列名称长度 | 与标识符长度相同 | MAXIMUM_LENGTH_OF_IDENTIFIER |
字符串文本的长度 | 8兆字节 | MAXIMUM_LENGTH_OF_STRING_LITERAL |
二进制文字中的十六进制字符数 | 8,192 字节 | MAXIMUM_LENGTH_OF_BINARY_LITERAL |
表和视图限制 | ||
表中的列数 | 64,000 此限制可能因上下文而异,例如,在上下文中 虚拟表,SAP HANA 可能会受到 远程系统和其他 DBMS 的限制可能适用。在 像这样的情况下,首先满足的限制成为实际的 限制。 | MAXIMUM_NUMBER_OF_COLUMNS_IN_TABLE |
行表中的列数 | 1,000 | MAXIMUM_NUMBER_OF_COLUMNS_IN_ROW_TABLE |
视图中的列数 | 64,000 | MAXIMUM_NUMBER_OF_COLUMNS_IN_VIEW |
每个表中的行数 | 受存储大小限制 RS:1,945 GB/sizeof(行), CS: 2,100,000,000 * 分区数 | |
行的长度 | 受 RS 存储大小限制(每个索引服务器 1,945 GB) | |
非分区表的大小 | 受 RS 存储大小限制(每个索引服务器 1,945 GB) | |
CS 表中的分区数 | 16,000 | MAXIMUM_NUMBER_OF_PARTITIONS_IN_CSTABLE |
每个 DML 语句的每个表的触发器数 | 1,024 | MAXIMUM_NUMBER_OF_TRIGGERS_PER_TABLE_PER_DML |
每个(非分区)表的记录数 | 2,100,000,000 | |
索引和约束 | ||
表的索引数 | 1,023 | MAXIMUM_NUMBER_OF_INDEXES_IN_TABLE |
每个表中的主键列数 | 16 | MAXIMUM_NUMBER_OF_COLUMNS_IN_PRIMARY_KEY |
每个列存储表中的主键列数 | 1,000 | MAXIMUM_NUMBER_OF_COLUMNS_IN_PRIMARY_KEY_IN_COLUMN_TABLE |
索引中的列数 | 16 | MAXIMUM_NUMBER_OF_COLUMNS_IN_INDEX |
UNIQUE 约束中的列数 | 16 | MAXIMUM_NUMBER_OF_COLUMNS_IN_UNIQUE_CONSTRAINT |
主键、索引、UNIQUE 约束的总和大小 | 16,384 字节 | MAXIMUM_SIZE_OF_KEY_IN_INDEX |
Number of indexes in row store | 256,000 | |
SQL | ||
Length of an SQL statement | 2,147,483,648 Bytes | MAXIMUM_LENGTH_OF_SQL_STATEMENT |
Depth of SQL view nesting | 128 | MAXIMUM_DEPTH_OF_SQL_VIEW_NESTING |
Maximum depth of SQL parse tree This limitation does not show in M_SYSTEM_LIMITS unless a limit is configured to something other than 0 (no limit) using the max_parse_tree_depth parameter in indexerver.ini. | 0 0 (unlimited) | MAXIMUM_DEPTH_OF_SQL_PARSE_TREE |
Maximum depth of joins in a statement. M_SYSTEM_LIMITS除非限制是 配置为 0 以外的其他值(无限制) max_join_depth indexerver.ini 参数。 | 0 | MAXIMUM_DEPTH_OF_JOINS |
ORDER BY 中的列数 | 65,535 | MAXIMUM_NUMBER_OF_COLUMNS_IN_ORDER_BY |
GROUP BY 中的列数 | 65,535 | MAXIMUM_NUMBER_OF_COLUMNS_IN_GROUP_BY |
IN 谓词中的元素数 | 65,535 | MAXIMUM_NUMBER_OF_COLUMNS_IN_IN_PREDICATE |
SELECT 子句中的元素数 | 65,535 | MAXIMUM_NUMBER_OF_OUTPUT_COLUMNS_IN_STATEMENT |
语句中的表数。 M_SYSTEM_LIMITS除非限制是 配置为 0 以外的其他值(无限制) max_table_count_in_statement indexerver.ini 中的参数。 | 0 | MAXIMUM_NUMBER_OF_TABLES_IN_STATEMENT |
LOB 限制 | ||
列存储表的内存中 LOB 的最大大小 | 2 千兆字节 | MAXIMUM_SIZE_OF_MEMORY_LOB_IN_COLUMN_STORE |
行存储表的内存中 LOB 的最大大小 | 2 千兆字节 | MAXIMUM_SIZE_OF_MEMORY_LOB_IN_ROW_STORE |
打包 LOB 的最大大小 | 1,013,760 字节 | MAXIMUM_SIZE_OF_PACKED_LOB |
磁盘上 LOB 的最大大小 | 4,294,967,295 字节 | MAXIMUM_SIZE_OF_DISK_LOB |
程序 | ||
所有存储过程的大小 | 1,945 千兆字节 | MAXIMUM_SIZE_OF_ALL_STORED_PROCEDURES |
过程定义的大小 | 2 千兆字节 | MAXIMUM_SIZE_OF_PROCEDURE_DEFINITION |