众所周知,分库分表能有效缓解直播开发app中单机或单库的性能瓶颈,但是也会带来事务一致性、跨点分页、全局主键避重等问题。所以,在直播开发app中,是否需要分库分表还得根据不同情况进行分析,一般需要考虑分库分表的重要节点有哪些呢?
一、能不切分就不切分
如果在直播开发app中,如果能通过升级硬件、升级网络、读写分离等方式实现系统瓶颈的优化,那就先不用进行切分,毕竟切分就意味着业务复杂度提升,就会增大系统发生风险的概率。除非数据量真的已经达到单表的瓶颈,没有别的办法了,再考虑分库分表。
二、数据量过大,影响正常访问
1、数据库备份时
如果直播开发app中数据库单表太大,在进行备份操作时,就会占用大量的磁盘IO和网络IO,而且整个备份过程的风险性很高,这时就得考虑利用分库分表降低操作风险了。
2、对大表进行DDL修改时
当对直播开发app中的一个大表进行DDL修改时,Mysql是会锁住全表的,不仅被锁住的时间长,在被锁住期间也无法实现相关业务的访问,为了优化该情况,就可以采用分库分表的方式。
3、大表经常访问与更新
当直播开发app中的大表经常被访问与更新时,就会导致等待情况的出现,只有实现了分库分表,才能有效降低访问压力。
三、需要对某些字段垂直拆分
在直播开发app发展初期,业务访问对系统性能的要求是比较低的,但是随着业务的不断发展,用户量的不断增加,系统面对的压力就比较大了,这时可能就需要对某些字段进行垂直拆分,此时就得考虑分库分表了。
四、数据量快速增长
在业务不断发展的过程中,直播开发app中单表的数据量也是不断累积的,当数据量达到单表的性能瓶颈时,就需要通过水平切分的方式进行优化了,在做分库分表时需要选择合适的切分规则,以实现更好地切分效果。
五、安全性和可用性
出于对直播开发app的发展考虑,只有将不同业务的数据库进行分隔,才能带给用户更好地访问体验,而且分隔之后,一项业务出现问题也不会影响其他业务的正常运行,能有效提升直播开发app的安全性和可用性。
在直播开发app中,重要节点一旦出现就意味着需要考虑分库分表问题了,并且在分库分表时还需要结合实际的开发情况选择合适的切分规则。其实无论是分库分表,还是其他提升直播开发app系统性能的优化手段,都是为了带给用户更好的使用体验。
声明:本文由云豹科技原创,转载请注明作者名及原文链接,否则视为侵权