存储-海量数据-(持续数据的增长和高并发解决方案)
目标 Ø 掌握数据库的大数据处理方案和HA Ø 掌握为什么需要数据库中间件,何为数据库中间件 Ø 掌握不同场景所需的数据库中间件特性 Ø 掌握数据库中间件设计要点 海量数据分片之分库分表 大数据处理-回顾分区 应对大数据的处理,在分库分表之前,我们可以用分区,提升数据库的性能 大数据处理-分片理解 随着业务的发展,业务越来越复杂,应用的模块越来越多,总的数据量很大,高并发读写操作均超过单个 数据库服务器的处理能力怎么办? 数据分片指按照某个维度将存放在单一数据库中的数据分散地存放至多个数据库或表中 数据分片的有效手段是对关系型数据库进行分库和分表 分库又叫垂直拆分,或者纵向拆分,指的是按照业务模块将数据分散到不同的数据库服务器 就是把原本存储于一个库的表拆分存储到多个库上,通常是将表按照功能模块、关系密切程度划分出来, 部署到不同的库上。 如果数据库是因为表太多而造成海量数据,并且项目的各项业务逻辑划分清晰、低耦合,那么规则简单明 了、容易实施的首选就是分库。 大数据处理-分库图例 优点: Ø 拆分后业务清晰,拆分规则明确; Ø 系统之间整合或扩展容易; Ø 数据维护简单。 缺点: Ø 部分业务表无法join,只能通过接口方式解决,提高了系统复杂度; Ø 受每种业务不同的限制存在单库性能瓶颈,不易数据扩展跟性能提高; Ø 事务处理复杂。 大数据处理-分表理解