随着使用多主集群(库表)产品系列的客户业务量的增加,其所需的读写节点数量也越来越多,此时,客户需要一个全局只读节点,来读取所有读写节点上的数据,以方便处理汇聚库请求。本文介绍了多主集群(库表)的全局只读节点架构以及核心优势等内容。
技术架构
集群中所有读写节点的数据文件都存放在共享存储(PolarStore)中,全局只读节点通过分布式文件系统(PolarFileSystem)来共享底层存储(PolarStore)中已有的读写节点的数据文件。您可以通过全局只读地址连接全局只读节点,通过数据库代理的读写分离功能来自动识别需要跨节点访问的SQL语句,来读取集群中读写节点上的数据。
核心优势
降低成本。
未提供全局只读之前,客户为了搭建一个全局只读节点,需要额外购买一个PolarDB MySQL版集群来处理汇聚库请求,并使用该集群来存储所有RW节点上的数据。除此之外,客户还需要购买多个DTS同步链路来持续将多个RW节点上的数据同步至新购买的集群中。
使用多主集群(库表)的全局只读功能后,客户只需要购买一个全局只读节点来处理汇聚库请求。借助于PolarDB的共享存储能力,全局只读节点与多主集群(库表)的RW节点可以共享同一份数据,而不需要额外购买集群来存储所有RW节点上的数据。除此之外,全局只读节点可以直接同步多主集群(库表)下所有RW节点的数据,不需要额外购买多个DTS同步链路。
低延迟。
DTS数据同步的延迟时间一般为秒级,而全局只读数据同步的延迟时间为几十毫秒,极大程度地提升了汇聚库数据的时效性。
内核版本
目前仅支持PolarDB MySQL版内核版本为8.0.1的多主集群(库表)版使用。
收费方式
使用说明
增加全局只读节点
您可以通过增加只读节点的方式来添加全局只读节点,添加的只读节点即可在多主集群中作为全局只读节点使用。
执行跨库查询
多主集群(库表)的全局只读节点具有直接跨库访问所有RW节点上的数据的能力,您可以在全局只读节点上直接进行跨库查询,如:select * from db1.tbl1 t1, db2.tbl2 t2 where t1.id=t2.id;
。您也可以根据业务量的大小通过手动变配的方式来灵活地变更节点配置。
删除全局只读节点
使用完成后,您可以删除该只读节点来释放资源,以节省费用。
删除全局只读节点后,全局只读地址也会被删除,您将无法通过集群地址进行跨节点查询。为保证业务的正常运行,删除只读节点后,请使用集群地址连接读写节点来读取数据。
增加全局只读列存节点
您可以修改配置参数loose_polar_enable_imci_with_mm
为ON
后,再添加全局只读列存节点。