摘要: 第一部分:实施策略 数据库分库分表(sharding)实施策略图解 1. 垂直切分垂直切分的依据原则是:将业务紧密,表间关联密切的表划分在一起,例如同一模块的表。结合已经准备好的数据库ER图或领域模型图,仿照活动图中的泳道概念,一个泳道代表一个shard,把所有表格划分到不同的泳道中。 2. 水平切 阅读全文
posted @ 2017-01-04 17:27 爱畔畔真是太好了 阅读(3793) 评论(0) 推荐(0) 编辑
摘要: 一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但 阅读全文
posted @ 2017-01-04 14:50 爱畔畔真是太好了 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 前言 那些内存可以回收 2.1 引用计数算法 Java虚拟机将内存划分为多个区域,分别做不同的用途。简单的将,JVM对内存划分为这几个内存区域:程序计数器、虚拟机栈、本地方法栈、Java堆和方法区。其中程序计数器、虚拟机栈和本地方法栈是随着线程的生命周期出生和死亡的,所以这三块区域的内存在程序执行过 阅读全文
posted @ 2016-12-30 11:23 爱畔畔真是太好了 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 数据库为什么要分库分表 基本思想之为什么要分库分表?数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO 阅读全文
posted @ 2016-12-28 17:11 爱畔畔真是太好了 阅读(175) 评论(0) 推荐(0) 编辑