比较起服务来说,直播软件APP开发的数据库扩展是很复杂的一项,不同的服务对数据的使用方式有很大差异,比如不同的服务常常有不同的读写比,另一些服务则更强调扩展性,所以对数据库来说,无法做到统一的扩展,只能根据直播软件APP开发数据的不同要求来扩展。
一、简单的扩展方法
不论是哪方面的扩展,横向、纵向扩展都是必不可少的。
1、纵向扩展是常见又简单的方法,只需要增加关系型数据库所在服务实例的性能,数据库在运行时会将其包含的数据加载在内存之中,最常访问的数据是否存在于内存之中是数据库是否良好运行的标准,如果数据库所在的服务实例能够根据实际负载提供足够的内存,来承载所有最常被访问的数据,那么数据库的性能将得到充分发挥。
除了保证拥有足够的内存之外,害需要保证直播软件APP开发本身没有过多的浪费内存,常见的索引浪费情况就是Index Fragmentation,经过一系列添加、更新和删除后,数据库中的数据在储存中的物理结构中将变得不再规律。
2、纵向扩展会受到单个服务器性能的限制,因为无法对直播软件APP开发进行无限的关系型数据库纵向扩展,这就需要考虑横向扩展了。通过加入一系列数据库实例来分担负载完成,需要注意的是,这种写入传递关系是靠MAster和Slave中的一个独立线程完成的。这种情况下避免了直播软件APP开发出现单点失效问题。
二、数据切分
用户对数据的写入会根据特定条件来分配到不同的数据库上,简单来说就是对直播软件APP开发数据的读取以及写入负载根据数据所在的数据库实例进行划分,但某些情况下,对数据库中的数据按表划分并不能解决问题,切分完后某个数据库仍然可能承担了过多的负载,那就需要对数据进行再次切分。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
领取专属 10元无门槛券
私享最新 技术干货