分布式:1.扩容不方便(数据重分布)2.分布键变更很麻烦3.分布键选择(架构设计)谨慎4.跨库join性能差5.分布式事务性能差6.sql限制多,功能确实多7.应用改造成本巨大8.全局一致性时间点恢复几乎不可能实现 一、PGSQL 常规操作citus 分库分表:https://yq.aliyun.c ...
分类:
其他好文 时间:
2019-10-07 21:18:31
阅读次数:
330
ShardingSphere 理论 在中小企业需要分库分表的时候用的会比较多,因为它维护成本低,不需要额外增派人手;而且目前社区也还一直在开发和维护,还算是比较活跃。 但是中大型公司一般会选择选用 Mycat 这类 proxy 层方案,因为可能大公司系统和项目非常多,团队很大,人员充足,那么最好是专 ...
分类:
其他好文 时间:
2019-10-07 13:13:55
阅读次数:
86
关注偶,领取更多学习资料哦。 1.什么是分库分表 从字面上简单理解,就是将原本存储在一个库的数据分块存储在多个库上,将原本存储在一个表的数据分块存储在多个表里面。 数据的切分根据其切分规则的类型,可以分为如下两种切分模式。 垂直(纵向)切分:把单一的表拆分成多个表,并分散到不同的数据库(主机)上。 ...
分类:
其他好文 时间:
2019-10-05 14:41:24
阅读次数:
85
MYSQL性能 最大数据量 抛开数据量和并发数,谈性能都是扯淡(扯的最疼的那种).Mysql没有限制单表最大记录数,它取决与操作系统对文件大小的限制 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配 ...
分类:
数据库 时间:
2019-10-04 09:22:35
阅读次数:
328
1. 概述 本文,我们来分享 MyBatis 的数据源模块,对应 datasource 包。如下图所示: 在 《精尽 MyBatis 源码解析 —— 项目结构一览》 中,简单介绍了这个模块如下: 数据源是实际开发中常用的组件之一。现在开源的数据源都提供了比较丰富的功能,例如,连接池功能、检测连接状态 ...
分类:
其他好文 时间:
2019-10-03 15:52:53
阅读次数:
127
ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、 ...
分类:
数据库 时间:
2019-09-30 19:55:37
阅读次数:
109
面试题 分库分表之后,id 主键如何处理?(唯一性,排序等) 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持,排序问题等。所以这都是你实际生产环境中必须考虑的问题。 面 ...
分类:
其他好文 时间:
2019-09-30 14:21:52
阅读次数:
102
分库分表 理论 当一张表的数据达到几千万时,查询一次所花的时间会变长。业界公认MySQL单表容量在 1千万 以下是最佳状态,因为这时它的BTREE索引树高在3~5之间。 数据切分可以分为: 和`水平切分`。 一、垂直切分 垂直切分又可以分为: 和`垂直分表`。 1、垂直分库 就是根据业务耦合性,将关 ...
分类:
其他好文 时间:
2019-09-30 09:16:33
阅读次数:
73
面试题 分库分表之后,id 主键如何处理? 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个 全局唯一 的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。 面试题剖析 基于数据库的实现 ...
分类:
其他好文 时间:
2019-09-29 23:32:26
阅读次数:
117
参考:https://mp.weixin.qq.com/s?__biz=MzI5MzYzMDAwNw==&mid=2247487130&idx=2&sn=7d384ef9ca47b933e801fdd2459b6b2f&chksm=ec6e77c2db19fed4a3ed3a0625c1f31867 ...
分类:
数据库 时间:
2019-09-28 01:09:30
阅读次数:
111