首页 > 其他分享 >ShardingSphere

ShardingSphere

时间:2023-01-11 09:44:43浏览次数:39  
标签:可用性 ShardingSphere 数据库 CAP N2 数据 读写

高性能架构模式

  • 互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提高性能。高性能数据库集群的第一种方式是“读写分离”,第二种方式是“数据库分片”

  • 读写分离架构
    • 读写分离的基本原理是将数据库读写操作分散到不同的节点上

  • 读写分离的基本实现
    • 主库负责处理事务性的增删改查,从库负责处理查询操作,能够有效的避免由数据库更新导致的行锁,使得整个系统的查询性能得到极大的改善
    • 读写分离是根据SQL语义的分析,将读操作和写操作分别路由至主库与从库
    • 通过一主多从的配置方式,可以将查询请求均匀的分散到多个数据副本,能够进一步的提升系统的处理能力。
    • 使用多主多从的方式,补单能够提升系统的吞吐量,还能够提升系统的可用性,可以达到在任何一个数据库宕机,甚至磁盘物理损坏的情况下仍然不影响系统的正常运行

  • CAP理论
    • CAP理论(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克分校的计算机科学家埃里克.布鲁尔(Eric Brewer)在2000年ACM PODC上提出的一个猜想。

  • 在一个分布式系统中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须牺牲
    • C一致性:对某个指定的客户端来说,读操作保证能够返回最新的操作结果
    • A可用性:非故障的节点在合理的时间内返回合理的响应
    • P分区容灾性:当出现网络分区后,系统能够继续运行

  • CAP特点
    • 在实际设计过程中,每个系统不可能只处理一种数据,而是包含多种类型的数据,有的数据必须选择CP,有的数据必须选择AP,分布式系统理论上不可能选择CA架构
  • CP:如下图所示,为了保证一致性,当发生分区线程后N1节点的数据已经更新到y,但由于N1和N2之间的复制通道中断,数据y无法同步到N2,N2节点上的数据还是x。这时客户端C访问N2时,N2需要返回Error,提示客户端C"系统发生了错误",这种处理方式违背了可用性的要求,因此CAP三者只能满足CP

标签:可用性,ShardingSphere,数据库,CAP,N2,数据,读写
From: https://www.cnblogs.com/blackyoumo/p/17042880.html

相关文章

  • shardingsphere
    shardingsphere目录shardingsphere1.面试题1.1业务增长-数据库性能优化2.分库分表带来的优点3.分库分表带来的问题4.分库分表核心概念4.1垂直分表例子:商品详情一般是拆......
  • 使用线程池和shardingsphere-jdbc对统计进行分表查询优化
    记录之前的一次优化过程,之前发布在wiki上,现摘出发布。0.前言主要查询表为还款计划表xx_plan(近4000w,日新增10~20w)、实还记录表xx_actual(2600w+,日新增5~10w)、代偿记录表x......
  • VIP06-ShardingSphere5.x新版本特性
    一、整体理解新版本二、5.X部分新特性1、DistSQL2、可插拔内核3、数据迁移三、全部内容总结 一、整体理解新版本​ShardingSphere在2021年十月份推出了5.0......
  • dynamic + shardingSphere整合
    背景按查询时间来走分表,分表根据年份依赖<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId......
  • MySql整合Shardingsphere分库分表
    前言前面一篇文章将MySql主从复制模式就搭建完毕了,但是在主从复制模式情况下不能解决单表数据量大了的性能问题,如一张表书记量太大了,查询效率会比较低,那么此时就需要对数据......
  • OpenSergo & ShardingSphere 社区共建微服务视角的数据库治理标准
    作者:赵奕豪(宿何)为什么需要微服务治理与OpenSergo?在经典微服务架构中,我们通常将服务调用中各角色划分为三部分:服务提供者、服务消费者、注册中心。经典的微服务架构可以解决......
  • OpenSergo & ShardingSphere 社区共建微服务视角的数据库治理标准
    作者:赵奕豪(宿何)为什么需要微服务治理与OpenSergo?在经典微服务架构中,我们通常将服务调用中各角色划分为三部分:服务提供者、服务消费者、注册中心。经典的微服务架构可以......
  • shardingsphere-jdbc 水平分表学习记录
    放在自己博客里搬过来一份~前司使用的是自己魔改的TDDL,在家时间比较多就尝试学一些业内比较常用的中间件.这里记录一下学习中遇到的一些问题.环境设置的比较简单(太......
  • 墨天轮沙龙 | SphereEx代野:Apache ShardingSphere-从中间件到分布式生态演进之路
    在9月22日举办的【墨天轮数据库沙龙第十期—国产中间件专场】中,SphereEx解决方案专家代野分享了ApacheShardingSphere:从中间件到分布式生态演进之路》主题演讲,本文为整......
  • ShardingSphere的配置中心
    ShardingSphere的配置中心本篇文章源码基于4.0.1版本使用配置中心来管理配置文件非常方便灵活,实现配置信息的动态加载,ShardingSphere支持很多配置中心,包括Apollo、Zooke......