开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第33天
一、本篇笔记重点内容:
- Top_Down和 Bottom-UP应用场合
- Top-down 设计过程
- 分片的定义
- 分片的作用
- 分片的原则
二、 详细知识点介绍:
在系统设计中,最基本问题就是数据的分布问题,即如何对分布式数据库进行逻辑划分和实际物理分配。数据的逻辑划分称数据分片。本章主要针对数据分布进行介绍,以关系数据库为例来说明。同时介绍当前流行的大数据库的分布存储策略。
Top_Down和 Bottom-UP应用场合
Top_Down: 适于新设计一个数据库系统。 (designed from scratch) Bottom-UP: 已存在许多数据库系统,并将它们集成为一个数据库。典型的数据集成研究。
Top-down 设计过程
基于五步递归实现:
- 需求分析(Requirement analysis)
- 概念设计、视图集成、E-R 表示、转换到关系模式
- 分布设计、数据分片和分配
- 物理设计
- 性能调优(Tuning)
分片的定义
某集团公司由地理位置分别在不同城市的总公司和两个下属分公司组成,彼此之间靠网络相连接,业务管理由分布式数据库系统完成。其网络结构图如图所示:
定义
- 片段(Fragment):是分布式数据库中数据的存储单位。
- 分片(Fragmentation):对全局数据的划分。
- 片段: 划分的结果称为片段。
- 分配(Allocation):对片段存储场地的指定,称为分配。当片段存储在一个以上场地时,称为数据复制(Replication)存储。如果每个片段只存储在一个场地,称为数据分割(Partition)存储。
分片的作用
- 减少网络传输量。如:采用数据复制,可就近访问所需信息。需频繁访问的数据分片存储在本地场地上。
- 增大事务处理的局部性。局部场地所需的数据分片分配在各自的场地上,减少数据访问的时间,增强局部事务效率。
- 提高数据的可用性和查询效率。就近访问数据分片或副本,可提高数据的访问效率。同时当某一场地发生故障时,若存在副本,非故障场地上的数据副本均是可用的。保证了数据的可用性、数据的完整性和系统的可靠性。
- 使负载均衡。减少数据访问瓶颈,提高整个系统效率。
分片模式:定义从全局模式到片段模式的映射关系。
分配模式:定义从片段模式到物理模式的映射关系。
分片的原则
在构成分布式数据库系统时,设计者必须考虑数据如何分布在各个场地上,即全局数据如何进行逻辑划分和物理分配问题。哪些数据须分布存放、哪些数据不需要分布存放、哪些数据需要复制等,对系统进行全盘考虑,使系统性能最优。但无论如何进行分片,必须遵循下面原则: 完备性:所有全局数据必须映射到某个片段上。 可重构性:所有片段必须可以重新构成全局数据。 不相交性:划分的各片段所包含的数据不允许相同。