阿里云首页 云原生多模数据库 Lindorm

宽表Serverless

本章节介绍宽表引擎Serverless模式。

Serverless简介

在宽表Serverless模式下,用户无需规划硬件资源,也无需购买CPU和内存数。用户可以根据自身业务的请求量购买相应的CU(Capacity Unit)(计算方式参见计费项)即可开始使用,或者选择按量付费模式,即按照请求的多少付费,0请求0费用。Serverless为用户提供了极致的弹性,当业务请求发生变化时,Serverless后台会调配合适的物理资源满足业务需求,用户可以获得瞬间的弹性能力,极大减少了运维成本和系统风险。

相比传统的模式,在Serverless模式下用户只需为使用的资源付费,给业务带来极大的成本节省。

模式转变

Serverless适用场景

中小型轻量级的用户

Serverless 版本非常合适中小客户,无需购买整个集群,按使用量收费。短暂使用成本可以压缩到原来的10%以下。是秒级别服务启动和销毁的速度也让客户的应用非常灵活。

定时处理任务的用户

对于定时处理业务的客户,Serverless 天生的弹性能力非常符合业务需求。业务每天定时处理业务请求或者在夜间进行数据分析处理,可以使用Serverless的按量付费模式,使业务只为定时任务执行时的请求付钱,其他时间段无需付费。

业务波动大的用户

对于业务波动比较大的客户,如果提前准备大量的节点资源或者进行容量预估,就会费时费力费资金。在Serverless形态下,当大量请求来临前,可以通过调节购买的CU量,瞬间完成弹性能力。当业务高峰期过后,又可以将购买的CU调节回来,从而达到一个节省成本的目的。

希望免运维的业务

Lindorm宽表 Serverless 后台的运维团队是经过长期技术积累的阿里运维团队,可以非常专业的对集群进行运维,升级,调优和问题处理。用户无需再关心资源水位,软件版本等问题,可以做到完全0运维。

开通Serverless

前提条件

创建Serverless模式的Lindorm实例

  1. 单击创建按钮进入Lindorm实例创建页面。

  2. 选择商品类型为LindormServerless(包年包月)

  3. 配置其他Lindorm参数。具体参数说明请参见创建实例

  4. 设置参数后,单击立即购买,进入订单确认界面。确认参数配置,勾选服务协议,单击去支付完成支付。

Serverless使用方式

宽表Serverless的使用方式与普通集群版完全一致,用户可以用HBase客户端和CQL客户端访问。使用方式参见SDK安装。数据导入请参见开通LTS

Serverless计费方式

计费项

请求计费

Serverless读写计量单位以CU(Capacity Unit,能力单元)来计算,单行读操作返回数据大小大于4KB,则消耗读CU为实际数据大小按4KB整除向上取整。

  1. 单行读操作返回数据大小大于4KB,则消耗读CU = 实际数据大小按4KB整除向上取整。

  2. 对于Batch的多行读操作,消耗的读CU为所有单行读操作消耗的CU之和。每单行读操作消耗的读CU按规则1对该行进行计量。

  3. 如果是 Scan 的批量读操作,则消耗读CU = 读取到的所有行主键的数据大小与每行实际读取的属性列数据大小之和除以4KB向上取整。这意味着如果Scan带Filter的操作在服务器上扫描了100行数据,返回了1行数据,计算CU使用的是这100行数据。

    举例说明:比如在某一秒内发生了10次单行读操作。

    其中5次读操作(每次操作读出当行数据大小为3.78KB),读出的数据大小为(3.78KB按4KB向上取整)*5。

    另外5次读操作(每次操作读出当行数据大小为4.26KB),读出的数据大小为(4.26KB按4KB向上取整)*5。

    这一秒内10次单行读操作所实际消耗的读CU值为(5 x 1) + (5 x 2)= 15。其中,3.78KB向上取整计为1个读CU,4.26KB向上取整计为2个读CU。

空间计费

Serverless空间计费使用的是写入Lindorm的每个原始KeyValue大小,而非压缩后的表大小。用户可以调用org.apache.hadoop.hbase.CellUtil.estimatedSerializedSizeOf()函数来估算每个KeyValue的大小。

由于Lindorm使用的是LSM(Log-structured merge-tree)存储结构。因此删除和TTL过期的数据不会立即删除,需要等待Compaction结束后才能删除,删除后空间才会减少。

付费模式

目前Serverless有两种付费方式,一种是包年包月,一种是按量付费。

  • 包年包月模式:用户预购计算资源和存储资源。当使用的计算资源超过购买的CU量时,会遇到QuotaExceededException错误。当存储量超过购买量时,会导致Serverless实例写锁定。用户可以在实例界面随时调节购买的CU数和磁盘来应对业务变化。

  • 在按量付费模式:用户无需提前购买计算资源和存储资源,完全按照用户使用的资源情况收费,0请求0费用

包年包月

在包年包月模式下,用户预购计算资源和存储资源。当使用的计算资源超过购买的CU量时,会遇到QuotaExceededException错误。当存储量超过购买量时,会导致Serverless实例写锁定。用户可以在实例界面随时调节购买的CU数和磁盘来应对业务变化。例如:

  1. 购买10CU的计算资源代表每秒可以最多请求10个CU,使用超过会遇到限流。每秒没有使用完的CU不会累积到下一秒。

  2. 购买了10GB的存储空间。当Serverless实例的空间使用超过10GB,实例会被写锁定。如果存储空间不足10GB,仍然按照每月10GB的购买量付钱。

按量付费

即将上线,敬请期待!

在按量付费模式下,用户无需提前购买计算资源和存储资源,完全按照用户使用的资源情况收费,0请求0费用。

目前按量付费模式下,每个实例限制20000 CU/s。如果超过此需求用户请提工单咨询。

按量付费会按照小时为单位发出账单。比如一位用户在一小时内,请求消耗了3w个CU,并且在这个小时内最高使用的存储空间为20GB,则这个小时的请求费用为 30000CU的价格。存储费用为20GB的价格。如果下一小时该用户没有请求,存储量仍为20GB,则该用户下一小时只需要付存储费用,无计算费用。

如何选择付费模式

对于请求量比较固定的用户来说,包年包月的价格会比较划算,对于请求量波动比较大的用户来说,按量付费可以做到0请求0费用,在没有请求的时间段,用户可以无需为计算资源付费。

Serverless使用限制

  • 最大请求大小不超过2M。

  • 最大scan请求大小不超过4M。

  • batch操作最大批量不超过100。

  • 表名长度限制 128B。

  • namespace长度限制 128B。

  • cf长度限制 32B。

  • 建表初始化region个数限制 64个。

  • 单instance对应全局表数量限制 64张。

  • 单instance创建namespace限制 5个。