架构10- 理解架构的模式4-数据管理模式

本文探讨了在大数据场景下,如何通过数据分片、使用CDN加速静态内容访问以及创建索引表来优化性能。分片策略需考虑数据分布和业务逻辑,而CDN则通过URL识别和缓存刷新保证一致性。索引表用于提高查询速度,但需注意区分度对索引效果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、分片模式:将数据存储区分为多个水平分区或分片,以便更好地管理和处理大量数据。

当业务量达到单个业务表通过缓存和队列削峰等措施后的平均TPS超过1万时,我们不得不考虑数据库分片。

图片

在进行分片之前,我们需要根据数据分布、压力情况和业务逻辑来确定分片的方式,可以是按条件、范围或哈希等策略(三张图展示了三种策略)。此外,还需要对业务代码进行改造,以消除所有不支持的SQL语句。还要确定采用硬编码方式、框架方式或中间件方式进行数据路由。

    在进行分片后,我们需要运维工具来对这些分片数据进行统一的索引加工等操作。最好有一个数据仓库,可以汇总所有数据,方便进行adhoc查询。同时,最好有辅助工具可以帮助我们确定数据会分布在哪个分片中。

二、静态内容托管模式:将静态内容放置在云存储服务中,并直接向客户端传送这些内容,以提高访问效率。

CDN的使用通常有两种方式:主动推送数据到CDN存储和在CDN配置回源站拉取。对于文件类资源,一般使用主动推送数据;而对于静态资源类,一般使用回源方式。

在使用CDN时,需要考虑以下问题:

1. CDN如何认定同一个文件:CDN通常使用文件的URL地址作为唯一标识来认定同一个文件。

2. 缓存刷新工具:CDN提供了缓存刷新工具,可以手动触发刷新边缘节点的缓存,以保证最新的内容能够及时被边缘节点获取。

3. 源站文件一致性:为避免问题,源站需要保持相同文件的一致性,最好是通过版本变化来改变文件名,而不是不断替换同一个文件。这样可以避免边缘节点缓存了不同版本的文件,导致各种奇怪的问题。

4. 排查问题困难性:由于使用CDN后,不同地区的用户访问的是CDN节点上的数据,一旦出现问题,排查和定位可能会比较困难。因此,建议引入前端的错误处理框架,记录前端脚本错误时的调用栈,以便更

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值