轉(zhuǎn)帖|行業(yè)資訊|編輯:蔣永|2016-11-09 14:54:16.000|閱讀 363 次
概述:本文描述了敏捷數(shù)據(jù)庫開發(fā)的五個關(guān)鍵要素。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
雖然大多數(shù)應(yīng)用程序開發(fā)人員視敏捷作為主流的開發(fā)方法,數(shù)據(jù)庫開發(fā)人員,尤其是開發(fā)關(guān)系型數(shù)據(jù)庫的程序員卻較難接受敏捷。因為部署變更時需要理解并遵守數(shù)據(jù)庫狀態(tài)。因此,數(shù)據(jù)庫專業(yè)人員不得不依賴手動流程,不去將開發(fā)規(guī)模擴大到敏捷核心的快速開發(fā)周期。
直到數(shù)據(jù)庫開發(fā)過程,特別是關(guān)系型數(shù)據(jù)庫(Oracle,SQL Server, DB2)的開發(fā)規(guī)模擴大到一個相似的水準,他們?nèi)詫⑹橇硪粋€敏捷組織的瓶頸。
緩解這種瓶頸,需要一個自動化的管道,數(shù)據(jù)庫開發(fā)團隊可以解決風(fēng)險,確保質(zhì)量,在整體上縮短組織的開發(fā)周期。本文描述了敏捷數(shù)據(jù)庫開發(fā)的五個關(guān)鍵要素。
版本控制在數(shù)據(jù)庫開發(fā)項目中起到了不同的作用,但仍是追蹤數(shù)據(jù)庫定義語言(DDL)每一步變動的極好方式。隨著時間的推移,追蹤存儲函數(shù)和過程的版本,讓程序員更容易在各版本間評估、比較它們,并診斷出現(xiàn)在產(chǎn)品之路上的問題。
即使開發(fā)團隊和QA團隊非常全面的記住所有他們需要測試的,在代碼變更需要check-in的時候,手工測試仍舊比自動化測試要慢得多。自動化測試提供了一個基礎(chǔ)安全網(wǎng)絡(luò),加速了數(shù)據(jù)庫開發(fā)。因為它幾乎能提供立即保證,新的代碼變化不會破壞早期的開發(fā)工作。不僅如此,在代碼check-in的時候,通過自動化執(zhí)行測試用例,程序員會立即收到中斷反饋,并且能快速的在最恰當(dāng)位置進行修復(fù),這也是修復(fù)缺成本最低的時候。
程序員會給同行審視代碼,以確保他們沒有遺失一些什么,或引入了安全漏洞、犯了邏輯錯誤,無意中減緩了產(chǎn)品開發(fā)進度。靜態(tài)代碼分析軟件明顯加速整個過程,并通過閱讀代碼、定義相同的開發(fā)模式來確保遵循公司標準。
數(shù)據(jù)庫開發(fā)人員,也可以從單元測試后的靜態(tài)代碼分析中獲得增益,這甚至超過了應(yīng)用程序開發(fā)人員的同行。由于極端的壓力以及數(shù)據(jù)庫開發(fā)周期最后期限不斷收緊,許多團隊匆忙的進行代碼審閱,或者完全跳過這個步驟。因此,在數(shù)據(jù)庫開發(fā)級別上,可以自動化此流程,減少團隊花費的時間,并增加代碼審閱的一致性。自動化代碼審查可以檢查寫入的規(guī)則,幫助執(zhí)行公司標準,提高產(chǎn)品的質(zhì)量、性能、可維護性、安全性、流程化。
為了降低數(shù)據(jù)丟失和其他故障的風(fēng)險,數(shù)據(jù)庫開發(fā)路徑通常包括DBA會在部署階段停止,以便在其投入生產(chǎn)環(huán)境之前審查代碼更改。雖然自動化DBA停止不是一個好主意,自動創(chuàng)建ALTER腳本以進行部署是縮短開發(fā)周期的有價值的步驟。 DBA可以使用自動化工具收集已通過回歸測試和靜態(tài)代碼分析的所有隊列變化管理部署路徑,將它們與生產(chǎn)環(huán)境進行比較并生成腳本以提交它們。這不僅可以提高DBA的效率和縮短開發(fā)周期,而且還可以確保所有項目的更改應(yīng)用到生產(chǎn)環(huán)境中。自動化隨著組織遠離手動流程和自動化工具,數(shù)據(jù)庫開發(fā)周期將開始縮減,所有團隊都可以開始實現(xiàn)敏捷的承諾。以零碎的方式使用軟件工具都比純手動過程快,但它只提供增量的改進。敏捷需要團隊工作方式的根本性轉(zhuǎn)變。團隊必須尋找一種方法即在不需要團隊的進一步交互下,創(chuàng)建完全自動化的管道用于提交更改回歸測試,審查和分段部署,而不是讓人員管理流程的每個步驟。 DBA可以放心的是,代碼更改符合質(zhì)量標準并遵守公司策略,管理人員可以看到代碼將滿足項目要求并在生產(chǎn)環(huán)境中正常運行。
應(yīng)用程序開發(fā)人員長期以來利用敏捷開發(fā)的做法,以縮短他們的開發(fā)周期并減少代碼變更的相關(guān)風(fēng)險。另一方面,數(shù)據(jù)庫開發(fā)還是依賴于傳統(tǒng)的手動過程,以減少在生產(chǎn)環(huán)境中數(shù)據(jù)庫中數(shù)據(jù)丟失的風(fēng)險。
由此導(dǎo)致的瓶頸,特別是在關(guān)系型數(shù)據(jù)庫環(huán)境中,始終將組織作為一個實現(xiàn)敏捷全部承諾的整體:針對市場變化立刻發(fā)布軟件產(chǎn)品的能力。
對應(yīng)用軟件開發(fā)人員,數(shù)據(jù)庫開發(fā)人員以及數(shù)據(jù)庫管理人員(DBAs)來說,自動化是同步應(yīng)用軟件團隊和數(shù)據(jù)庫團隊開發(fā)周期的關(guān)鍵。
本文轉(zhuǎn)自()
>>>>>查看更多數(shù)據(jù)庫相關(guān)資訊、產(chǎn)品
活動時間:11月1日-11月30日
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn