
读写分离&分库分表
旌云爸
这个作者很懒,什么都没留下…
展开
-
关于垂直切分Vertical Sharding的粒度
转自:http://blog.youkuaiyun.com/bluishglc/article/details/6274841 垂直切分的粒度指的是在做垂直切分时允许几级的关联表放在一个shard里.这个问题对应用程序和sharding实现有着很大的影响. 关联打断地越多,则受影响的join操作越多,应用程序为此做出的妥协就越大,但单表的路由会越简单,与业务的关联性会越小,转载 2015-11-16 18:23:09 · 345 阅读 · 0 评论 -
如何在高并发分布式系统中生成全局唯一Id
博文示例: 1. GUID生成Int64值后是否还具有唯一性测试 2. Random生成高唯一性随机码 今天分享的主题是:如何在高并发分布式系统中生成全局唯一Id。 但这篇博文实际上是“半分享半讨论”的博文: 1) 半分享是我将说下我所了解到的关于今天主题所涉及的几种方案。 2) 半讨论是我希望大家对各个方案都说说自转载 2015-12-05 10:21:23 · 1824 阅读 · 0 评论 -
spring+mybatis利用interceptor(plugin)兑现数据库读写分离
使用spring的动态路由实现数据库负载均衡 系统中存在的多台服务器是“地位相当”的,不过,同一时间他们都处于活动(Active)状态,处于负载均衡等因素考虑,数据访问请求需要在这几台数据库服务器之间进行合理分配, 这个时候,通过统一的一个DataSource来屏蔽这种请求分配的需求,从而屏蔽数据访问类与具体DataSource的耦合; 系统中存在的多台数据库服务器现在地位可能相当转载 2016-01-22 17:31:31 · 593 阅读 · 0 评论 -
分布式环境下的id生成方法
前几天研究数据库分表分库的问题,其中有一个关键的地方就是生成唯一键的问题,假如数据表有1亿条数据,而且还在不断的增加,这里我们就需要考虑到分表分库,假设我们采用Hash或者是用户取模求余的方法将这个表拆分成10个表,每个表的结构相同,其中有一个主键id,那么10个表中的id需要唯一不同,在单表的时候,使用数据表自增长是没有问题的。当分成10个表后,就无法用到数据库自增长了。 当到这里的时候突然发转载 2015-12-05 10:03:37 · 513 阅读 · 0 评论 -
mysql+spring+mybatis实现数据库读写分离
场景:一个读数据源一个读写数据源。 原理:借助spring的【org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource】这个抽象类实现,看名字可以了解到是一个路由数据源的东西,这个类中有一个方法 [java] view plain copy /**转载 2016-01-22 17:28:02 · 914 阅读 · 0 评论 -
读写分离的方案分析
MySQL-Proxy(官方) Amoeba for MySQL Atlas(360) Cobar(Alibaba)原创 2016-01-22 17:17:32 · 513 阅读 · 0 评论 -
Mysql主从复制和读写分离方案分析
目录[-] 引子 实现思路 三种实现思路关键技术 Amoeba Amoeba是什么 Amoeba能做什么 Amoeba不能做什么 原型环境 具体实现 主从复制 主从复制验证 Amoeba数据库代理 读写分离验证 小结 引子 最近在研究Web服务端负载均衡方面的技术,参考网上资料,总体思路可以分为如下几类: 1.应用服务器集群,典型的代表就是转载 2016-01-22 16:59:29 · 5880 阅读 · 0 评论 -
构建高性能web之路------mysql读写分离实战(转)
一个完整的mysql读写分离环境包括以下几个部分: 应用程序clientdatabase proxydatabase集群 在本次实战中,应用程序client基于c3p0连接后端的database proxy。database proxy负责管理client实际访问database的路由策略,采用开源框架amoeba。database集群采用mysql的master-slave的repl转载 2016-01-22 16:51:53 · 484 阅读 · 0 评论 -
Amoeba for MySQL---分布式数据库Proxy解决方案
Amoeba for MySQL 位于Client、Database Server(s)之间,具有负载均衡、高可用性、sql过滤、可承受高并发、读写分离、Query Route(解析sql query语句,并且根据条件与预先设定的规则,请求到指定的目标数据库。可并发请求多台数据库合并结果)、对客户端透明,能降低数据切分带来的复杂多数据库结构、数据切分规则给应用带来的影响。适用mysql 4.1转载 2015-11-17 17:24:49 · 432 阅读 · 0 评论 -
数据库分库分表(sharding)
转自;http://blog.youkuaiyun.com/bluishglc/article/details/7793172 本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案。关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示 本文原文转载 2015-11-16 18:29:07 · 1735 阅读 · 0 评论 -
TDDL
1. 分库分表,而且分库规则非常灵活. 2. 主键生成策略 目前TDDL提供的id生成主要还是依托数据库来进行的,oracle可以直接使用sequence来完成id生成,mysql则需要DBA建立一个表专门用于生成id. 3. 连接查询策略 虽然TDDL目前并不直接支持连接查询,但连接查询在业务中也是常见的查询。处理这类查询时,需要由业务去决定如何实现这类查询。 处理这类查转载 2015-11-17 11:46:56 · 948 阅读 · 0 评论 -
flickr 的全局主键生成方案
flickr提供了一个扩展的更好的方案: 他们把 user_index 抽出一个专门用作生成转载 2015-12-05 07:57:42 · 2091 阅读 · 0 评论