這篇文章主要講解了“為什么說(shuō)共享數(shù)據(jù)庫(kù)已成過(guò)去式了”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“為什么說(shuō)共享數(shù)據(jù)庫(kù)已成過(guò)去式了”吧!
創(chuàng)新互聯(lián)建站于2013年開(kāi)始,先為崇仁等服務(wù)建站,崇仁等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為崇仁企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
共享數(shù)據(jù)庫(kù)范式是一種常見(jiàn)的開(kāi)發(fā)工作流程,即團(tuán)隊(duì)中的所有開(kāi)發(fā)人員都共享某一個(gè)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限,都使用該數(shù)據(jù)庫(kù)來(lái)支持應(yīng)用程序開(kāi)發(fā)。
這一工作流程很簡(jiǎn)單,無(wú)需為每個(gè)工程師配置基礎(chǔ)架構(gòu),使安裝成本降至最低,因而人們?cè)敢膺x擇它。但由于工程師做出改變的同時(shí)不得不承擔(dān)著影響其他人工作的風(fēng)險(xiǎn),它也會(huì)給工程師造成痛苦和瓶頸。
Spawn使我們能夠輕松進(jìn)行數(shù)據(jù)庫(kù)配置,并使每個(gè)工程師都擁有自己專(zhuān)用的數(shù)據(jù)庫(kù)環(huán)境,而無(wú)需配置任何額外的基礎(chǔ)架構(gòu)。
共享數(shù)據(jù)庫(kù)
共享數(shù)據(jù)庫(kù)通常包含一個(gè)生產(chǎn)數(shù)據(jù)庫(kù)的副本(適當(dāng)?shù)乇黄帘我詣h除敏感數(shù)據(jù),并且可能被子集化以縮小其規(guī)模),該副本由團(tuán)隊(duì)中的所有開(kāi)發(fā)人員共享。共享數(shù)據(jù)庫(kù)的好處是管理的基礎(chǔ)架構(gòu)更少,開(kāi)發(fā)人員只需將連接字符串插入共享數(shù)據(jù)庫(kù)即可快速啟動(dòng)并運(yùn)行。
盡管這種設(shè)置對(duì)一個(gè)很小的團(tuán)隊(duì)或很少進(jìn)行數(shù)據(jù)庫(kù)更改的團(tuán)隊(duì)頗有作用,但它很快會(huì)遇到一些問(wèn)題:
互踩:開(kāi)發(fā)人員可能會(huì)嘗試對(duì)共享數(shù)據(jù)庫(kù)進(jìn)行矛盾互斥的更改,存在抹去彼此工作的風(fēng)險(xiǎn)。
不能安全地遷移應(yīng)用:更改一項(xiàng)功能的數(shù)據(jù)庫(kù)架構(gòu)可能會(huì)破壞其他代碼。
未知狀態(tài):如果數(shù)據(jù)庫(kù)的狀態(tài)不受單個(gè)開(kāi)發(fā)人員的控制,從一瞬間更改到下一瞬間,錯(cuò)誤再現(xiàn)和應(yīng)用程序測(cè)試將變得更加困難。
共享數(shù)據(jù)庫(kù)模式日益落后,因?yàn)槿萜骰沟脭?shù)據(jù)庫(kù)供應(yīng)比以往任何時(shí)候都更容易,消除了基礎(chǔ)設(shè)施供應(yīng)的開(kāi)銷(xiāo)。
每個(gè)開(kāi)發(fā)人員一個(gè)數(shù)據(jù)庫(kù)
在這種模型下,團(tuán)隊(duì)中的每個(gè)開(kāi)發(fā)人員都有自己的(隱藏的)生產(chǎn)數(shù)據(jù)庫(kù)副本,可以根據(jù)該副本進(jìn)行工作。這使開(kāi)發(fā)人員可以單獨(dú)更改其數(shù)據(jù)庫(kù)副本,從而解決了由于爭(zhēng)用共享數(shù)據(jù)庫(kù)而引起的問(wèn)題。
這在過(guò)去比較困難,因?yàn)槲覀儽仨殲槊總€(gè)開(kāi)發(fā)人員提供類(lèi)似于生產(chǎn)的應(yīng)用程序數(shù)據(jù)庫(kù)的副本。但是,通過(guò)使用Spawn,我們可以從命令行配置臨時(shí)數(shù)據(jù)庫(kù)實(shí)例,而無(wú)需設(shè)置或托管任何其他基礎(chǔ)架構(gòu):
使用Spawn,我們可以每天從生產(chǎn)環(huán)境中創(chuàng)建一個(gè)數(shù)據(jù)映像(作為計(jì)劃構(gòu)建管道的一部分),并使此映像對(duì)開(kāi)發(fā)人員和CI系統(tǒng)都可用——所有這些都使用Spawn CLI。可以從備份文件或腳本創(chuàng)建映像。
然后,每個(gè)開(kāi)發(fā)人員都可以基于此映像配置自己的數(shù)據(jù)庫(kù),而不必像運(yùn)行spawnctl create data-container
Spawn在幕后Kubernetes集群中創(chuàng)建并托管一個(gè)容器化的數(shù)據(jù)庫(kù)實(shí)例,將開(kāi)發(fā)團(tuán)隊(duì)從管理自己的數(shù)據(jù)庫(kù)基礎(chǔ)設(shè)施的負(fù)擔(dān)中解脫出來(lái),并獲得專(zhuān)用數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā)的所有好處:
快速提供任意規(guī)模的數(shù)據(jù)庫(kù):Spawn使用塊級(jí)文件系統(tǒng)快照來(lái)恢復(fù)和寫(xiě)入數(shù)據(jù)庫(kù)。這意味著即使是最大的映像也可以在幾秒鐘內(nèi)配置完畢,并且保持高速寫(xiě)入。
快照和還原:可以使用Spawn CLI spawnctl save命令隨時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行快照。使用spawnctlreset可恢復(fù)到以前的任何狀態(tài)。無(wú)需擔(dān)心數(shù)據(jù)庫(kù)更改,因?yàn)樗偸呛苋菀走€原。
無(wú)需基礎(chǔ)設(shè)施:Spawn負(fù)責(zé)數(shù)據(jù)庫(kù)的供應(yīng)和托管,允許開(kāi)發(fā)人員專(zhuān)注于代碼。
同一映像的多個(gè)副本:一個(gè)映像可用于根據(jù)需要提供盡可能多的數(shù)據(jù)庫(kù)——所有這些數(shù)據(jù)庫(kù)都有自己的連接字符串,相互獨(dú)立和分離。
多數(shù)據(jù)庫(kù)支持:Spawn支持SQL Server、Postgres、MySQL、redis和Mongo。
感謝各位的閱讀,以上就是“為什么說(shuō)共享數(shù)據(jù)庫(kù)已成過(guò)去式了”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)為什么說(shuō)共享數(shù)據(jù)庫(kù)已成過(guò)去式了這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!