欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:湖倉一體架構(gòu)理論與實踐匯總

柚子快報邀請碼778899分享:湖倉一體架構(gòu)理論與實踐匯總

http://yzkb.51969.com/

湖倉一體架構(gòu)理論與實踐匯總

軟件研發(fā)本質(zhì)上屬于“手工業(yè)”。軟件研發(fā)在很大程度上還是依賴于個人的能力。當(dāng)軟件規(guī)模較小時,依賴“手工業(yè)”可以解決問題,但是當(dāng)軟件規(guī)模大了之后再依賴“手工業(yè)”就不行了。

軟件的復(fù)雜度包含兩個層面:軟件系統(tǒng)層面的復(fù)雜度和軟件研發(fā)流程層面的復(fù)雜度。

在軟件系統(tǒng)層面上,針對大型軟件,“when things work,nobody knows why”儼然已經(jīng)是一種常態(tài)。

對于大型軟件來講,復(fù)雜才是常態(tài),不復(fù)雜才不正常。

軟件系統(tǒng)很難一開始就做出完美的設(shè)計,只能通過功能模塊的衍生迭代讓軟件系統(tǒng)逐步成型,然后隨著需求的增加再讓功能模塊進(jìn)行衍生迭代,因此本質(zhì)上軟件是一點點生長出來的,其間就伴隨著復(fù)雜度的不斷累積。

軟件生長示意圖

軟件復(fù)雜度的分類

最常見的錯誤方式是采用DDD(Deadline Driven Development,期限驅(qū)動開發(fā)),用Deadline來倒逼研發(fā)團(tuán)隊交付業(yè)務(wù)功能。但大量的實踐經(jīng)驗告訴我們,軟件研發(fā)就是在需求范圍、軟件質(zhì)量、時間進(jìn)度這個三角中尋求平衡的。

軟件研發(fā)的三角平衡

上述做法從表面上看可以更快地取得進(jìn)展,快速摘取成功的果實,但是經(jīng)過一段時間之后(一般是6~18個月),負(fù)面效果就會凸顯出來,會顯著降低研發(fā)的速度和質(zhì)量。而且這種負(fù)面效果是滯后的,等問題能夠被感知到的時候,往往已經(jīng)形成一段時間,軟件架構(gòu)的腐化就是這樣在不知不覺中形成的。

以上這種急功近利的做法,本質(zhì)上是將長期利益讓位于短期利益,過度追求短期交付效率,最終的結(jié)果只能是“欲速則不達(dá)”。

正確戰(zhàn)略方向下的“慢”,遠(yuǎn)遠(yuǎn)好過錯誤方向下的“快”。作為技術(shù)管理者必須學(xué)會兩者之間的平衡之道,并為此長期承擔(dān)后果。

軟件工程的發(fā)展

軟件工程 1.0

“軟件工程1.0”,即第一代軟件工程,自然是受建筑工程、水利工程等影響的傳統(tǒng)軟件工程。

傳統(tǒng)軟件工程主要是向土木工程和工業(yè)工程學(xué)習(xí),吸收其百年實踐積累下來的方法和經(jīng)驗,以及沉淀下來的思想。

軟件工程1.0體現(xiàn)了以下特征:

(1)產(chǎn)品化:只是交付符合質(zhì)量標(biāo)準(zhǔn)的組件、構(gòu)件和系統(tǒng),沒有認(rèn)識到軟件的柔性和數(shù)字化特性,把軟件當(dāng)作傳統(tǒng)工業(yè)的產(chǎn)品,由此產(chǎn)生“軟件工廠”這樣的思想。

(2)結(jié)構(gòu)化:受傳統(tǒng)建筑工程的影響,重視框架和結(jié)構(gòu)的設(shè)計,表現(xiàn)為以架構(gòu)設(shè)計為中心進(jìn)行結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計、結(jié)構(gòu)化編程等。

(3)過程決定結(jié)果:流程質(zhì)量決定產(chǎn)品質(zhì)量,一環(huán)扣一環(huán),相信良好的過程產(chǎn)生良好的產(chǎn)品,關(guān)注過程勝過關(guān)注人,非常關(guān)注過程評估和過程改進(jìn),CMMI (Capability Maturity Model Integration,能力成熟度模型集成)就是其典型代表。

(4)重視質(zhì)量管理:引入傳統(tǒng)的質(zhì)量管理體系,包括以顧客為中心的全面質(zhì)量管理和缺陷預(yù)防。

(5)階段性明確:需求評審?fù)ㄟ^才能開始設(shè)計;設(shè)計評審?fù)ㄟ^才能開始實施(編程),編程結(jié)束再進(jìn)行測試等,瀑布模型是其典型代表模型。

(6)責(zé)任明確:角色定義清晰,分工細(xì)致。

(7)文檔規(guī)范化:強調(diào)規(guī)范的文檔,定義了大量的文檔模板。

(8)計劃性強:具有完整的計劃并嚴(yán)格控制變更。

(9)注重項目管理:圍繞項目開展管理工作,包括風(fēng)險預(yù)防、里程碑控制、關(guān)鍵路徑法等。

軟件工程 2.0

受互聯(lián)網(wǎng)、開源軟件運動、敏捷/DevOps 開發(fā)模式的影響,最終形成的建立在SaaS (Software as a Service,軟件即服務(wù))、云之上的軟件工程定義為“軟件工程2.0”。

開源軟件運動讓我們首先認(rèn)識到:

“軟件過程”和“軟件管理”并非非常重要,至少不是第一要素,因為第一要素還是人;

其次是軟件架構(gòu),簡單且能解耦,如采用SOA(Service-Oriented Architecture,面向服務(wù)的架構(gòu))、微服務(wù)架構(gòu)來解耦,更具可擴展性;

再者是代碼的可讀性、可測試性,使代碼具有可維護(hù)性,而流程和管理雖然具有價值,但作用不大。

互聯(lián)網(wǎng)的普及、開源軟件運動以及市場的變化(更激烈的市場競爭、客戶希望的按時高質(zhì)量產(chǎn)品、靈活性、及時修改滿足新需求等)以及加上軟件本身是一種知識性產(chǎn)品,所有這些都引導(dǎo)人們對軟件工程進(jìn)行新的思考并不斷認(rèn)識軟件工程,從而在2001年17位軟件開發(fā)輕量型流派掌門人聯(lián)合簽署了《敏捷軟件開發(fā)宣言》。

之后逐漸形成了敏捷/DevOps 開發(fā)模式、精益軟件開發(fā)模式等,即軟件工程進(jìn)入2.0時代。軟件工程2.0的特征可以簡單概括為下列幾點:

(1)SaaS:軟件更多的是以一種服務(wù)存在。

(2)強調(diào)價值交付:只做對用戶有價值的事情,加速價值流的流動。

(3)以人為本:個體與協(xié)作勝于流程和工具,充分發(fā)揮個人和團(tuán)隊的創(chuàng)造性與潛力;擁抱變化,敏捷開發(fā)或輕量級過程,加速迭代,以不變應(yīng)萬變。

(4)自我管理的團(tuán)隊:像一家初創(chuàng)公司一樣運營,具有主動性并能夠承擔(dān)風(fēng)險,具有自治能力,能自主建立目標(biāo)和制訂計劃,不斷反思,持續(xù)改進(jìn)。

(5)持續(xù)性:階段性不明確,持續(xù)構(gòu)建、持續(xù)集成、持續(xù)測試、持續(xù)交付,以時間換空間,消除市場風(fēng)險。

(6)開發(fā)、測試和運維的融合:強調(diào)測試與開發(fā)融合,開發(fā)與運維融合,推崇全棧工程師等。

(7)真正把用戶放在第一位:用戶、產(chǎn)品經(jīng)理盡可能參與團(tuán)隊開發(fā)過程,注重用戶體驗,千人千面。

(8)知識管理:將軟件工程納入知識管理的范疇,強調(diào)將項目的計劃、估算等工作授權(quán)給從事具體工作的開發(fā)人員,如任務(wù)安排不再由管理者下達(dá)任務(wù),而由開發(fā)人員自主選擇適合自己的任務(wù)。

(9)更有樂趣:“史詩故事”、用戶故事、站會等讓軟件開發(fā)工作更有趣、更健康。

軟件工程3.0

隨著將GPT-4+(指GPT-4及其未來升級的版本)融入軟件開發(fā)生命周期中,開發(fā)人員的使命將會發(fā)生變化,因為GPT-4+重新定義了開發(fā)人員構(gòu)建、維護(hù)和改進(jìn)軟件應(yīng)用程序的方式。

之后的軟件開發(fā)會依賴這種全新的語言交流方式(類似于ChatGPT),讓這類工具理解開發(fā)人員交代的任務(wù),自主完成軟件開發(fā),如理解需求、自動生成UI、自動生成產(chǎn)品代碼、自動生成測試腳本等。

此后,開發(fā)團(tuán)隊的主要任務(wù)不再是寫代碼、執(zhí)行測試,而是訓(xùn)練模型、參數(shù)調(diào)優(yōu)、圍繞業(yè)務(wù)主題提問或給出提示。

因此,我們說GPT-4將開啟“軟件工程3.0”新時代,2023年是軟件工程3.0的元年,軟件工程3個時代的劃分如下圖:

軟件工程3個時代的劃分

GPT-4+ 在 軟件工程上的能力:

1、軟件需求獲取、分析與定義

2、軟件設(shè)計與體系結(jié)構(gòu)(提供建議、識別設(shè)計模式、分析和優(yōu)化軟件體系結(jié)構(gòu),以及分享最佳實踐和框架方面的知識,為軟件開發(fā)人員提供有價值的幫助等)

3、代碼生成和優(yōu)化(如代碼生成、代碼補全、代碼評審、代碼優(yōu)化等工作)

4、測試用例和測試代碼等生成

5、錯誤檢測和解決

6、協(xié)作和知識共享(如在團(tuán)隊討論、頭腦風(fēng)暴會議、代碼審查時提供實時幫助,形成會議紀(jì)要、總結(jié),理清邏輯和發(fā)現(xiàn)問題,并提供有價值的見解等)

GPT-4+支持更智能、更高效和協(xié)作的開發(fā)方法,給軟件工程領(lǐng)域帶來了革命性的變化。軟件開發(fā)的新范式是模型驅(qū)動開發(fā)、模型驅(qū)動運維,在 DevOps 兩環(huán)前面,加一個環(huán)形成三環(huán)聯(lián)動,如下圖所示:

軟件工程3.0開發(fā)范式示意圖

其中機器學(xué)習(xí)(Machine Learning,ML)中的要素有模型(Model)、數(shù)據(jù)(Data),而研發(fā)經(jīng)過計劃(Plan)、創(chuàng)建(Create)、驗證(Verify)、打包(Package)、發(fā)布(Release)等環(huán)節(jié)進(jìn)入運維,運維有兩個關(guān)鍵環(huán)節(jié):配置(Configure)和監(jiān)控(Monitor)。

由此我們可以看到,在軟件工程3.0時代,軟件即模型(Software as a Model,SaaM),這個模型不同于過去軟件工程1.0或軟件工程2.0時代所談到的抽象模型[(如UML中的模型、OMG(Object Management Group,對象管理組織)]所提的模型驅(qū)動架構(gòu)(Model Driven Architecture,MDA)中的模型,

而是深度神經(jīng)網(wǎng)絡(luò)模型、大型語言模型(Large Language Model,LLM)或其他人工通用智能(Artificial General Intelligence,AGI)模型,可以直接給人類提供服務(wù)的模型。

在基于MaaS的軟件工程3.0時代,軟件以這類AI大模型的形態(tài)為用戶提供各種各樣的服務(wù),而且未來會成為一種常態(tài)。

框架與時代的演變

VUCA 時代

VUCA(中文發(fā)音一般為“烏卡”)的含義如下:

● V:Volatility,易變性。

● U:Uncertainty,不確定性。

● C:Complexity,復(fù)雜性。

● A:Ambiguity,模糊性。

VUCA 時代信息無時無刻不在發(fā)生變化,用戶的需求也無時無刻不在發(fā)生變化,甚至用戶自己也不知道想要什么。

MVP(最小可行產(chǎn)品)

21世紀(jì)初,產(chǎn)品創(chuàng)新領(lǐng)域提出了MVP(Minimum Viable Product,最小可行產(chǎn)品)來面對VUCA時代,其中的思想源頭是人們思維方式的迭代。

演繹、歸納和假設(shè)-演繹邏輯

而MVP就是產(chǎn)品人對“假設(shè)-演繹”方法論的應(yīng)用。通過MVP方法不斷完善產(chǎn)品,這是一個螺旋上升的過程,每一次產(chǎn)出既是目的,也是手段。作為目的,創(chuàng)造了用戶價值,滿足了用戶需求;作為手段,讓我們獲得反饋,知道下一次迭代應(yīng)該做什么。這樣,我們就把做產(chǎn)品從一次研發(fā)的“有限游戲”變成不斷螺旋上升的“無限游戲”。

M2V6P 框架

在MVP的基礎(chǔ)上,筆者擴展出了自己的M2V6P方法論框架,主要原因是覺得一開始就做產(chǎn)品還不夠“低成本”,其實可以更靈活。

M是Minimum,最小化的意思,意味著每一步都要盡量少地投入。

2V是Viable(可行性)和Valuable(有價值),這里加了一個V,是因為產(chǎn)品創(chuàng)新要面臨兩大風(fēng)險,這里用Viable表示要對抗技術(shù)風(fēng)險,用Valuable表示要對抗市場風(fēng)險。

6P的含義:

第一個P是Paperwork,案頭研究,重點考查問題是否存在,是否值得解決。

第二個P是Prototype,原型樣機,重點考查是否有解決方案。

第三個P是Product,產(chǎn)品本身,要看解決方案能不能產(chǎn)品化。

第四個P是Promotion,營銷推廣,考慮的是如何把數(shù)量做大。

第五個 P 是 Portfolio,產(chǎn)品組合,是在單一產(chǎn)品的基礎(chǔ)上,要推出更多相關(guān)的成功產(chǎn)品。

第六個P是People,人才,考慮的是更長周期,即當(dāng)行業(yè)興衰不可避免時,組織如何永續(xù)。

其中,前兩個P(Paperwork+Prototype)對應(yīng)前產(chǎn)品階段。

中間兩個P(Product+Promotion)對應(yīng)單一產(chǎn)品階段。

最后兩個P(Portfolio+People)對應(yīng)產(chǎn)品矩陣階段。

某公司數(shù)據(jù)湖倉一體化實踐

某公司大數(shù)據(jù)技術(shù)的歷史狀況

某公司的中臺產(chǎn)品-數(shù)字云的架構(gòu)是基于Hadoop生態(tài)體系構(gòu)建而成的,在存儲方面使用了分布式文件系統(tǒng)HDFS(Hadoop Distributed File System),首先利用自研的數(shù)據(jù)同步工具Data-in 定時同步業(yè)務(wù)系統(tǒng)的數(shù)據(jù)到數(shù)據(jù)中臺,然后利用不同的數(shù)據(jù)處理引擎分別進(jìn)行離線和實時計算的加工。

離線數(shù)倉(數(shù)倉為數(shù)據(jù)倉庫的簡稱)的加工采用Hive 作為離線數(shù)倉工具,以Tez 為數(shù)據(jù)計算引擎的架構(gòu)方案,每天定時對數(shù)據(jù)進(jìn)行加工和處理并給到業(yè)務(wù)方。

離線數(shù)倉的數(shù)據(jù)采集、計算任務(wù)的調(diào)度周期大多數(shù)都以天為顆粒度。為了能夠在第二天上班前計算好報表數(shù)據(jù),數(shù)據(jù)采集任務(wù)都集中設(shè)置在凌晨執(zhí)行,因此凌晨成為資源消耗的高峰期。

針對需要實時處理的場景,需要再投入大量資源建設(shè)一個實時數(shù)倉;

由于離線與實時使用的技術(shù)棧不統(tǒng)一,因此系統(tǒng)需要投入更多的資源來維護(hù)。

這樣的弊端有:

1、每天數(shù)據(jù)全量同步給數(shù)據(jù)庫,給數(shù)據(jù)庫造成巨大壓力,也增加了業(yè)務(wù)系統(tǒng)的不穩(wěn)定因素,給集群的存儲帶來較大壓力成本

2、集群的資源利用率不均,凌晨高峰期緊張,白天資源大部分處于限制狀態(tài)。

離線數(shù)倉架構(gòu)

數(shù)字云在實時數(shù)倉上采用的是 Lambda 架構(gòu),設(shè)計之初是為了在處理大規(guī)模的數(shù)據(jù)時,同時發(fā)揮流處理和批處理的優(yōu)勢。

通過批處理提供全面、準(zhǔn)確的數(shù)據(jù);

柚子快報邀請碼778899分享:湖倉一體架構(gòu)理論與實踐匯總

http://yzkb.51969.com/

相關(guān)閱讀

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18933153.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄