简述网站的建设流程图,做电商网站就业岗位晋升,c s网站开发模式,ppt素材模板前言
以下内容仅为个人根据当年系分案例真题问题整理的偏需要记背的考点答案#xff0c;方便个人背诵和记忆使用。方便文字转语音#xff0c;所以内容全为纯文字内容#xff0c;以下内容仅供参考。
背记内容
微服务
微服务中应该包含的内容有#xff1a;资源、对资源的…前言
以下内容仅为个人根据当年系分案例真题问题整理的偏需要记背的考点答案方便个人背诵和记忆使用。方便文字转语音所以内容全为纯文字内容以下内容仅供参考。
背记内容
微服务
微服务中应该包含的内容有资源、对资源的操作的一组API集合。 微服务的优势 1通过分解巨大单体式应用为多个服务方法解决了复杂性问题。它把庞大的单一模块应用分解为一系列的服务同时保持总体功能不变。 2让每个服务能够独立开发开发者能够自由选择可行的技术提供 API 服务。 3微服务架构模式是每个微服务独立的部署。开发者不再需要协调其它服务部署对本服务的影响。这种改变可以加快部署速度。 4微服务使得每个服务独立扩展。你可以根据每个服务的规模来部署满足需求的规模。甚至你可以使用更适合于服务资源需求的硬件。 微服务架构带来的挑战 1并非所有的系统都能转成微服务。例如一些数据库层的底层操作是不推荐服务化的。 2部署较以往架构更加复杂系统由众多微服务搭建每个微服务需要单独部署从而增加部署的复杂度容器技术能够解决这一问题。 3性能问题由于微服务注重独立性互相通信时只能通过标准接口可能产生延迟或调用出错。例如一个服务需要访问另一个服务的数据只能通过服务间接口来进行数据传输如果是频繁访问则可能带来较大的延迟。 4数据一致性问题作为分布式部署的微服务在保持数据一致性方面需要比传统架构更加困难。
数据库设计
数据库设计主要包括概念设计、逻辑设计和物理设计三个阶段 1,概念设计也称为概念结构设计其任务是在需求分析阶段产生的需求说明书的基础上按照特定的方法将它们抽象为一个不依赖于任何 DBMS 的数据模型即概念模型。概念模型的表现形式即 ER 模型。 2,逻辑设计也称为逻辑结构设计其主要任务是将概念模型转换为某个特定的 DBMS 上的逻辑模型。设计逻辑结构时首先为概念模型选定一个合适的逻辑模型如关系模式或层次模型然后将其转化为由特定 DBMS 支持的逻辑模型最后对逻辑模型进行优化。 3,物理设计也称为物理结构设计其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构所谓数据库的物理结构主要是指数据库在物理设备上的存储结构和存取方法。
关系模式–范式
第一范式1NF: 1NF的定义为符合1NF的关系中的每个属性都不可再分。 第二范式2NF: 2NF在1NF的基础之上消除了非主属性对于码的部分函数依赖。 学生分数表包含 学号姓名系名系主任课程名分数。 对于学号课名 可推出 姓名有 学号 可推出 姓名存在非主属性 姓名 对码学号课名的部分函数依赖。 对于学号课名 可推出 系名有 学号 可推出 系名存在非主属性 系名 对码学号课名的部分函数依赖。 对于学号课名 可推出 系主任有 学号 可推出 系主任存在非主属性 对码学号课名的部分函数依赖。 所以学生分数表存在非主属性对于码的部分函数依赖最高只符合1NF的要求不符合2NF的要求。
这里通过拆分成两个表再 来判断 选课表 包含学号课名分数。 对于选课表其码是学号课名主属性是学号和课名非主属性是分数学号确定并不能唯一确定分数课名确定也不能唯一确定分数所以不存在非主属性分数对于码 学号课名的部分函数依赖所以此表符合2NF的要求。 学生表 包含学号姓名系名系主任。 对于学生表其码是学号主属性是学号非主属性是姓名、系名和系主任因为码只有一个属性所以不可能存在非主属性对于码 的部分函数依赖所以此表符合2NF的要求。
第三范式3NF: 3NF在2NF的基础之上消除了非主属性对于码的传递函数依赖。也就是说 如果存在非主属性对于码的传递函数依赖则不符合3NF的要求。 现在继续对两个表进行3NF判断 选课表 包含学号课名分数。学生表 包含学号姓名系名系主任。 对于选课表主码为学号课名主属性为学号和课名非主属性只有一个为分数不可能存在传递函数依赖所以选课表的设计符合3NF的要求。 对于学生表主码为学号主属性为学号非主属性为姓名、系名和系主任。因为 学号 可以推出 系名同时 系名 可以推出 系主任所以存在非主属性系主任对于码学号的传递函数依赖所以学生表的设计不符合3NF的要求。 为了使学生表符合3NF我们对其进行拆分为 学生表 包含学号姓名系名。 系表 包含系名系主任。 对于学生表码为学号主属性为学号非主属性为系名不可能存在非主属性对于码的传递函数依赖所以符合3NF的要求。 对于系表码为系名主属性为系名非主属性为系主任不可能存在非主属性对于码的传递函数依赖至少要有三个属性才可能存在传递函数依赖关系所以符合3NF的要求。 符合3NF要求的数据库设计基本上解决了数据冗余过大插入异常修改异常删除异常的问题。
表分割方式
表分割方式包括水平分割与垂直分割两种形式 水平分割按记录进行分割不同的记录可以分开保存每个子表的列数相同。分割的条件可能是某列或多列数据的值如时间参数。 垂直分割按进行分割即把一条记录分开多个地方保存每个子表的行数相同。把主键和一些行放到一个表然后把主键和另外的列放到另一个表中通过主键进行关联。
水平分割优点:水平分割后可以降低在查询时需要读取的数据和索引的页数同时也降低了索引的层数提高查询速度。 水平分割缺点:水平分割会给应用增加复杂度在查询时需要多个表名查询所有数据需要union操作。
垂直切分的优点业务系统层面的耦合、分级管理、维护、监控和扩展、O、数据库连接数和单机硬件资源得到提升。 解决业务系统层面的耦合,业务清晰。 对不同业务的数据进行分级管理、维护、监控和扩展。 在高并发场景下,IO、数据库… 垂直切分的缺点提高了开发的复杂性、复杂的分布式事务处理、单表数据量过大。 有些表格不能join,只能通过接口聚合来解决。 复杂的分布式事务处理。 仍然存在单表数据量过大的问题(需要水平切分)。
物理数据分区技术
物理数据分区技术一般分为水平分区和垂直分区数据库中常见的是水平分区。水平分区分为范围分区、哈希分区、列表分区等。 范围分区优点 1、分区表可以将表存储到多个表空间内各个分区维护各自的本地索引查询语句可以根据索引进行分区范围查找提高了查询速度 2、可以对单个分区进行备份、归档或者清除过期的数据利于维护 3、实现容易而且可以方便的对表的分区进行添加、删除、拆分和合并操作。
范围分区缺点数据分布不均匀所以可以与哈希分区组合应用。
分布式数据库
分布式数据库是由一组数据组成的这组数据分布在计算机网络的不同计算机上网络中的每个节点具有独立处理的能力称为场地自治它可以执行局部应用同时每个节点也能通过网络通信子系统执行全局应用。 提高分布式数据库系统性能的实现技术 1、采用数据分片技术提高访问的局部性提升系统性能。 2、采用查询优化技术包括全局查询树的变换、副本的选择与多副本的更新策略、查询树的分解、半连接与直接连接提高查询速度。 3、读写分离技术。
对于那些读取数据的需求非常强烈涉及到的数据量极大而更新较少的系统可以在分布式数据库中采用一主多从的机制来分散读取数据的压力。更新数据时操作主库从主库再同步到从库从库只负责读取数据。