php mysql分布式数据库如何实现

php mysql分布式数据库如何实现,第1张

当前做分布式的厂商有几家,我知道比较出名的有“华为云分布式数据DDM”和“阿里云分布式数据库”,感兴趣可以自行搜素了解下。

分布式数据库的几点概念可以了解一下。

数据分库:

以表为单位,把原有数据库切分成多个数据库。切分后不同的表存储在不同的数据库上。

以表中的数据行记录为单位,把原有逻辑数据库切分成多个物理数据库分片,表数据记录分布存储在各个分片上。

路由分发:

在分布式数据库中,路由的作用即将SQL语句进行解析,并转发到正确的分片上,保证SQL执行后得到正确的结果,并且节约QPS资源。

读写分离:

数据库中对计算和缓存资源消耗较多的往往是密集或复杂的SQL查询。当系统资源被查询语句消耗,反过来会影响数据写入 *** 作,进而导致数据库整体性能下降,响应缓慢。因此,当数据库CPU和内存资源占用居高不下,且读写比例较高时,可以为数据库添加只读数据库。

如果做分布式的话,首先需要对数据做个有效的划分, 可以通过地区属性或者其他类似属性做水平扩展,把不同地域的数据放在不同数据库上。 但是这种水平分割应当尽量避免跨区的访问。或者设计一个数据中心,把各个区中和报表相关的汇总数据抽取到仓库里面去,提供报表。

这样的做法在联机游戏中非常常见,比如魔兽世界,fifa on line等

或者做垂直分割,根据时间或者类似属性把数据分割到不同数据库上去,基本架构是一台在用服务器支持读写 *** 作,几台历史服务器提供数据查询,一些转储脚本定期把数据从在用服务器迁移到历史服务器上去...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9757933.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存