阅读背景:

mysql 读写分离方法

来源:互联网 



 数据库的读写分别计划很多,这里介绍基于mysql数据库的读写分别计划。
 比较常见的读写分别计划以下:
 1 基于查询分别
   最简略的分别方法是将读和写分发到主和从服务器上,这类策略很容易实现,但是仅限于一些能够容忍查询脏数据的操作。
   举个例子来讲,用户写入了一条评论,发往主库保留,查询的时候则是从从库拉取数据,由于主从数据库存在复制延迟,
   用户极可能看不到自己的最新评论,这就是脏数据。
   
 2 基于脏数据分别
   这类策略其实不关怀从库是不是100%跟上了主库,这类策略让运用检讨复制延迟,以肯定从库是不是太旧。
   
 3 基于会话分别
   另外一个决议能否从从库读取数据的略微庞杂一点的方法是断定用户自己是不是修正了数据。用户不须要看到其他用户的最新
   数据,但须要看到自己的更新。可以再会话层设置一个标志位,表明做了更新,就将该用户的查询在一段时光内
   总是指向主库。这是推举的一种做法,由于他是在简略和有效性之间的一种很好的让步。
   我们还可以把基于会话的分别方法和复制延迟监控联合起来,如果用户在10秒前更新了数据,而所有备库延迟在5秒内,
   便可以够安全的从备库中读取数据,但为全部会话选择同一个备库是很好的主张,否则用户可能会奇异有些备库的数据比较慢。
   
 4 基于版本分别
   这类策略与基于会话的分别方法类似,你可以跟踪对象的版本号或时光戳,通过从备库读取对象的版本或时光戳来断定数据是不是足够新。
   如果备库的数据太旧,可以从主库获得最新的数据。
   
 5 基于全局版本/会话分别
   这个方法是基于版本分别和会话分别的变种.当运用履行写操作时,在提交事务后,履行一次show master status操作。然后在缓存中存储主库日志坐标,
   作为被修正对象和/或会话的版本号。的那个运用衔接到备库时,履行show slave status 并将备库上的坐标和缓存中的版本号比较,如果备库相比记载点更新,则
   可以安全的读取备库数据。
   
   




 数据库的读写分别计划很多,这里介绍基于mysql数据库的读写分别计划。
 比较常见的




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: