数据仓库服务 GAUSSDB(DWS)-GaussDB(DWS) 3.0 存算分离使用建议及性能优化:集群购买

时间:2024-11-05 17:23:11

集群购买

  • EVS磁盘空间

    9.1.0.x版本只是实现了将列存用户数据存储到OBS上,其它数据仍然保存在本地盘。因此,即使在存算分离架构下,也并不意味着不需要额外配置EVS磁盘或者只需要配置一个很小的磁盘,后续版本存算分离能力将会持续演进。

    表1 表类型的存储说明

    表类型

    存储位置

    适用场景

    行存表/临时表/列存索引

    本地,无压缩

    点查、实时小批量入库、频繁更新。

    列存表2.0

    本地,有压缩

    批量入库、查询、实时小批量入库、点查、更新。

    列存表3.0

    OBS,有压缩

    批量入库、查询、低频批量更新。

    EVS存储内容:行存、列存元数据(min/max)、 索引、Delta、WAL、OBS数据缓存、计算中的临时下盘文件(sort/hash),购买DWS集群时可指定大小。

    EVS存储总大小购买计算公式

    ( 2副本 *(行存表大小 + 索引大小 + Delta表大小) + OBS热数据缓存大小) / 0.8(预留)

    当EVS存储总大小超过90%时会触发集群只读,预留的10%空间保存WAL和临时文件下盘。

    • OBS热数据:1. 明确知道热数据的大小;2. 如果不知道,可以选择OBS总数据量 *30%。
    • 列存索引大小 = 原始未压缩数据size * 索引列宽 * 3(膨胀) / 总列宽
    • 列存数据按照3倍压缩比评估,假设20列的表,2列做主键,索引就是压缩前数据的30%,和压缩后数据相当。
    • Delta大小:一个表(或者一个分区) Max(10GB, 压缩后表大小 / 10)
    • 行存索引按照30%评估。

    EVS磁盘空间推荐:如果按以上算法估算,实际操作比较麻烦,建议:EVS磁盘空间总大小设置为压缩后的总数据量大小(压缩比一般按5倍计算),如果表上没有索引(EVS主要做缓存使用),EVS磁盘空间总大小可以设置为总数据量(可以排除掉归档数据的大小)大小的50%或者30%,并调大磁盘缓存的大小(见下文)。

    最小容量

    • 性能客户:保证每个DN主备各挂载的磁盘容量最少要500G(以达到每块盘350MB/s的带宽),比如一个E CS 上部署了2主2备,该机器要至少挂载 4 * 500G 磁盘容量。
    • 成本敏感客户:每个DN主备各挂载最小200G(每块盘带宽160MB/s)。
  • OBS配置

    OBS要求3AZ部署并支持并行文件系统。

    OBS性能

    如需调整OBS性能指标,请联系技术支持。公有云场景,6个DN及以下节点集群,OBS指标一般不需要调整。

  • CPU配置

    建议生产环境每个节点16U起步,4U/8U仅用于体验。

    • 搬迁场景:与搬迁对象保持一致
    • 新建场景:根据总数据量/100GB,计算CPU核数(与实际场景有关,计算密集型的应该增大CPU核数)
support.huaweicloud.com/bestpractice-dws/dws_05_0027.html