《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践

作者:方孝健阿里云PolarDB-X技术专家

 

读写分离指分离读库和写库的操作,主要应用于读多写少、超高并发以及高稳定性场景。比如电商业务是典型的读多写少场景,为了避免数据库的读成为业务瓶颈,同时也为了保证写库的成功率,一般会采用读写分离的技术手段。

 

image.png

 

目前业界主流的读写分离方案主要基于数据库代理层,比如Router、MyCat,其优点为引入了数据库代理层,业务上不需要改动过多代码,比较透明。

 

image.png

 

但不足也很明显,路由到从库请求,无法保证读到最新的数据,称为弱一致性读。比如在主库上写一行数据,通过代理读到的数据不一定是最新的,或刚写入的数据不一定能马上读到,同时也无法基于从库的可用性做流量均衡路由,比如某个从库挂了或延迟比较大,依然会继续路由,而这是对业务有损的方案。

 

image.png

 

PolarDB-X 提供透明、强一致的读写分离。

 

高度透明化使用PolarDB-X之后,可以享受PolarDB-X提供的native读写分离能力,应用连上PolarDB-X数据库即可直接享受读写分离能力。

 

强一致性读:提供了强一致性读能力,保证主库写入后备库和只读库能够读到。

 

灵活多变的配置策略:支持全局、session、Query级别的多种读写配置策略;支持副本异常或某个从库异常流量后自动切回主库;如果某个副本延迟高,支持将流量调度到低延迟副本。丰富、灵活多变的配置策略,可以很大程度满足业务场景的诉求。



《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X读写分离和HTAP场景的实践(2) https://developer.aliyun.com/article/1228547?groupCode=polardbforpg

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
2月前
|
存储 NoSQL 关系型数据库
PolarDB开源数据库进阶课17 集成数据湖功能
本文介绍了如何在PolarDB数据库中接入pg_duckdb、pg_mooncake插件以支持数据湖功能, 可以读写对象存储的远程数据, 支持csv, parquet等格式, 支持delta等框架, 并显著提升OLAP性能。
128 1
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
世界第一!阿里云PolarDB刷新全球数据库性能及性价比记录
世界第一!阿里云PolarDB刷新全球数据库性能及性价比记录
|
2月前
|
关系型数据库 分布式数据库 数据库
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
喜报|PolarDB开源社区荣获“2024数据库国内活跃开源项目”奖
|
2月前
|
关系型数据库 分布式数据库 数据库
首届全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)圆满收官
首届全国大学生计算机系统能力大赛PolarDB数据库创新设计赛(天池杯)圆满收官
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
世界第一!阿里云PolarDB登顶全球数据库性能及性价比排行榜!
2月26日,阿里云PolarDB在2025开发者大会上登顶全球数据库性能及性价比排行榜。此次突破标志着中国基础软件取得里程碑成就,PolarDB凭借创新的云原生架构,成功应对全球最大规模并发交易峰值,在性能、可扩展性等方面领先全球。
|
2月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课18 通过pg_bulkload适配pfs实现批量导入提速
本文介绍了如何修改 `pg_bulkload` 工具以适配 PolarDB 的 PFS(Polar File System),从而加速批量导入数据。实验环境依赖于 Docker 容器中的 loop 设备模拟共享存储。通过对 `writer_direct.c` 文件的修改,替换了一些标准文件操作接口为 PFS 对应接口,实现了对 PolarDB 15 版本的支持。测试结果显示,使用 `pg_bulkload` 导入 1000 万条数据的速度是 COPY 命令的三倍多。此外,文章还提供了详细的步骤和代码示例,帮助读者理解和实践这一过程。
91 1
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
世界第一!阿里云PolarDB刷新全球数据库性能及性价比记录
世界第一!阿里云PolarDB刷新全球数据库性能及性价比记录
|
1月前
|
数据采集 存储 数据可视化
分布式爬虫框架Scrapy-Redis实战指南
本文介绍如何使用Scrapy-Redis构建分布式爬虫系统,采集携程平台上热门城市的酒店价格与评价信息。通过代理IP、Cookie和User-Agent设置规避反爬策略,实现高效数据抓取。结合价格动态趋势分析,助力酒店业优化市场策略、提升服务质量。技术架构涵盖Scrapy-Redis核心调度、代理中间件及数据解析存储,提供完整的技术路线图与代码示例。
116 0
分布式爬虫框架Scrapy-Redis实战指南
|
2月前
|
NoSQL Java 中间件
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
本文介绍了从单机锁到分布式锁的演变,重点探讨了使用Redis实现分布式锁的方法。分布式锁用于控制分布式系统中多个实例对共享资源的同步访问,需满足互斥性、可重入性、锁超时防死锁和锁释放正确防误删等特性。文章通过具体示例展示了如何利用Redis的`setnx`命令实现加锁,并分析了简化版分布式锁存在的问题,如锁超时和误删。为了解决这些问题,文中提出了设置锁过期时间和在解锁前验证持有锁的线程身份的优化方案。最后指出,尽管当前设计已解决部分问题,但仍存在进一步优化的空间,将在后续章节继续探讨。
536 131
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
|
2月前
|
NoSQL Java Redis
Springboot使用Redis实现分布式锁
通过这些步骤和示例,您可以系统地了解如何在Spring Boot中使用Redis实现分布式锁,并在实际项目中应用。希望这些内容对您的学习和工作有所帮助。
225 83

相关产品

  • 云原生数据库 PolarDB
  • 下一篇
    oss创建bucket