2023-12-07 分类: 网站建设
本期我们来聊聊创新互联。在开始讨论创新互联之前,我们首先要明确一点。数据库是大部分业务系统的核心,创新互联也是一个非常重要的设计。
不过,这并不代表创新互联是一件很困难的事情。对于我们的技术支持团队,我们一直坚持后端开发者直接设计数据库(无论开发者经验如何),而不是让有经验的开发者做创新互联的工作(有经验的开发者做好审查工作)。
这是因为:
1、创新互联不需要一次性全部设计好。在开发过程中,不可避免地要对数据库进行调整。只要数据库的骨架没有问题(有经验的开发者可以做好),比如添加或删除字段、添加中间表、添加视图等不会造成太大影响。
2、创新互联是一些后端需求(通用业务系统)的改造过程。正如原型是前端部分的需求转化过程一样,后端功能(通用业务系统)的结构可以通过数据库分库分表来粗略描述。创新互联),难免会出现无法区分功能结构的情况,只能根据页面原型猜测需要哪些接口。这种看一个功能,开发一个接口的工作模式,无论代码怎么写,大部分情况下都会出现开发进度不可控、开发冗余接口、接口遗漏等问题。
所以,创新互联是每个后端开发者必须掌握的技能,而创新互联并不难。我们不考虑一下子把创新互联完全拿出来,只需要设计好骨架。是(在设计审查和后续开发期间进行了调整)。
我们推荐的创新互联步骤分为以下3个步骤:
子库(由架构师或技术负责人完成)
子表(由开发者完成)
添加冗余字段、视图(由开发者完成)
1、子库
经常看到有些系统只有一个数据库,而这个数据库里有几十万张表。我相信网站开发,无论E-R图纸多么详细,描述写得多么好,没有人能够弄清楚它们之间的关系。这无疑是系统越来越差的主要原因之一,也是微服务无法发挥应有作用的原因之一(使用同一个数据库,后端服务扩展更多服务器也没用)。
所以分库的目的:
分库的原理很简单。一般来说,每个子系统对应一个数据库。比如用户系统、博客系统、商城系统、流程系统都有自己独立的数据库,系统划分更多是基于业务架构。业务架构设计请参考我们之前的业务架构视频。此外网站开发,对于一些数据密切相关的子系统,例如优惠券和资金系统,最好将它们组合成一个系统。
当然,数据库独立后会出现一些问题。对于大部分场景,通过前端调用多个接口进行集成就足够了网站制作,但是对于一些需要强数据一致性的场景,就会涉及到数据库分布式库。 ,关于数据库分布式事务,下期会详细介绍。
2、子表
子表更多的是根据当前模块的业务功能来确定。以博客系统为例,主要的业务逻辑是用户写博客,管理员审核后,其他用户可以查看网站优化,也可以登录博客。在下方评论以创建相应的四个表。但是,由于审计其实是一种状态,可以用一个字段来记录,所以只需要两张表,一张是博客表,一张是评论表。
定义完主表后,需要查看本系统的所有功能点,看是否需要添加额外的表。如果发现博客系统中有收藏功能,可以考虑添加收藏表。
表划分完成后,还要分析表之间是否存在多对多关系。如果博客有标签分类,那么博客和标签是多对多的关系。
这种多对多关系有两种解决方案:
分表完成后,大致勾勒出一个模块的功能结构。开发过程中,哪些功能是主要的,哪些是次要的也一目了然,让开发计划更加清晰,前后端联调也一目了然。可以分阶段完成。分表后,单个数据库的结构基本清晰,但是对于一些特殊的功能,比如个人中心的评论列表,除了显示评论内容外,还需要显示博客。
3、添加冗余字段和视图
此时需要考虑添加冗余字段,即博客名称也记录在评论表中(已经记录在博客表中)当然冗余字段的更新是比较麻烦,所以冗余字段适合一些更新非常不频繁或者不允许更新的字段。
当然,除了冗余字段,SQL语句也可以用来实现夸张的表查询。对于这种夸张的表查询,我们推荐使用视图。也就是说,视图是保存在数据库中的一条SQL查询语句,一个视图可以简化后端SQL语句的复杂度,也可以通过查看哪些接口使用视图,就可以知道自己进行了跨表查询(方便后续性能调优)。
例如,热门博客需要按受欢迎程度进行排名,而受欢迎程度是通过将收藏、点赞和评论的数量乘以各自的权重来确定的。然后可以做一个视图创建博客热度虚拟表,可以用简单的SQL查询前3的博客(实际项目需要加缓存),也可以用简单的SQL查询某个博客类别下的前3篇博客(实际项目需要添加缓存)。
视图除了上述好处外,还有一个好处:跨数据库查询(虽然可以直接使用SQL语句完成,但是视图可以更规律),如果多个数据库在同一个服务中, view 可以查询数据库(普通SQL语句也可以)。如果数据库在不同的服务(.7以后),也可以通过数据同步来同步要查询的数据,然后通过视图查询数据库。当然,这种方式一般不常用于大型网站,因为如果同步数据库的数据量太大或更新频率高,往往得不偿失。
命名约定
我们推荐的数据库命名约定是数据库的名称与系统名称相同。表名以 t_ 开头,视图以 v_ 开头。如果在表中是唯一的,就用表名_开头,如果是外键就用它原来的名字,视图不改字段名。这样即使没有E-R图,也可以通过字段名来判断表与表的关系。这可能看起来很简单,但它可以防止许多不必要的错误。
总结
创新互联当然还包括索引、具体字段、字段类型和长度等,不过这些问题其实可以在实际开发过程中加入。一开始就考虑这些问题太仔细是浪费时间(甲方或业务部门要求除外)。
以上是我们推荐的创新互联流程。当然,创新互联从来没有绝对的最优解。创新互联是否相对合理,取决于对业务功能的理解和项目经验。
但是不要担心做好它,因为如果你不做它,你永远不会做好它。只要你做几次,被有经验的人审核几次,相信你的创新互联会越来越成熟。
网站标题:网站开发创新互联步骤及步骤(一)——数据库原型设计网站前端开发
当前网址:https://www.cdcxhl.com/news15/299815.html
成都网站建设公司_创新互联,为您提供面包屑导航、小程序开发、服务器托管、网站制作、全网营销推广、域名注册
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联
猜你还喜欢下面的内容