如何走向数据库这条路?管理,开发或者BI都行本帖最后由 x_wy46 于 2012-11-08 20:54:38 编辑发帖目的确实是
如何走向数据库这条路?管理,开发或者BI都行
本帖最后由 x_wy46 于 2012-11-08 20:54:38 编辑 发帖目的确实是想问问大家如何走向数据库这条路的,还是坛子里的高手们都是全能的,边写程序边兼职数据库管理(开发)?
个人对开发没有什么兴趣,倒是喜欢自己捣鼓捣鼓,写个小工具啥的
如果必须做开发的,其实现在就是,也问题不大,不会拖进度,不会写出太低级下流的代码
一开始是搞winform的,换成做bs的,从来没写过js,上来就是jquery那一套,找个参考的,
复制粘贴修修改改,也木啥大问题
其实我也不是太讨厌写程序,用起来没用过的东西,还是能新鲜个两周的
因为经历过一个项目,诸多方面的原因吧,在心里留下很深很深的阴影,
不断地变更,做出来的东西他说不是这样的,然后你改,完了还不是他想要的,就这样反反复复……
所以对业务系统的开发有一种恐惧性
抱怨一下先
在目前的公司中
如果站在数据库的角度,很多东西是无法容忍的,
不少在线运行的系统,对应的数据库中,表没有任何索引,主键,代码中,几乎是清一色的select * from tableName
到处都是sql+="x=123"的方式拼查询条件,偶尔你整个绑定变量,参数化sql,别人还觉得怪怪的
因为他们已经把拼sql当做一项规范了,似乎不可动摇
但是这些个系统确确实实,的的确确没有出现性能的问题,几经蹂躏后,系统反而跑的好好的
这仅仅是站在数据库的角度来看的。
为什么说这些,并不是装逼我程序写的好,而是说,不管你搞的再烂,他系统能跑了,就算成功。
很多系统,压根就没有多少数据量,从数据库的角度看,再select * from XYZ,也不会有出现瓶颈
面对不断强大起来的软件和硬件,性能早已被屏蔽你想到最最基础的规范之外。
所以,你平时所谓的索引,所谓的平衡树结构,所谓的碎片,所谓的叶拆分,所谓的sql优化,所谓的性能,所谓的分区,所谓的备份,所谓的日志,所谓的镜像,所谓的物理结构,所谓的逻辑结构,反正是你关注的所有的东西,
都变成了浮云
所以我感觉,在这种环境下关注数据库,意义不大,不是说数据库意义不大,而是对于现实意义不大
老板会说,我系统跑的好好的,谁让你加索引啊
你一天整出来几个页面,实现几个功能,一点一点不报错,老板见了你会眉开眼笑,指定认为你是高手
真不知道,往这条路上走,究竟该怎么做
其实很羡慕sql版这些个星星钻钻级的任务的,不是羡慕能赚多少分,
而是可以面对大把大把的数据库的问题
有充分的时间和精力去研究和解决,这跟研究系统的业务过程,用户的需求,有意思多了
想想也仅仅是个人爱好而已,有人还专门愿意了解用户业务,挖掘用户需求呢。
艹,写个半天也不知道到底想说啥,还是天天写代码,明天继续
其实研究研究新鲜的东西,还是蛮爽的,所以我喜欢捣鼓些小工具出来玩
不过话又说回来
那谁说过,技术就像看日本动作片,研究起来挺爽的,真是到你自己去实战的时候,就不是那么回事了,
面对时间紧,任务中,谁他妈还有心思去研究啊
一天下来,累个半死,再好看的动作片,也没心思
乱!!!
[最优解释]
有一定的开发能力是做开发、dba、bi的前提,连sql都不会写的话混不下去的。所以个人的建议是最少做一年开发,然后再转。DBA、BI都有前途和钱途。也相对没那么累。不是说看不起开发,但是国内的情况还是实实在在。过了一定年龄,你就算再牛,别人也不要你。所以要考虑转型的问题。
[其他解释]
先开发 再管理 再BI 三步走 最后一步根据兴趣了
[其他解释]
混呗。像我这样什么都不会的就只会混
[其他解释]
你不是很厉害吗?
[其他解释]。。。。。。。。。
[其他解释]我们公司也这样,做项目不给需求,想到什么做什么,我这边做了,快做完了,又说这样不好,要那样。变更太快了。感觉自己老是在做无用功。
[其他解释]这也是对软件工程肤浅的理解的结果,光需求搞好了,细节都要做好多工作,在国内就成简单的几句话,变更快当然很正常,不变更到怪了。
[其他解释]混呗......
[其他解释]守得云开见月明
[其他解释]多掌握一些技术没错啊
[其他解释]混都能混这么多勋章,求指导?
[其他解释]我觉得先把编程搞好再说吧!
[其他解释]简单比喻就是:开发作出东西,DBA管理这些东西,BI通过提炼这些,生成高级报表。
[其他解释]哥们,DBA 、BI 和开发的区别在哪啊?
一个大项目,整个系统的设计也属于开发吧? 核心代码的编写不是开发吗? 如果说DBA能最终决定系统的效率性能,是不是意味着 关乎重要性能的核心代码 ,DBA的开发水平比真正的开发要高呢?
[其他解释]好事,只会写语句的程序员不是好的程序员,也成为不了优秀的程序员。得不到别人尊重
[其他解释]我感觉sql技巧是需要积累的,
基础就是 insert,select,delete update group by having exists,in,union,except,meger,CTE,变量,循环,控制语句,以及有这些延伸出来的游标,触发器,过程,函数,
稍微偏低岑一点的还是比较有意思的,文件逻辑结构,物理结构,表数据存储方式,索引结构,索引碎片,区,页,分区,备份还原,日志,维护策略,安全策略……
[其他解释]边看理论边实践
[其他解释]原来dba是高级额 刚知道
[其他解释]《sql server 2005技术内幕》
[其他解释]喔喔,学习了
[其他解释]null
[其他解释]null
[其他解释]多掌握一些技术是好的
[其他解释]剩者为王 有一天一回头你发现这就是搞这一行的终极秘籍
[其他解释]现在最怕的就是变更了,那种从主流程上的变更
[其他解释]那是因为整个公司没有控制好。我们公司也一样,累死人。这不是你的错。或者说不是你负主要责任。国内说白了真正愿意遵守流程或者规范化的开发人员非常少,有技术的就更少了。而心高气傲的人我见多了(我也不是什么好鸟)。要么忍痛协助公司成长,要么走人,但是还是建议先锻炼好开发能力。
[其他解释]能意识到问题 离解决问题就不远了
[其他解释]、
谦虚了,再说了,我也不会混啊
[其他解释]说道规范,那个留给我阴影的项目,从他妈一开始就是扯淡,做他妈需求了啊,
就是那个SB的需求人员自己给人家设计的系统,压根就没有遵从人家的业务
系统开发出来了,说服不了人家用户,就怪开发,说什么“需求变更很正常”
我正常你麻痹啊,你从头改到尾,一直都是伤筋动骨般地该啊,还正常啊
想起来我就恼火,艹
其实我不说,他心里能踏实吗?做了亏心事,忽悠过去领导,忽悠过去小兵,忽悠不过去自己
做人,不管你是搞哪行哪业的,做事,要负起起码的责任。
[其他解释]好一个“守得云开见月明”,我就继续守着吧……
[其他解释]无论做什么职位,算法功底对你没有任何坏处,包括在生活里面,算法也能帮你解决很多问题,再者不会编程的DBA怎么去优化程序?
[其他解释]这个我到是大概了解。
当然,大数据量的查询生成高级报表,也挺能体现技术水平的。 有的表查一小时,高手改了之后变几十秒的事都遇到过。
我也是刚入行没多久。现在做着开发。 只知道DBA 和开发路子不同。
但没明白具体区别在哪。
主要是总听人说,DBA 老点没关系,经验丰富才吃香。 待遇又好,相对没那么累。而开发
到了岁数就干不动了,工资还不好往上长。
但是,我的疑问就在于,要是体现技术水平的核心代码是开发写,那DBA的价值体现在哪啊?
难道安装维护数据库的技术含量那么高?还是所谓合理分配数据库的物理空间对性能影响比关键代码还大?
我的理解,既然那工作待遇相对那么好,肯定应该有啥 高技术含量的不容易学会的知识吧,而且,应该是对系统来说挺重要的环节才能显出其价值的吧?
如果说,DBA的SQL水平,可以在开发的基础上,把需要的地方的性能进一步提升,也就是其在关键SQL语句的水平高于开发人员,那工资高我倒是非常理解。毕竟技术水平高嘛。
都说决定程序性能的是算法。 这种数据库系统的项目,所谓算法应该大多体现在SQL写的好坏吧。
[其他解释]
也没必要深究太多,先做下开发,打好T-SQL基础,再打算换DBA还是BI。DBA很像一个医生,特别是中医,越老越值钱,而且真的是要为系统“治病”
[其他解释]其实sql对于一个数据库,不管是t_sql对于sqlserver,pl/sql对于oracle,充其量占整个数据库应用的十分之一,甚至不到,dba不仅仅是写sql真么简单,当然我意思不是说写sql就没有技术含量。
[其他解释]我以前写sql也不考虑性能问题,但是最近在一家公司工作,4亿的数据量,每天200W的数据插入,不得不优化自己的SQL,建立索引啊,分区什么的,建立中间表,都要做,否则查询效率太尼玛低了。
[其他解释]扫了一遍帖子及回复,表示赞同
[其他解释]吉哥 咋个了解T-SQL的本质,同求……
[其他解释]了解T-SQL的本质,才能写出高效的代码。
[其他解释]我就是按照上级说的做,我们也经常改,很频繁,我们是属于做医疗的,国家政策改我们必须改,客户需求改我们也改,其实有很多地方我知道做完了需要改,但是上级要求,我觉的当你不是上级的时候,少提意见,上级坚决不听下属意见,很正常,反正我们那的money没少就行,随他怎么改,浪费的时间皆不是自己的,但是自己绝对不能打酱油,因为时间宝贵,公司能打酱油的人很多,但是我们能打的起酱油的人却很少,如果我常常在写项目的时候如果考虑会有问题,我会多做一个方案,放在项目中但是不启用,等到需要改的时候,上级给的时间还是那么多,但是我却只需要更换一下实现类即可,其余的时间,充电
[其他解释]本质无非是,执行计划,I0
执行计划粗说了,就是三种join方式,nester loops join,merge join ,hash join
表或者是索引的lookup或者是scan,
避免一些个书签查找,
再就是索引统计信息,直方图什么的
I0的话,表扫面次数,逻辑度,物理读,预读,
索引的话,无非是聚集非聚集,再细分下去,唯一索引,包含索引,符合索引,全文索引,之类的
这些的本质,就是,数据存储的page 和extends,B树结构
还有啥?
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html