java web mysql视图_JAVA Web做后端,数据库方面要掌握到哪种程度?

谢邀,先回答问题,我的理解——必须要掌握最佳实践。

什么是最佳实践——设计能够恰好的支撑你所做的业务,并且随着业务的演进,设计也能随之演进保障业务。所以你少要知道——你有多少数据(容量评估,是否需要Sharding,及分布策略)?这些数据怎么存?(Schema 怎么设计),怎么查?(SQL 及 Index的应用和优化),哪些东西放在数据库做合适,哪些不合适。这些算是最简单的要求了。下面稍微展开来多啰嗦两句:

单独抛开这一个具体问题不说,了解任何一个所不熟悉的领域首要问题是什么?“要清楚他问题域”,而不是先要知道他具体可以做什么,比如:小的汤勺可以用来炒菜,大的炒勺也可以用来喝汤。具体能做什么只是应用的Pattern,重要的是要了解本质。

好现在回到这个具体的问题上来,数据库的问题域是什么?我想不外乎以下几点,在将数据持久化的同时,还够最大限度的保证吞吐(并发,延时)和一致性(隔离,事务)。弄明白了问题域我们再来看,所要掌握的不外乎是以下几个问题数据怎么存,为什么要这么存,如何不丢数据?

数据怎么查?

数据怎么保证事务(与文件系统的最大区别,目前NewSQL解决的最重要的问题)?

从下往上看(仅限关系数据库),不说物理上的存储,最终落到磁盘上的存储模型是什么?B Tree 为什么用这个而不是链表?或者不是平衡二叉树?再往上来说,这个底层的存储模型如何被组织——table, table space, database 。还有数据库是如何保证数据不丢——WAL Log,一旦崩溃之后如何恢复?(checkpoint)。

知道了数据如何被存储的,那数据怎么被检索到就显而易见的了(树的搜索遍历算法),说到事务,事务的本质其实是并发和锁(一般的关系数据库的实现),锁的粒度关系到一致性的表现和性能,所以MVCC(朴素的理解为copyOnWrite)带来了性能上的提升,数据库的操作说白了就有两种,read write,所有发生的事情都是这些操作的组合(操作有先后,有时序),RR, RW, WR, WW,数据库的性能就是如何最大程度保证两类操作的并发性 。说了这么多,就算抛砖引玉,数据库是比较复杂的技术工程,水很深,要想彻底说清楚三言两语是不可能的。

如果真的想深入的了解数据库,不仅仅只是停留在应用层面,我想不外乎几个方面:并发控制,数据库日志系统恢复技术,查询调度以及优化(逻辑查询计划以及物理查询计划),如何保障高可用和高性能。希望能带来更多的思考。

以上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介 本项目是一套基于JavaWeb的毕业设计管理系统,主要针对计算机相关专业的正在毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该毕业设计管理系统采用B/S结构,使用JAVA开发语言,结合JSP技术,以MySQL作为后台数据库。 该系统共包含四种角色:学生、导师、院系管理员和系统管理员。 每种角色的各自功能如下: 1.学生 学生根据自己已知的账号登陆系统,可以进行个人基础信息的维护;查看公告;还可以根据不同的阶段,进行相应的任务操作。 选题阶段,学生进行一下操作:查询选课,选题操作,查看选题结果,下载选题相关的参考资料、下载任务书、上传开题报告。 过程阶段,可操作的有:提出问题,查看留言,上传论文,查看过程文件的评阅结果,上传正式完整的论文。 答辩阶段,可进行的操作有:查看答辩分组情况,上传外文译文,查看毕业论文成绩 2.导师 导师根据已知的信息编号登陆系统,可以进行个人基础信息的维护;查看公告;还可以在论文的不同阶段,进行相应的任务操作。 选题阶段,教师可以进行的操作有:上传拟定的课题,查看课题的审核结果,查看选题分配结果,上传选题相关的参考资料,发布任务书。 过程阶段,教师可以进行的操作有: 查看疑难提问,疑难解答,评阅学生论文过程文件,中期检查记录,查看学生正式完整论文。 答辩阶段,教师可以进行的操作有:查看答辩分组情况,提交学生毕业论文成绩。 3.院系管理员 院系管理员根据已知的注册信息登陆系统,可以进行个人基础信息的维护;查看新闻公告;查看老师和学生的信息;还可以在不同的阶段,进行相应的任务操作。 选题阶段,院系管理员可以进行的操作有:审核老师上传的课题,设置学生选题的开始时间和结束时间,查看选题情况,解决教师与学生之间双向选择的冲突,使之平衡。 过程阶段,院系管理员可以进行的操作有:查阅指导教师的中期检查记录,设置完整正式论文的提交期限,查阅学生完整正式论文。 答辩阶段,院系管理员可以进行的操作有:安排设置答辩教师分组,汇总学生论文成绩并发布。 4.系统管理员 是对系统所有信息进行维护,其权限具有的功能模块是:系统运行和系统维护。 系统运行:初始化系统,更新每年老师和学生的相关角色信息;根据每年学校里对毕业论文安排的时间,开放或关闭该系统平台。 系统维护:此模块也分为两个子模块。 系统使用菜单维护和权限分配来增加功能。 也就是说,它是功能的扩展。 特权分配是将特权分配给管理员并使用它们。 学院维护:添加,修改和删除信息,例如学校,专业和年级。 教师保留:更正教师信息并实时更新教师信息。 学生保留:您可以保留学生信息和学生类型,以及添加,修改和删除学生信息和学生类型信息。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值