
当前做分布式的厂商有几家,我知道比较出名的有“华为云分布式数据库DDM”和“阿里云分布式数据库”,感兴趣可以自行搜素了解下。
分布式数据库的几点概念可以了解一下。
数据分库:
以表为单位,把原有数据库切分成多个数据库。切分后不同的表存储在不同的数据库上。
以表中的数据行记录为单位,把原有逻辑数据库切分成多个物理数据库分片,表数据记录分布存储在各个分片上。
路由分发:
在分布式数据库中,路由的作用即将SQL语句进行解析,并转发到正确的分片上,保证SQL执行后得到正确的结果,并且节约QPS资源。
读写分离:
数据库中对计算和缓存资源消耗较多的往往是密集或复杂的SQL查询。当系统资源被查询语句消耗,反过来会影响数据写入 *** 作,进而导致数据库整体性能下降,响应缓慢。因此,当数据库CPU和内存资源占用居高不下,且读写比例较高时,可以为数据库添加只读数据库。
如果做分布式的话,首先需要对数据做个有效的划分, 可以通过地区属性或者其他类似属性做水平扩展,把不同地域的数据放在不同数据库上。 但是这种水平分割应当尽量避免跨区的访问。或者设计一个数据中心,把各个区中和报表相关的汇总数据抽取到仓库里面去,提供报表。这样的做法在联机游戏中非常常见,比如魔兽世界,fifa on line等
或者做垂直分割,根据时间或者类似属性把数据分割到不同数据库上去,基本架构是一台在用服务器支持读写 *** 作,几台历史服务器提供数据查询,一些转储脚本定期把数据从在用服务器迁移到历史服务器上去...
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)