阿里巴巴数据库分库分表的实践
发布时间:2019-02-02 17:46:56 所属栏目:建站 来源:钟华
导读:副标题#e# 1、阿里巴巴分布式数据层平台发展和演变 业务数据从原来的单库单表模式变成了数据被拆分到多个数据库,甚至多个表中,如果在数据访问层做一下功能的封装和管控,所有分库分表的逻辑和数据的跨库操作都交给应用的开发人员来实现,则对开发人员的要
如果在“尽量减小事务边界”与“数据尽可能平均拆分”两个原则间发生了冲突,那么请选择“数据尽可能平均拆分”作为优先考虑原则,因为事务边界的问题相对来说更好解决,无论是做全表扫描或做异构索引复制都是可以解决的。而写入或单机容量如果出现不均衡,那么处理起来难度就比较大。 尽管复杂的切分规则或数据的异构索引能够给系统的性能和扩展性带来显著的收益,但其后面所带来的系统运维复杂度上升也是不能忽视的一个结果。 如果为每一个存在跨join或全表扫描的场景都采用数据异构索引的方式,整个数据库出现大量数据冗余,数据一致性的保障也会带来挑战,同时数据库间的业务逻辑关系也变得非常复杂,给数据库运维带来困难和风险,从而对数据库运维人员的要求和依赖会非常高,所以从系统风险的角度考虑,以82法则,在实际中,我们仅针对那些在80%情况下访问的那20%的场景进行如数据异构索引这样的处理,达到这类场景的性能最优化,而对其他80%偶尔出现跨库join、全表扫描的场景,采用最为简单直接的方式往往是就最有效的方式。 【编辑推荐】
点赞 0 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |