数据库软件架构设计些什么.docx

数据库软件架构设计些什么 今天主要分享58同城数据库软件架构上:如何保证数据可用性、如何提高数据库读性能、如何保证数据一致性和如何进行秒级扩容。 作者:58沈剑|2016-11-29 08:50 HYPERLINK javascript:favorBox(open); \o 一键收藏,随时查看,分享好友! \t _self ?收藏 HYPERLINK javascript:; ??分享 一、基本概念 二、数据库架构设计思路 (1)可用性 (2)读性能 (3)一致性 (4)扩展性 一、基本概念 概念一“单库” 概念二“分片” 分片解决的是“数据量太大”的问题,也就是通常说的“水平切分”。 一旦引入分片,势必有“数据路由”的概念,哪个数据访问哪个库。 路由规则通常有3种方法: (1)范围:range 优点:简单,容易扩展 缺点:各库压力不均(新号段更活跃) (2)哈希:hash 优点:简单,数据均衡,负载均匀 缺点:迁移麻烦(2库扩3库数据要迁移) (3)路由服务:router-config-server 优点:灵活性强,业务与路由算法解耦 缺点:每次访问数据库前多一次查询 大部分互联网公司采用的方案二:哈希分库,哈希路由 概念三“分组” 分组解决“可用性”问题,分组通常通过主从复制的方式实现。 互联网公司数据库实际软件架构是:又分片,又分组(如下图) 二、数据库架构设计思路

文档评论(0)

1亿VIP精品文档

相关文档