什么是分布式 分布式和并行數(shù)據(jù)庫的區(qū)別?
分布式和并行數(shù)據(jù)庫的區(qū)別?(1)應(yīng)用目標不同。并行數(shù)據(jù)庫系統(tǒng)的目標是充分利用并行計算機的優(yōu)勢,利用系統(tǒng)中的每個處理器節(jié)點并行地完成數(shù)據(jù)庫任務(wù),從而提高數(shù)據(jù)庫系統(tǒng)的整體性能。分布式數(shù)據(jù)庫系統(tǒng)的主要目的是
分布式和并行數(shù)據(jù)庫的區(qū)別?
(1)應(yīng)用目標不同。并行數(shù)據(jù)庫系統(tǒng)的目標是充分利用并行計算機的優(yōu)勢,利用系統(tǒng)中的每個處理器節(jié)點并行地完成數(shù)據(jù)庫任務(wù),從而提高數(shù)據(jù)庫系統(tǒng)的整體性能。分布式數(shù)據(jù)庫系統(tǒng)的主要目的是實現(xiàn)站點自治和透明的數(shù)據(jù)共享,不需要使用網(wǎng)絡(luò)中的每個節(jié)點來提高系統(tǒng)的處理性能。(2) 實現(xiàn)是不同的。在具體的實現(xiàn)方法上,并行數(shù)據(jù)庫系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)也有很大的不同。在并行數(shù)據(jù)庫系統(tǒng)中,為了充分利用各節(jié)點的處理能力,各節(jié)點之間可以采用高速網(wǎng)絡(luò)連接。節(jié)點密鑰的數(shù)據(jù)傳輸成本相對較低。當部分節(jié)點空閑時,可以通過高速網(wǎng)絡(luò)將負載過大的節(jié)點上的部分任務(wù)傳輸?shù)娇臻e節(jié)點進行處理,從而實現(xiàn)系統(tǒng)的負載均衡。但在分布式數(shù)據(jù)庫系統(tǒng)中,為了適應(yīng)應(yīng)用的需要和滿足部門分布的特點,節(jié)點一般采用局域網(wǎng)或廣域網(wǎng)連接,網(wǎng)絡(luò)帶寬較低,反向點的通信開銷較大。因此,在查詢處理中應(yīng)盡量減少節(jié)點間的數(shù)據(jù)傳輸。(3) 每個節(jié)點的狀態(tài)不同。在并行數(shù)據(jù)庫系統(tǒng)中,每個節(jié)點是完全獨立的,沒有全局應(yīng)用和局部應(yīng)用的概念。它只能在數(shù)據(jù)處理中起到協(xié)同作用,不能有局部應(yīng)用。在分布式數(shù)據(jù)庫系統(tǒng)中,每個節(jié)點都可以通過網(wǎng)絡(luò)協(xié)同完成全局事務(wù),每個節(jié)點都有站點自治權(quán),每個站點都有一個獨立的數(shù)據(jù)庫系統(tǒng)。每個站點都有自己的數(shù)據(jù)庫、客戶機、CPU和其他資源,運行自己的DBMS,執(zhí)行本地應(yīng)用程序,并具有高度的自治性。
什么是分布式系統(tǒng)?
它是一個獨立計算機的集合,就像一個與用戶相關(guān)的單一系統(tǒng)。
分布式系統(tǒng)是由一組計算機節(jié)點組成的系統(tǒng),這些節(jié)點通過網(wǎng)絡(luò)進行通信并協(xié)調(diào)以完成常見任務(wù)。系統(tǒng)中的每個節(jié)點對用戶都是透明的,用戶無法感知其背后的邏輯,就像訪問一臺計算機一樣。
它是一個單一的應(yīng)用程序,將所有程序和功能集中在一臺主機上以提供服務(wù)。集中式系統(tǒng)的優(yōu)點是易于維護和操作。
但是這樣的系統(tǒng)也有缺陷,沒問題就可以了,出了問題,很容易造成單點故障,所有功能都不能正常工作。另外,集中式系統(tǒng)的性能瓶頸是單機性能的上限,難以橫向擴展。為了解決集中式系統(tǒng)的缺陷,分布式系統(tǒng)應(yīng)運而生并逐步發(fā)展。
https://www.toutiao.com/i6517034933616116227/
有多少互聯(lián)網(wǎng)系統(tǒng)確實需要使用分布式架構(gòu)?
更不用說互聯(lián)網(wǎng)的實際發(fā)展了,現(xiàn)在即使是面試新生,分布式的問題基本上都是不可避免的。
目前,分布式體系結(jié)構(gòu)具有高并發(fā)性和高穩(wěn)定性的特點。
高并發(fā)意味著當單節(jié)點服務(wù)器的性能達到瓶頸時,可以通過引入nginx和部署多個服務(wù)器節(jié)點來擴展,以增加系統(tǒng)的吞吐量。這就是1*n=n的意思。
高穩(wěn)定性意味著,如果單個或部分節(jié)點由于不可預(yù)知的原因發(fā)生故障,則不會影響系統(tǒng)的整體功能服務(wù),即M-N>0(M>N)。對于用戶來說,系統(tǒng)可用性始終是最重要的。
綜上所述,根據(jù)我個人的經(jīng)驗,目前無論是市場級產(chǎn)品還是公司級產(chǎn)品,只要項目團隊有對服務(wù)質(zhì)量的追求,他們都會以不同的方式向分布式架構(gòu)發(fā)展。
另外,對于一個功能不是很復(fù)雜和龐大的項目組來說,只要在開發(fā)設(shè)計階段一開始就及時引入Memcache或redis作為數(shù)據(jù)緩存,而不是使用服務(wù)器的內(nèi)存,后期切換到分布式系統(tǒng)的過程就會非??臁?/p>
以上是我個人的觀點。歡迎在下面的評論區(qū)與我交流。
我是蘇思亮,來自bat的java開發(fā)工程師。我每天分享科技知識。歡迎您關(guān)注我,與我共同進步。