数据库架构设计.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
数据库架构设计 author:skate time:2013/06/04 数据库架构设计 最近在考虑如何能设计好⼀个数据库架构,下⾯是个⼈⼀点想法,欢迎⾼⼈指正 任何系统都不是独⽴的,是⼀个⽣态系统,数据库也是⼀样的,要使其在其⽣命周期内更好的服务于业务,在设计之初就要考虑周全。作为 数据库设计者在⼤⽅向上最为关⼼的是如下⼏点,也是要实现的⽬标: 数据库架构 硬件选型 运营维护 以⼀个创建平台系统为例,要经历业务架构设计,数据架构设计,应⽤架构设计,系统架构设计,运营维护 业务架构:公司的业务模式,实现业务流程、功能等 数据架构:实现数据共享、⼀致性、完整性、准确性 数据定义: 数据标准:如静态数据:元数据、业务对象;动态数据:订单等 数据概念模型:根据需求分析,进⾏综合分析,形成独⽴于具体DBMS的概念模型,要理清 实体和实体关系 属性和域 业务规则(应⽤实现和数据库实现) 并综合考虑如下⼏点 存储哪些数据 数据来源 数据的约束规则及 数据怎样被使⽤ ⽤户想看到哪些数据 数据与其他系统是否交互 数据访问⽅式 数据逻辑模型:将概念模型转化为某个具体的DBMS⽀持的模型,绘制E-R图,在本阶段要完成实体间 的关系;考虑属性的域 (值的类型,范围,约束) 数据物理模型:将E-R图转化具体的RDBMS相应的表,如果系统⽐较⼤的话,还要考虑系统架构为逻辑模型设计⼀个合适的物 理环境。 数据分布:数据业务分布与数据系统分布(集中或分布式) 数据管理:数据模型与数据标准管理,数据分布管理,数据质量管理,数据安全管理,数据⽣命周期、存储维护管理 应⽤架构:从业务架构、数据架构考虑系统的功能边界在哪,结合CRUD矩阵等分析⽅法考虑系统需 要划分成多少个模块?如何封装模块?才能保证模块本⾝⾼内聚和松耦合,每个模块之间 的接⼝和调⽤关系,采⽤什么样的技术框架。应⽤架构设计有⼏个核⼼的原则: 开放-封闭原则:即对扩展开放,对修改封闭 ⾼内聚低耦合原则:尽量将功能相关的内容组合在⼀起,封装后对外提供接⼝。 封装变化原则:越是可能发⽣变化的地⽅越要进⾏处理和封装,将变化的影响限制在⼀定范围之内。 平衡性原则:架构设计需要平衡多⽅⾯的要求,折衷考虑设计⽅案,⽐如性能和灵活性就常常是⼀对⽭盾的要求。 系统架构:系统架构主要是关注的是⾮功能性要求的实现,如: 1.数据安全、容灾需求 2.维护需求 3.扩展需求 4.⾼可⽤需求 5.资源、成本要求 6.保证每⼀模块⾼内聚低耦合 7.容量(性能和存储)需求 8.并发访问量,⾼并发访问时的瓶颈,数据库?应⽤服务器? 9.海量数据存储与访问优化 10.数据库分库分表 11.软件集群/硬件集群 12.系统过载保护 13.缓存机制 14.容错能⼒ 15.与其他系统交互 16.分布式处理,数据⼀致性、完整性、及时性 如果系统⽐较简单,数据量、访问量很⼩,那就没必要过多考虑系统架构,在部署上采⽤raid技术,分层存储,读写分离,主备技术,负载 均衡等⽅法。 通过以上就可以清晰的知道数据库架构,再配合⼀个数据库申请单就更全⾯,下⾯就开始硬件选型 硬件选型 ⽅案要保证系统上线可以⽀撑1-2年左右,以后根据需要动态扩展;从存储空间,性能空间两个维度, 并结合系统架构考虑⽀撑业务需要的 硬件需求,⽅法有两种 1.根据监控数据,和当前类似业务对⽐,推断出需要的硬件 2.对于我们io密集型系统,可以根据访问量计算出需要的io能⼒,从⽽推断出需要的硬件 运营维护 略 相关: -------续------
- 粉丝: 84
- 资源: 9357
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助