NAC读写分离架构
经过持续的研发与优化,我司对Halo数据库的Near application cluster(近实时应用集群,以下简称NAC)读写分离架构进行了多次迭代更新,进一步提升了系统的性能、稳定性与易用性。现将本次架构的主要功能与特性汇报如下:
一、架构概述
新一代NAC读写分离架构基于数据库主从复制技术,并融合我司自研的智能SQL路由引擎,实现了对数据库请求的精准识别与高效分发。该架构能够自动将写操作及特定高级功能路由至主节点执行,而读操作则由本地或从节点处理,显著降低了主库负载,提升了系统整体吞吐能力。
二、核心功能特性
1.基础读写分离
读操作:由本地节点处理,提升查询效率。
写操作:自动转发至主库执行并返回结果,确保数据一致性。
2.DDL语句处理
所有DDL(数据定义语言)语句默认发送至主库执行,保障元数据一致性。
3.DML语句处理
包括INSERT、UPDATE、DELETE、MERGE在内的所有DML(数据操纵语言)语句均由主库执行。
4.参数设置与查询
SHOW命令:本地执行,快速响应。
SET及ALTER SESSION SET:本地执行的同时发送至主库执行(会话级别参数)。
ALTER SYSTEM SET:默认仅本地执行(数据库级别参数)。
ALTER GLOBAL SYSTEM SET:本地与主库同步执行。
5.执行计划分析
EXPLAIN:本地执行,用于查询计划预览。
EXPLAIN ANALYZE:由主库执行,获取真实执行计划。
6.临时表操作
所有临时表相关语句均发送至主库执行,确保事务一致性。
7.预处理语句
PREPARE、DEALLOCATE:主备节点同步执行。
EXECUTE:发送至主库执行,并根据网络状态智能选择报文格式(如遇重连则发送PE,正常状态下发送E)。
8.视图与规则
支持视图访问,对于包含写函数的RULE规则命令,自动路由至主库执行。
9.函数与存储过程
支持自定义函数/存储过程,用户需根据业务逻辑自行设定读写属性。
10.匿名块与事务块
匿名块及事务块均由主库处理,保障事务完整性。
11.数据导入(COPY命令)
COPY命令由主库执行,确保数据写入一致性。
12.Package支持
支持数据库Package功能,具体执行节点根据内容自动判断。
13.扩展查询
全面支持扩展查询功能,满足复杂查询需求。
三、简单演示
在备库执行建表、插入、查询、更新、删除、删表等读写操作。
在主库的日志中,我们可以清楚的看到备库转发过来的操作。
四、总结
本次NAC读写分离架构的升级,进一步提升了我司数据库产品的性能与可靠性。通过智能SQL路由与多场景适配,既保障了数据一致性,又实现了负载的合理分发,为大规模数据处理与高并发访问提供了坚实基础。
感谢各位同仁一直以来的支持与关注,我们将持续优化产品,为客户提供更优质的服务。