DBA參與開發專案的意義

lwitpub發表於2009-09-08
1.        為什麼DBA要了解業務需求? DBA瞭解業務需求後會給專案代來哪些建議? 

DBA瞭解業務需求後,就明白了業務流程,熟悉了業務流程就清楚了資料的流向,然後就可以站在資料的角度來分析資料變化的情況(如資料增長情況,資料分佈情況,是否有特殊性資料等),有了以上這些分析,DBA就可以更好的配合開發同事來設計表和索引等.

比如,一些記錄日誌的表,這些表中的資料生命週期相對很短。幾周或是幾個月而已。這時DBA可能會和開發同事討論,建議使用partition table技術來完成。

 

2.      為什麼開發同事設計好專案中所有的表和索引後,開發同事要和DBA一起討論一下?

 

因為開發同事主要是偏向於業務功能如何實現,對實現業務功能和業務邏輯有較強的技能。但對的認識一般會把資料庫當作是一個存放資料的工具,一個黑匣子來看。而DBA的工作正是瞭解資料庫的工作機制,站在效能的角度來考慮如何讓資料有效的存放和快速的取出。所以感覺開發人員和DBA共同協作,可能會做得更好,設計出更高效的系統.

 

3.      為什麼開發同事要將與專案相關的提供給DBA檢視?

 

開發同事主要提供執行次數較為頻繁(執行次數很多)SQL,這樣的SQL執行一次可能開銷不太,但是由於執行次數較多,所以整體開銷會很大(Executions*per exec)。同時由於執行執行次數較多容易會現lock或是latch等現象。另外,執行次數較為頻繁的SQL所牽涉到的表,應該也是熱點表,所以當DBA知道這些後,會有針對性的重點觀察關注這些SQL及用到的熱點表。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/628922/viewspace-614150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章