学生可以做一个怎样的项目来证明自己掌握了 MySQL 等数据库技术呢?

2017-04-30 15:36:42 +08:00
 1oNflow

曾经考虑过自己实现一个类似 MySQL 的简单数据库,但考虑到从零开始难度比较高,时间不太够,而且目前也不需要对数据库底层有非常深入的了解。现在考虑可不可以对 MySQL 进行一些扩展或者优化,比如写一些存储函数(我看到大家都说不要用存储过程,但这只是个人练习的项目不包含什么业务,写完不会改的)来改变排序的方式(字典,数字)等,或者对并行查询的简单优化,或者和 spark 这种分布式框架结合。不知道大家有没有一些建议,非常感谢。

4698 次点击
所在节点    程序员
20 条回复
xfspace
2017-04-30 15:53:25 +08:00
证明自己掌握...并不是写项目吧。把理论吃透先?
roychan
2017-04-30 15:58:15 +08:00
不了解底层怎么扩展?
1oNflow
2017-04-30 16:01:10 +08:00
@xfspace 的确理论很重要,但我目前打算联系教授,如果没有一个项目作为基础,和对方没有谈技术的话题啊,因为没有笔试来证明我掌握了。
1oNflow
2017-04-30 16:03:58 +08:00
@roychan 从零开始写一个数据库可能做不到了,不过去研究 MySQL 怎么做的还是可以的,而且不是源代码的扩展应该不会需要非常深入吧。
roychan
2017-04-30 16:21:54 +08:00
@1oNflow 没必要纠结于 MySQL,学习学习数据库理论吧,如果有课能上更好。
JamesMackerel
2017-04-30 16:22:13 +08:00
学生成绩管理系统?
roychan
2017-04-30 16:24:19 +08:00
学会用 MySQL 和了解数据库原理是两件几乎正交的事情。要证明你了解数据库理论,不一定要实现一个完整的数据库算法,实现数据库理论当中的一些重要算法就可以了。
1oNflow
2017-04-30 16:27:00 +08:00
@JamesMackerel 这个主要侧重 web 方面吧,而且有 spring jpa 这种自己写怎么也超越不了啊。
msg7086
2017-04-30 17:22:32 +08:00
唔,为什么要证明自己掌握了使用数据库技术?
lianxiaoyi
2017-04-30 17:24:46 +08:00
例如索引什么情况下失效,为什么子查询慢成屎!!!!研究这些玩意!
moult
2017-04-30 20:00:38 +08:00
既然都考虑写一个数据库了,那就先搞一个 MySQL 的存储引擎吧。
wdlth
2017-04-30 20:21:35 +08:00
不是应该证明自己不光是掌握数据库么?
eloah
2017-04-30 20:50:49 +08:00
用 postgreSQL,证明自己不需要这么坑的 MySQL 数据库就好(逃
Tunar
2017-04-30 22:26:46 +08:00
轮子。。呗。。
changwei
2017-05-01 00:37:48 +08:00
刷 bat 等大厂的 dba 面试题呗!把所有面试题都吃透,并且能说出所有选项的对错原因,那么就算是精通了。另外可以参考一些非常复杂的大型开源项目的数据库设计,观察他们对于范式和反范式的设计和优化,索引的建立以及表关系(实体间关系)的理解。
bottleimp
2017-05-01 01:49:34 +08:00
不需要这么麻烦吧,只是为了面试的话,搞明白索引怎么实现的,然后懂一些 sql 优化就行了。
zhx1991
2017-05-01 12:07:20 +08:00
把索引搞懂吧, 日常使用这点最重要
zhengxiaowai
2017-05-01 13:44:40 +08:00
你是要奔 DBA 去么,其实普通开发对数据库要求没那么高,会配置,懂索引,能写 SQL,会优化 SQL,一般就够了。
Hozzz
2017-05-01 22:44:40 +08:00
基础的无外乎就是如何巡检数据库,优化 sql,搭建灾备环境,灾难演练;高级点的,知道底层架构( LRU,数据字典,数据如何落地,如何保证数据完整性,加锁机制,死锁,锁冲突...);再高级点的,如何截日志等等_(:з」∠)_
xliao
2017-05-02 08:45:58 +08:00
找几份 xxx 脱裤的文本数据,从导入、清洗、抽取、加工、分析最终得到一个 xxx 报表,优化优化优化,应该可以检测出对 Mysql 掌握程度了(至少开发够用了)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358245

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX