从零开始开发亿级流量小红书项目实战
2023-06-24 22:49 作者:bili_42401237447 | 我要投稿
a.垂直拆分
垂直拆分就是把一个数据库中不同业务单元的数据分到不同的数据库里面。比如用户相关信息放到一个库中,订单相关数据放到另一个库中,费用相关西西放到另一个数据库中等等,这种通过划分不同的库的方法就是数据的垂直划分方式。
带来的影响:
(1)单机的事务ACID特性的保证被打破了。数据到了多机后,原来在单机通过事务进行处理逻辑会受到很大的影响。我们面临的选择是,要么放弃原来的单机事务,修改实现。要么引入分布式事务机制。
(2)一些联表操作会变得比较困难,因为数据可能在不同的数据库中了,所以不能很方便的利用数据库自身的join,需要应用或者其他方式来解决。
(3)靠外键去进行约束的场景会受到影响