【PolarDB·专家篇】读写分离·一致性级别
PolarDB提供了三种一致性级别:最终一致性、会话一致性和全局一致性,满足您在不同场景下对一致性级别的要求。
问题与解决方案
MySQL的读写分离代理功能,代理会伪造成MySQL与应用程序建立好连接,解析发送进来的每一条SQL,如果是UPDATE、DELETE、INSERT、CREATE等写操作则直接发往主库,如果是SELECT则发送到备库,从而实现了读写分离。但是当数据库负载很高时,例如对大表执行DDL(如加字段)操作或大批量插入数据的时候,延迟会非常严重,从而导致无法从只读节点中读取最新数据。MySQL的读写分离代理功能无法解决由于延迟导致的查询不一致问题。
PolarDB采用了异步物理复制方式实现了主节点和只读节点间的数据同步。主节点的数据更新后,相关的更新会应用到只读节点,具体的延迟时间与写入压力有关(一般在毫秒级别),通过异步复制的方式确保了主节点和只读节点间数据的最终一致。PolarDB提供了如下三种一致性级别,满足您在不同场景下对一致性级别的要求:
说明 如何修改一致性级别,请参见配置数据库代理。
最终一致性
- 功能介绍PolarDB是读写分离的架构,传统的读写分离只提供最终一致性的保证,主从复制延迟会导致从不同节点查询到的结果不同,例如在一个会话内连续执行如下查询,最后的SELECT结果可能会不同(具体的访问结果由主从复制的延迟决定)。
INSERT INTO t1(id, price) VALUES(111, 96); UPDATE t1 SET price = 100 WHERE id=111; SELECT price FROM t1; - 适用场景
若需要减轻主节点压力,让尽量多的读请求路由到只读节点,您可以选择最终一致性。
····
相关推荐
深度揭秘POLARDB新版本.pdf
【深度揭秘POLARDB新版本】是阿里云资深技术专家封仲淹对于阿里云自研的云原生数据库——POLARDB的最新解读。
POLARDB专场:POLARDB产品特性和通用业务场景(仝一).pdf
POLARDB通过高并发读写分离架构和共享存储支持,能够处理高达100TB级别的数据,解决了数据量增长带来的挑战。2. 场景2:高可用、业务弹性能力。
云数据库的演化与POLARDB数据库介绍.pptx
**高可用与读写分离**:POLARDB采用了Active-Standby的高可用架构,自带只读节点,支持读写分离,有效提升了并发处理能力。只读节点间的数据延迟低至毫秒级,最多可扩展至15个只读节点。
数字中国行——数据库上云-企业级云原生数据库POLARDB剖析.pdf
该产品集成了多种创新技术,被称为拥有众多黑科技的创新产品,它解决了传统数据库面临的一系列问题,如大查询响应慢、数据库升级等待时间、读写分离导致数据一致性问题、主从复制延迟和中断、存储容量限制以及数据备份和恢复时间长等
POLARDB专场:POLARDB云数据库分布式存储引擎揭秘(鸣嵩).pdf
阿里云资深技术专家曹伟在本专场中介绍了PolarStore的架构优势及关键技术创新。


