随笔分类 - 分库分表
摘要:本篇内容介绍了“SpringBoot中如何使用Dynamic Datasource配置多数据源”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 功能特性: 支持 数据源分组 ,适用于多种场景 纯粹多库
阅读全文
摘要:58 集团拥有大量需要长期保留的数据,但 MySQL 的单机存储容量有限,扩容不便。在数据量特别大的情况下,只能采用分库分表。MySQL 的高可用方案是主从复制+ MHA,当主库挂掉时,需要切换主从,势必影响一定时间的写入。此外,MySQL 读延时比较高,读流量增加会进一步带来高延迟。 经过选型对比
阅读全文
摘要:为什么要分表 Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性。 但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存。读取磁盘的次数变多,而磁盘的每次读取对性能都有很大的影响。 这时一个简单可行的方案就是分表(当然土豪也可
阅读全文
摘要:背景 分库分表这个词相信很多人都不陌生,在互联网公司数据到达一定规模的时候,多数都会对数据进行分库分表,或者也有人叫分片,英文翻译为Sharding;更加准确来说我们常常关心的是水平分片,即单个业务的某些表到达一定规模后,即使建立索引也无法从根本上带来很大的性能提升,这时我们会考虑把单表拆分,以My
阅读全文
摘要:首先是项目地址: https://github.com/maqiankun/distributed-id-redis-generator 关于Redis集群生成分布式ID,这里要先了解redis使用lua脚本的时候的EVAL,EVALSHA命令: https://www.runoob.com/red
阅读全文
摘要:XA分布式事务协议,包含二阶段提交(2PC),三阶段提交(3PC)两种实现。 1、二阶段提交方案:强一致性 事务的发起者称协调者,事务的执行者称参与者。 处理流程: 1、准备阶段 事务协调者,向所有事务参与者发送事务内容,询问是否可以提交事务,并等待参与者回复。 事务参与者收到事务内容,开始执行事务
阅读全文
摘要:一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心
阅读全文
摘要:一、数据库瓶颈1、IO瓶颈2、CPU瓶颈二、分库分表1、水平分库2、水平分表3、垂直分库4、垂直分表三、分库分表工具四、分库分表步骤五、分库分表问题1、非partition key的查询问题2、非partition key跨库跨表分页查询问题3、扩容问题六、分库分表总结七、分库分表示例 一、数据库瓶
阅读全文
摘要:分库分表是什么 下边以电商系统中的例子来说明,下图是电商系统卖家模块的表结构: 通过以下SQL能够获取到商品相关的店铺信息、地理区域信息: SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉] FROM [商品信息] p LEFT JOIN [地理区域] r ON p.[产地]
阅读全文
摘要:作者:阿里技术链接:https://www.zhihu.com/question/448775613/answer/1774351830来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1 什么是分库分表? 其实就是字面意思,很好理解: 分库:从单个数据库拆分成多个数据
阅读全文

浙公网安备 33010602011771号