美文网首页分库分表
分布式环境下的分库分表问题

分布式环境下的分库分表问题

作者: Z_aa67 | 来源:发表于2019-08-20 00:51 被阅读0次

一、水平分表策略问题

随机分表策略和连续分表策略

随机分表策略可以分散冷热数据均衡存储,避免热数据瓶颈。一般需要数据迁移。

连续分表策略按照日期等分割。

二、垂直分表策略

将访问频度高的字段和访问频度低的字段分开存储到两个表。

三、分库问题

可以使用mycat。

四、数据迁移问题

可以利用程序从原数据库中读取数据再按照新的存储策略存储到相应的数据库表。

五、表关联问题

跨库关联,可以使用程序中分阶段查询,再整合查询结果。

六、分页排序问题

在分表中排序返回,在程序中再整合排序,将结果返回。

七、数据库集群数据一致性问题

集群数据很难做到强一致性,要保证弱一致性和最终一致性。cap定理:分布式系统不能同时满足cap,c是一致性,a是可用性,p是分区容忍。分布式数据库一般满足cp,牺牲掉一部分可用性。

集群数据一致性算法包括:

paxos算法:一阶段:proposer会选择一个提案编号N,向accepter发送编号为N的prepare请求。如果一个accepter收到一个N的prepare请求,而且N大于任何它收到的请求,将把自己最大的编号回应给proposer。

二阶段:当proposer收到过半数量accepter回应,就将 <N,V>提交给accepter。

zab 算法:Leader服务器会将一个follower的事务请求转化为一个proposal,并分发给所有follower服务器,一旦超过半数的follower服务器反馈,Leader会再次向所有follower服务器发送commit消息,将新提议提交。

八、分布式全局唯一ID

uuid,snowflake算法,mongoDB的ObjectId

相关文章

  • 架构师进阶实战随堂笔记十

    场景十:分布式数据管理问题 分布式事务和分库分表方法介绍与实践经验分享 目录 分库分表 为什么分片 分库分表策略 ...

  • 分布式环境下的分库分表问题

    一、水平分表策略问题 随机分表策略和连续分表策略 随机分表策略可以分散冷热数据均衡存储,避免热数据瓶颈。一般需要数...

  • 分库分表架构方案设计

    本文就分库分表的产生背景、一些通用的分库分表的涉及记录做一下简要的理解和阐述。 为什么的需要分库分表 在分布式架构...

  • 分库分表中间件华山论剑

    分库分表中间件 分库分表的缺点: 引入分布式事务的问题; 跨节点 Join 的问题; 跨节点合并排序分页等聚合类S...

  • 面试必备:我们为什么要分库分表?

    目录 什么是分库分表 为什么需要分库分表呢 如何分库分表 什么时候开始考虑分库分表 分库分表会导致哪些问题 分库分...

  • 问题

    解决分库分表方案 shardingjdbc mycat myibaits 分布式缓存遇到问题 穿透式雪崩 ...

  • 分库分表

    分库分表 为什么要分库分表? 超大容量问题 性能问题 如何去做到 垂直切分①垂直分库; 解决的是表过多的问题②垂直...

  • 分布式系统唯一ID的生成方案讨论

    在分布式系统下唯一id问题,就是id咋生成?比如分表分库,因为要是一个表分成多个表之后,每个表的id都是从1开始累...

  • 032 某金服面试题

    分布式事务 分布式锁方案和区别 分布式缓存 分布式选举问题 分库分表的方案 MVCC 方案 MySQL 的事务的实...

  • Springboot整合 ShardingSphere 实现分库

    概述 之前介绍过分布式系统中,分库分表分区的概念,可参考 《分布式系统中,数据库的分表、分库和分区基本概念梳理[h...

网友评论

    本文标题:分布式环境下的分库分表问题

    本文链接:https://www.haomeiwen.com/subject/antydftx.html