阿里巴巴数据库分库分表的实践.docx

? ? ? ? ? ? ? ? 阿里巴巴数据库分库分表的实践 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.阿里巴巴分布式数据层平台发展和演变 业务数据从原来的单库单表模式变成了数据被拆分到多个数据库,甚至多个表中,如果在数据访问层做一下功能的封装和管控,所有分库分表的逻辑和数据的跨库操作都交给应用的开发人员来实现,则对开发人员的要求变得相对高一点,稍有不慎,可能会对平台的业务包括数据带来较大的影响。 在2006年阿里巴巴B2B团队以开源方式研发了Cobar这一关系型数据的分布式处理系统。该系统在很大程度上解决了最初使用Oracle数据库因为存储数据变得越来越大带来的扩展性问题,并且为开发人员提供了一个使用相对简单的用户体验,在当时Cobar平均每天处理近50亿次的SQL操作。但随着阿里巴巴业务场景越来越复杂,Cobar平台功能上的约束对满足某些业务场景显得力不从心,例如: 1)不支持跨库情况下的连接、分页、排序、子查询操作。 2)SET语句执行会被忽略,处理事务和字符集设置除外。 3)分库情况下,insert语句必须包含拆分字段列名。 4)分库情况下,update语句不能更新拆分字段的值。 5)不支持SAVEPOINT操作。 6)使用JDBC时,不支持rewriteBatchedStatements=true参数设置(默认为false

文档评论(0)

1亿VIP精品文档

相关文档