上一页|下一页

分布式服务器:对较小表的大量访问

简介

本主题介绍存在以下所有情况的专门情景:
  • 您必须支持对较小表的大量读取访问。
    注: 较小是一个相对概念 。小于 2 GB 的表都是很好的候选项。大小介于 2 GB 和 20 GB 之间的表可能是很好的候选项,具体取决于诸如服务器容量、可用内存量和节点数等因素。
  • 大量的机器间网络通信(相对于表大小)会对数据检索性能产生负面影响。
  • 您希望将频繁访问的较小表分隔成单独的 LASR 逻辑库。
对于较小的表,当数据被整合而非分开放置时,in-memory 访问速度更快。例如,若较小表用作某报表的数据源,则该表在单个机器上整体可用而不是分布在多个机器上时,检索该报表的速度将更快。对于广泛且频繁访问的报表,鉴于检索性能上的差异,值得为较小的表管理一个单独的逻辑库。
为了优化较小的表的检索性能,分布式 SAS LASR Analytic Server 可以保留每个表的多个整合(完整非分布式)副本。每个副本都会写入单个机器并从中进行检索。每个机器都会根据需要启动自己的非分布式服务器进程,以满足加载和访问请求。加载平衡和重复使用非分布式服务器进程可进一步提高性能。
有关详细信息,请参见 SAS LASR Analytic Server: Reference Guide 中的 High Volume Access to Smaller Tables

说明

要优化对分布式 SAS LASR Analytic Server 中较小表的大量访问,请执行下列操作:
  1. 标识或创建专用于较小表的 LASR 逻辑库。
    • 为该逻辑库指定名称,以帮助用户认识到不应该在该逻辑库中加载或导入大型表。
    • 将该逻辑库与分布式 SAS LASR Analytic Server 相关联。
  2. 将 LASR 逻辑库的扩展属性VA.TableFullCopies设置为正整数。(您可使用 SAS Management Console 或 SAS Environment Manager 设置 LASR 逻辑库的扩展属性。)
  3. 要验证结果,请将表加载到 LASR 逻辑库。在 LASR 表选项卡上,验证表的状态。请参见获取表信息

扩展属性

以下逻辑库级别的扩展属性支持较小表优化,并且控制每个表的 in-memory 实例数。
VA.TableFullCopies
指定为每个加载的表创建多少个完整的 in-memory 单节点实例。默认情况下,不指定值,因此不会创建完整的副本实例。若您具有仅包含较小表且与分布式服务器相关联的 LASR 逻辑库,则将该值设置为正整数。
警告:
若指定较高的值或某用户将大型表加载到该逻辑库,则会快速占用服务器内存。
考虑开始时指定小于 4 的值(根据需要逐渐增加该值),为关联的服务器设置表限制并限制逻辑库上的管理权限。
以下为其他一些详细信息:
  • 自动加载功能支持该属性。
  • 您不能将数据追加到通过其他完整副本加载的表。
  • LASR 星形模式、自 Twitter 的导入以及自 Facebook 的导入会忽略该属性。
  • 非分布式 SAS LASR Analytic Server 会忽略该属性。
  • 通常,对通过其他完整副本加载的表使用压缩并无益处。

示例

情形

  • LibraryA 是仅包含较小表的 LASR 逻辑库。
  • LibraryA 与 ServerA(分布式 SAS LASR Analytic Server)相关联。
  • LibraryA 的扩展属性选项卡为 VA.TableFullCopies 指定了值 3

结果

  • 将 TableA 加载到 LibraryA 时,ServerA 上的三个节点会获得 TableA 的完整副本。
  • 请求访问 TableA 时,三个节点中的一个节点会提供 TableA 的完整副本。
  • TableA 还会以常规分布式方式加载。但是,TableA 的分布式实例不能满足任何访问请求。
  • 您不能追加到 TableA。
上一页|下一页|页首
上次更新时间: 2018年10月24日