V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
1oNflow
V2EX  ›  程序员

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

  •  
  •   1oNflow · 2017-04-30 15:36:42 +08:00 · 4754 次点击
    这是一个创建于 2765 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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