炫“库”行动—人大金仓有奖征文—金仓读写分离集群优势

金仓读写分离集群实现了真正的高可用。为了保障数据的安全性,金仓数据库集群由多个数据库节点通过集群软件组织起来,客户通过访问集群的VIP来访问数据。并且只要有一个数据库节点正常,就不会中断业务。同时金仓读写分离集群可以保证用户能够 7×24 小时不间断的对数据进行访问,使得客户业务能够顺利进行。金仓读写分离集群同样具有高可用、灾备、负载均衡等特性,更保证了用户数据的安全性。金仓数据库读写分离架构图

金仓读写分离集群系统最多可以支持16个节点(一主十五备),各节点的地位都是平等的,在数据库读写分离集群系统首次启动时,它会根据部署时的配置选出一个节点作为主节点,其它节点作为备节点,集群上存在集群监控程序,集群监控程序会在主节点和备节点之间通过心跳检测,来实时监控数据库的健康状态。
在金仓读写分离集群系统正常工作的状态下,主节点会及时将产生的日志传送到备节点(sync状态同步),当用户对主节点做了更新数据的操作时,这些操作也会通过解析主节点传过来的日志进行同样的操作,就很好的避免了主备节点数据不一致的情况。但如果集群监控程序长时间没有收到主节点的心跳信息,此程序将会在集群的所有备节点之间发起选主操作,选出新的主节点,并自行继续对用户提供数据服务,而且这一步的操作会进行的很快,对于用户来说几乎是无感的。如果备节点发生故障,而 主节点正处于活动状态时,为了保障用户的业务不间断,集群系统将会继续对用户提供数据服务,这时对于用户来说几乎也是透明的,不会察觉到,并且对于用户的使用并没有影响。发生这种情况只需数据库管理员及时对备节点进行故障排除以及恢复就可以了,最终备节点还会以备节点的身份回到集群中继续自行与主节点同步数据。在这里插入图片描述

KingbaseCluster(读写分离)是一个位于KingbaseES服务器和 KingbaseES数据库客户端之间的中间件,提供了以下功能:
1)连接池
KingbaseCluster 保持已经连接到 KingbaseES 服务器的连接,并在使用相同参数(例如:用户名,数据库,协议版本)连接进来时重用连接。连接池减少了连接开销,并增加了系统的总体吞吐量。
2)负载均衡
如果数据库进行了物理同步,则在任何一台服务器中执行 SELECT 查询将返回相同的结果。KingbaseCluster 利用了物理同步的功能来降低每台 KingbaseES 服务器的负载。通过分发 SELECT 查询到所有可用的服务器中,增强了系统的整体吞吐量。在理想的情况下,读性能应 该和 KingbaseES 服务器的数量成正比。负载均衡功能在有大量用户同时执行很多只读查询的场景中工作的效果最好。
KingbaseCluster 使用 KingbaseES 的前后台程序之间的协议,并且在前后台之间传递消 息。因此,一个(前端的)数据库应用程序认为 KingbaseCluster 就是实际的 KingbaseES 数 据库,而后端的服务进程则认为 KingbaseCluster 是它的一个客户端。因为 KingbaseCluster 对于服务器和客户端来说是透明的,数据库应用程序基可以不需要修改就可以使用 KingbaseCluster。
金仓读写分离集群系统中的主节点时可读可写的,备节点是只读的,因此称为为读写分离。这样做的好处是一方面用户可以直接连接备机执行只读查询操作,防止在做读操作的时候误修改或删除数据,另一方面也可以通过驱动进行读写分离:驱动自动对用户执行的SQL命令进行分类,将对数据库的写操作发送到主节点执行,将读操作发送到备节点去执行,并且就算是读操作和写操作在一条SQL语句中,也可以把写之前进行的读操作发送到备节点去执行,遇到了写操作在发送到主节点进行操作。
实行读写分离机制减轻了数据库的压力。避免了主数据库服务器的过载,也有效地利用了备节点的资源。当然,当 备节点出现了加大压力导致性能下降时,金仓读写分离集群也可以在线增加 备节点,增加的 备节点会自动被集群所识别,然后进行日志同步,也实现了读操作的负载均衡。大大提升了系统的性能。

                                                                              ——[本文正在参与炫“库”行动—人大金仓有奖征文]
                                                                        https://mp.weixin.qq.com/s/DeVX3M4DfBT_fxs9xyT9Iw
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐