1. 为什么DBA要了解业务需求? DBA了解业务需求后会给项目代来哪些建议 ?
DBA了解业务需求后,就明白了业务流程,熟悉了业务流程就清楚了数据的流向,然后就可以站在数据的角度来分析数据变化的情况(如数据增长情况,数据分布情况,是否有特殊性数据等),有了以上这些分析,DBA就可以更好的配合开发同事来设计表和索引等.
比如,一些记录日志的表,这些表中的数据生命周期相对很短。几周或是几个月而已。这时DBA可能会和开发同事讨论,建议使用partition table技术来完成。
2. 为什么开发同事设计好项目中所有的表和索引后,开发同事要和DBA一起讨论一下?
因为开发同事主要是偏向于业务功能如何实现,对实现业务功能和业务逻辑有较强的技能。但对数据库的认识一般会把数据库当作是一个存放数据的工具,一个黑匣子来看。而DBA的工作正是了解数据库的工作机制,站在性能的角度来考虑如何让数据有效的存放和快速的取出。所以感觉开发人员和DBA共同协作,可能会做得更好,设计出更高效的系统.
3. 为什么开发同事要将与项目相关的SQL提供给DBA查看?
开发同事主要提供执行次数较为频繁(执行次数很多)的SQL,这样的SQL执行一次可能开销不太,但是由于执行次数较多,所以整体开销会很大(Executions*per exec)。同时由于执行执行次数较多容易会现lock或是latch等现象。另外,执行次数较为频繁的SQL所牵涉到的表,应该也是热点表,所以当DBA知道这些后,会有针对性的重点观察关注这些SQL及用到的热点表。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7364032/viewspace-214868/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7364032/viewspace-214868/