- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库架构
王保强 数据库架构 博客地址: /baoqiangwang /6517 关于数据库架构的误区 缺乏基本的编程规范-建表、编码、开发随意性 缺乏行之有效的规划和监控-开发过程的随意性 缺乏普及的数据库培训-其他技术人员数据库认知不足 缺乏合理的数据库建模理论指导 数据库架构师即DBA-事后的优化,与业务无关 职责不清,开发人员和DBA之间的推诿 数据库架构师缺乏业务理解能力和其他相关技术知识 缺乏版本管理-数据库脚本不需要版本管理 缺乏推动力-技术人员的协调能力和组织级的授权 扁鹊问医 《黄帝内经》中提出“上医治未病,中医治欲病,下医治已病” 《史记·扁鹊列传》,司马迁有“使圣人预知微,能使良医得早从事,则疾可已,身可活也”之说。 《鹖冠子》中曾有魏文王问扁鹊:“子昆弟三人其孰最善为医?”扁鹊答曰:“长兄最善,中兄次之,扁鹊最为下。”魏文侯曰“可得闻邪”扁鹊曰:“长兄於病视神,未有形而除之,故名不出於家。中兄治病,其在毫毛,故名不出于闾。若扁鹊者,鑱血脉,投毒药,副肌肤,闲而名出闻于诸侯。” 组织级保障 数据库架构的意义 整合资源、发挥集体智慧,构建数据库架构相关规范及流程 定期培训各部门、产品线的数据库知识 积极参与各部门的相关业务调研、开发流程 发挥组织级的作用,进行数据库架构工作的相关推动、协调 版本和质量管理 构建各部门、产品的数据库版本配置管理库 建立质量小组,不仅仅管理数据,还要管理代码及其变更 使用质量管理系统—元数据管理软件 建立影响性分析,血统追述的机制 数据库建模 数据库架构过程 编程规范/ 制度章程 启动 收尾 经验总结/ 再度优化 事中监控 事后优化 事前规划 进入阶段/ 开始项目 启动过程 收尾过程 退出阶段/ 结束项目 规划过程 执行过程 监控过程 项目管理五大过程组 数据库架构五大过程 编程规范 书写规范 大小写风格 缩进风格 空格及换行 其它 命名规范 表和字段命名规范 其它对象命名 变量命名 注释规范 语法规范 脚本规范 事前规划 从需求分析到概念设计,再从逻辑设计到物理设计 设计表的基本结构 根据业务规则进行状态字段设计 根据部门/产品的通用规则设置其他字段(比如录入员、创建时间、修改时间、删除标志之类) 对相关表的数据量并结合字段数进行容量规划 确定主键和唯一索引,必要时根据容量规划确定分区 按照第三范式进行数据库表设计 根据日志收集开发人员增删改查语句,进行索引规划 根据对相关处理语句的分析对数据表结构进行调整 根据对相关处理语句的分析进行索引和外键约束的设置 事前规划(续) 分区、分表、分库 事前规划(续) 表名称 表类型 字段情况 数据规模预估 表类型 操作类型 频率 字段数 行字节数 初始记录数 增长情况/月 6月大小 3年大小 tableA 基础表 查 极少 5 100 100 10 160 460 tableB 事务表 增删改查 频繁 20 1000 0 100000 600000 3600000 tableC 日志表 增查 频繁 10 150 0 200000 1200000 7200000 tableD 基础表 增查 少 5 80 50 5 80 230 tableE 事务表 增删改查 中 30 700 0 700000 4200000tableF 日志表 增查 频繁 12 120 0 1000000 6000000输入: 输出: 重点监控表 待分区表 待拆分表 事前规划(续) 1NF 2NF 3NF 定义 每一列都是原子的 所有的键都依赖于主键 非主键字段直接依赖于主键 概括 一个字段只描述一个属性 一个表只描述一个实体 一个关系只由一种字段来描述(主外键) 判定方法 经验法 1、在有联合主键的情况下,修改一个主键字段时,有些非主键字段不会改变2、在主表中有从表中的字段3、把字段的取值当字段名 修改某个非主键字段的值时会影响另外一些字段的值 解决方法 拆列 1、一对多的关系,主从表2、多对多的关系,中间表、主从表 从表中保存了主表的非主键字段,把他们去掉 反例 联系方式字段中填写了:电话、地址、QQ号 订单表中有一个产品编号的字段成绩表中有字段:学号、Java、SQL、C 成绩表有字段:学号、学生姓名、性别、课程编号、分数 事中监控 监控和协助部门/产品数据库规划执行情况 监控和收集各重点表的字段信息 通过日志收集SQL运行情况 运行数据库调优和索引向导构建索引 辅助完成一些高质量的SQL 关键字段的数据分布情况和倾斜程度 数据行的特点和关键信息 事中监控(续) 表名称 字段列表 查询条件 SELECT UPDATE DELETE SELECT UPDATE DELET
文档评论(0)