成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

架構(gòu)師眼中的MySQL開發(fā)模式

譯文
運維 數(shù)據(jù)庫運維 MySQL
2007年夏天,當(dāng)我第一次以資深MySQL架構(gòu)師的身份——這份工作一直伴隨我走到現(xiàn)在——參與到企業(yè)業(yè)務(wù)當(dāng)中時,議程備忘中的第一項內(nèi)容就是討論開發(fā)模式問題。2005年,也就是當(dāng)時的兩年之前我們推出了5.0版本,而接下來將要接棒的新一代MySQL 5.1還要一年多才會面世。但大家一致對MySQL 5.0與MySQL 5.1的開發(fā)模式感到不夠理想,因此我們就如何做出改善問題展開了大量討論。

【51CTO精選譯文】五年時光匆匆而過,時至今日我們使用的是被稱為“里程碑”(Milestone)的發(fā)布模式,并已經(jīng)開始以此為基礎(chǔ)努力打造第二個GA版本。

新舊兩套開發(fā)模式間的不同之處

現(xiàn)在我們來聊聊新舊兩種開發(fā)模式之間的幾項主要差異。

我認(rèn)為目前我們所使用的開發(fā)模式,其最重要的特性就是整個開發(fā)流程以2到4個月為周期始終處于隨時可發(fā)布狀態(tài),并且能夠穩(wěn)定地按照每6個月推出新GA版本的進(jìn)度進(jìn)行運作。對于可發(fā)布狀態(tài),我們的定義為:產(chǎn)品質(zhì)量嚴(yán)格符合候選發(fā)布版的相關(guān)標(biāo)準(zhǔn)。在過去的開發(fā)模式中,我們的標(biāo)準(zhǔn)相對比較寬松,所謂可發(fā)布狀態(tài)是指當(dāng)前版本到達(dá)候選發(fā)布要求——但由于在測試階段仍然可能有新功能不斷被添加進(jìn)來,因此整個發(fā)布流程周期常常長達(dá)兩年,而不是現(xiàn)在的2到4個月。

新模式給MySQL新代碼帶來的影響

那么這種新模式會給我們的MySQL新代碼開發(fā)工作帶來哪些影響呢?在我看來,這意味著新代碼必須以小規(guī)模模塊的形式添加到產(chǎn)品中來,換句話說新代碼中不能混雜過多舊代碼,因為這可能會帶來新的未知沖突及不穩(wěn)定因素??傊?,如果需要向MySQL Server中某個復(fù)雜程度較高的區(qū)域添加新功能,我們會首先對該區(qū)域進(jìn)行重新設(shè)計,然后才著手實施功能添加工作。如此一來,我們就在某種程度上保持了開發(fā)流程的穩(wěn)定性始終擁有最高優(yōu)先級。而在過去,我們向MySQL Server中添加新功能時往往會造成系統(tǒng)穩(wěn)定性優(yōu)先級別的下降,這對于一款開發(fā)模式而言當(dāng)然不是什么好事。

有趣的是,隨著穩(wěn)定性在開發(fā)流程中的重要性得到進(jìn)一步增強,我們反而獲得了放手處理新功能的廣闊空間!不過有時候我們未必能按照自己的預(yù)期快速開發(fā)出特定的新功能。如果一項新功能會對MySQL Server中復(fù)雜性較高的某些代碼造成干擾,那么為了系統(tǒng)穩(wěn)定性的考量,我們會事先進(jìn)行一系列準(zhǔn)備工作及測試流程,這是此類新功能出臺的必要前提。但是對于大部分與MySQL Server復(fù)雜區(qū)域不相關(guān)的邊緣新功能來說,整個添加過程則更加順暢同時輕松愉快。

新模式下的主要功能開發(fā)流程

接下來要談的是如何在這套模式中處理主要功能的添加工作,其中最需要注意的因素在于如何保證新代碼擁有良好的排布結(jié)構(gòu)。也就是說在添加新功能時,我們不能簡單地從編寫代碼著手,而應(yīng)該首先思考現(xiàn)有代碼結(jié)構(gòu)能否與正在開始的新功能緊密契合。舉例來說,我們在MySQL 5.6版本中添加了眾多新功能,而LOCK_open正是其中之一。如果按照以往傳統(tǒng)的MySQL Server開發(fā)模式,我們會直接將新功能添加進(jìn)來,然后檢測它會與哪些現(xiàn)有MySQL Server功能組件發(fā)生沖突,并確保所有已經(jīng)確定的新問題在新的GA版本發(fā)布之前得到解決。但現(xiàn)在我們的思路更先進(jìn)、處理方式也完全不同。首先我們會建立一系列重新設(shè)計項目,將LOCK_open主功能完全隔離起來,這樣就保護(hù)了運行中的元數(shù)據(jù)免遭破壞、同時也為連接中的元數(shù)據(jù)提供了緩沖措施。在以上步驟的執(zhí)行過程中,我們可以繼續(xù)進(jìn)行手頭的其它MySQL 5.6開發(fā)工作,而且原本非常重要的LOCK_open功能更新能夠以小補丁的形式添加進(jìn)主系統(tǒng)當(dāng)中,同時也讓功能升級變得更加安全。

新開發(fā)模式的靈感來源

我們之所以選擇這種全新的開發(fā)模式,其靈感顯然源自以Linux內(nèi)核為代表的其它幾個典型開源項目。它們的成功為我們的新思路提供了指導(dǎo)與借鑒。

從舊模式向新模式的轉(zhuǎn)換

盡管新模式的優(yōu)勢如此明顯,但從舊模式轉(zhuǎn)換為新模式的道路卻并不平坦。在決定發(fā)起變革之后,我們制定了新的開發(fā)流程,并在其中添加了多項意義重大的新功能。然而流程的出臺并不意味著實際工作的順利進(jìn)行,概念與可發(fā)布狀態(tài)之間仍然相隔十萬八千里,因此我們做出了“一個艱難的決定”——以MySQL 5.1開發(fā)流程為基礎(chǔ)將一切過去推倒重來。這套新流程是我們首次在開發(fā)過程中使用“里程碑”模式的嘗試,但原先的模式中同樣包含很多意義重大的理想方案,因此我們需要一步步將遺留資源與新規(guī)劃加以整合。整個過程持續(xù)了數(shù)年之久,由于新的開發(fā)流程對于新功能的運作效果及穩(wěn)定性要求極高,因此進(jìn)度不快也在情理之中。不過現(xiàn)在我們終于大功告成,所有有價值的功能都已經(jīng)被遷移到新模式當(dāng)中,其它的則要么直接棄用、要么利用其它方式加以替代。

對于未來MySQL開發(fā)的影響

那么新模式的引入到底會在當(dāng)下與未來給MySQL開發(fā)工作帶來哪些影響呢?首先要強調(diào)的是,我們在MySQL 5.6中添加了200項新功能,這表明新的開發(fā)模式確實能為我們的用戶及消費者帶來大量激動人心的革命性升級與改進(jìn)。希望這套開發(fā)模式能夠繼續(xù)指引開發(fā)工作順利開展,我們也會繼續(xù)努力為MySQL技術(shù)社區(qū)帶來更多更具吸引力的功能。作為一位架構(gòu)師,我非常自豪地關(guān)注著MySQL技術(shù)團隊的一舉一動,也為他們針對MySQL架構(gòu)做出的改善而深感驕傲。相信隨著新模式的逐漸完善與新功能的持續(xù)加入,MySQL會為全世界使用者帶來更加光彩奪目的特性。

原文鏈接:

http://mikaelronstrom.blogspot.hk/2012/10/an-architects-view-of-mysql-development.html

原文標(biāo)題:An architect's view of the MySQL Development model

 

【編輯推薦】

  1. MySQL源碼學(xué)習(xí):MDL字典鎖
  2. MySQL Cluster開發(fā)環(huán)境簡明部署
  3. MySQL的四種不同查詢的分析
  4. MySQL的四種不同查詢的分析
  5. MySQL內(nèi)存表的特性與使用介紹

 

責(zé)任編輯:彭凡 來源: 51CTO
相關(guān)推薦

2020-01-16 15:35:00

高并發(fā)架構(gòu)服務(wù)器

2012-03-21 17:30:21

百度架構(gòu)師

2012-12-13 09:40:04

架構(gòu)師

2020-06-28 14:15:52

前端架構(gòu)師互聯(lián)網(wǎng)

2020-08-24 08:50:12

架構(gòu)師TL技術(shù)

2020-01-13 15:40:14

架構(gòu)師業(yè)務(wù)技術(shù)網(wǎng)關(guān)

2009-12-18 10:22:50

Ray Ozzie架構(gòu)師

2012-08-04 16:02:00

架構(gòu)師

2022-04-28 13:08:51

架構(gòu)師軟件

2020-05-15 08:38:33

架構(gòu)師高級開發(fā)互聯(lián)網(wǎng)

2009-02-26 16:32:58

SaaS開發(fā)SaaS應(yīng)用Open API

2009-12-29 15:32:01

架構(gòu)師

2012-06-17 12:58:04

架構(gòu)師架構(gòu)

2019-07-23 18:15:26

技術(shù)大數(shù)據(jù)數(shù)據(jù)庫

2010-12-28 10:40:50

admin

2015-10-28 13:39:25

2019-09-27 09:56:31

軟件技術(shù)硬件

2009-02-10 15:30:21

軟考系統(tǒng)架構(gòu)師

2018-07-03 15:46:24

Java架構(gòu)師源碼
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品在线国产 | 欧美色成人 | 亚洲综合色视频在线观看 | 激情网站| 免费一区 | 91精品国产综合久久久久久丝袜 | 亚洲国产精品一区二区第一页 | 国产免费拔擦拔擦8x高清 | 成人精品一区二区三区 | 免费美女网站 | 国产精品久久久久aaaa樱花 | 日韩视频精品在线 | 一级片网址 | 中文字幕视频在线观看免费 | 久久精品色欧美aⅴ一区二区 | 中文字幕成人 | 天天干天天草 | 7799精品视频天天看 | 国产在线一区二区三区 | 日本三级精品 | 日日摸夜夜添夜夜添精品视频 | 国产精品毛片一区二区三区 | 亚洲国产欧美在线人成 | 就操在线| 精品欧美一区二区三区久久久 | 毛片在线看片 | 免费在线观看一区二区 | 毛片网站在线观看 | 中文字幕一区二区三区精彩视频 | 日韩一二区在线观看 | 爱综合 | www.99热.com| 国产免费一级片 | 9999国产精品欧美久久久久久 | 欧美亚洲视频 | 丝袜 亚洲 另类 欧美 综合 | 国产美女黄色片 | 亚洲一区中文字幕 | 中文字幕人成乱码在线观看 | 中文字幕日本一区二区 | 国产伊人久久久 |