在之前的課程中,我們已經(jīng)學(xué)習(xí)了基礎(chǔ)的網(wǎng)絡(luò)知識(shí),IP地址的知識(shí),網(wǎng)絡(luò)存儲(chǔ)和網(wǎng)絡(luò)接入相關(guān)的知識(shí)。是感覺(jué)到意猶未盡呢?還是想趕緊遠(yuǎn)離這個(gè)大魔王趕緊學(xué)習(xí)其它的內(nèi)容呢?別急,我們還差最后的一點(diǎn)東西沒(méi)說(shuō)完。
上回我們已經(jīng)介紹過(guò)了專門(mén)的文件服務(wù)器也就是 NAS ,接下來(lái)我們就先來(lái)了解一下數(shù)據(jù)庫(kù)相關(guān)的知識(shí)。其實(shí)對(duì)于一個(gè)信息系統(tǒng)來(lái)說(shuō),NAS 和 SAN 都不是最核心的,因?yàn)槲覀冎苯邮褂糜脖P(pán) DAS 形式來(lái)存儲(chǔ)數(shù)據(jù)也是沒(méi)有任何問(wèn)題的。而數(shù)據(jù)庫(kù)肯定是要存在的,另外后面我們要講的中間件也就是一些程序代碼服務(wù)器也是必需的。有了這兩個(gè)東西,才能說(shuō)一個(gè)可互聯(lián)的信息系統(tǒng)才是成立的。
對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說(shuō),如果你不是做開(kāi)發(fā)的同學(xué),那么就把他想象成一個(gè) Excel 表格,只不過(guò)是非常龐大的 Excel ,有著很高的穩(wěn)定性和安全性?,F(xiàn)代的主要數(shù)據(jù)庫(kù)都是關(guān)系型數(shù)據(jù)庫(kù),比較出名的包括 Oracle 、MySQL 和 SQLServer 三個(gè)。Oracle 公司除了擁有 Oracle 數(shù)據(jù)庫(kù)這個(gè)產(chǎn)品外,還擁有 MySQL 這個(gè)開(kāi)源數(shù)據(jù)庫(kù)以及 Java 編程語(yǔ)言。而 SQLServer 則是微軟公司的產(chǎn)品。在普及率方面來(lái)說(shuō),因?yàn)?MySQL 的開(kāi)源免費(fèi)優(yōu)勢(shì),普及率是最高的,而 SQLServer 和 Oracle 一般會(huì)用于政府及銀行系統(tǒng),畢竟收費(fèi)的提供的服務(wù)以及安全和穩(wěn)定性會(huì)更勝一籌。
除了傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)外,現(xiàn)在還有比較流行的鍵值數(shù)據(jù)庫(kù) Redis ,還有文檔型數(shù)據(jù)庫(kù)如 MongogDB ,大數(shù)據(jù)處理的列式數(shù)據(jù)庫(kù) HBase 等等。
前面我們已經(jīng)提到了一個(gè)列式數(shù)據(jù)數(shù) HBase ,這種數(shù)據(jù)庫(kù)對(duì)于聚合查詢運(yùn)算相較于普通的關(guān)系型數(shù)據(jù)庫(kù)有非常明顯的優(yōu)勢(shì)。啥叫聚合運(yùn)算?就是 SUM、AVG、COUNT 這一類的查詢。因此,這一類數(shù)據(jù)庫(kù)也經(jīng)常會(huì)用于 數(shù)據(jù)倉(cāng)庫(kù) 技術(shù)中。學(xué)過(guò)大數(shù)據(jù)開(kāi)發(fā)的同學(xué)可以跳過(guò)這一節(jié)。
在了解 數(shù)據(jù)倉(cāng)庫(kù) 是一個(gè)什么概念前,我們先來(lái)了解一些名詞。
ETL(Extract/Transformation/Load,清洗/轉(zhuǎn)換/加載):從數(shù)據(jù)源抽取出所需要的數(shù)據(jù),經(jīng)過(guò)清洗、轉(zhuǎn)換,按照定義好的數(shù)倉(cāng)模型加載到 數(shù)據(jù)倉(cāng)庫(kù) 中。其實(shí)這個(gè)過(guò)程就是將數(shù)據(jù)從異構(gòu)轉(zhuǎn)為同構(gòu)的過(guò)程,比如在大數(shù)據(jù)開(kāi)發(fā)中我們的數(shù)據(jù)源有日志、數(shù)據(jù)庫(kù)、緩存等不同的源,就需要將它們統(tǒng)一成一致的格式放到數(shù)倉(cāng)中。
元數(shù)據(jù):有關(guān)數(shù)據(jù)源目標(biāo)定義,轉(zhuǎn)換等相關(guān)的關(guān)鍵數(shù)據(jù),包括數(shù)據(jù)倉(cāng)庫(kù)表的結(jié)構(gòu)、數(shù)據(jù)倉(cāng)庫(kù)表的屬性等等。
粒度:保存數(shù)據(jù)的細(xì)化或綜合程度的級(jí)別。
分割:結(jié)構(gòu)相同的數(shù)據(jù)被分成多個(gè)數(shù)據(jù)物理單元。
數(shù)據(jù)集市:小型的,面向部門(mén)或工作組級(jí)別數(shù)據(jù)倉(cāng)庫(kù)。
ODS(Operation Data Store,操作數(shù)據(jù)存儲(chǔ)):能支持企業(yè)日常的全局應(yīng)用的數(shù)據(jù)集合,是不同于 DB 數(shù)據(jù)庫(kù)的一種新的數(shù)據(jù)環(huán)境。
數(shù)據(jù)模型:邏輯數(shù)據(jù)結(jié)構(gòu)。
人工關(guān)系:在決策支持系統(tǒng)環(huán)境中用于表示參照完整性的一種設(shè)計(jì)技術(shù)。
了解了這些名詞之后,我們?cè)賮?lái)看一下 數(shù)據(jù)倉(cāng)庫(kù) 的含義。數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的、集成的、非易失的、且隨時(shí)間變化的數(shù)據(jù)集合。它專門(mén)用于支持管理決策。其實(shí)說(shuō)白了,就是我們現(xiàn)在最流行的大數(shù)據(jù)系統(tǒng)。另外,上面的這四個(gè)單詞,面向主題的、集成的、非易失的、隨時(shí)間變化的,比較重要,可以記下來(lái)。
對(duì)于數(shù)據(jù)倉(cāng)庫(kù),下面這張圖是不得不說(shuō)的。
1)數(shù)據(jù)源:我們前面就說(shuō)過(guò),數(shù)據(jù)源的來(lái)源可以有很多,而且數(shù)據(jù)源是整個(gè)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的基礎(chǔ)。數(shù)據(jù)來(lái)源包括但不限于日志、數(shù)據(jù)庫(kù)、緩存、外部采集、數(shù)據(jù)爬蟲(chóng)等等。ETL 在大數(shù)據(jù)里有很出名的日志收集方案 ELK (Elasticsearch+Logstash+Kibana)
2)數(shù)據(jù)的存儲(chǔ)與管理:這個(gè)就是我們?cè)诮?jīng)過(guò) ETL 之后保存下來(lái)的格式化之后的數(shù)據(jù),也就是圖中中間那個(gè)圓柱的位置。除了統(tǒng)一的數(shù)據(jù)倉(cāng)庫(kù)外,還可以根據(jù)部門(mén)或者業(yè)務(wù)所需的數(shù)據(jù)不同再拆分成小的部門(mén)級(jí)的數(shù)據(jù)倉(cāng)庫(kù),也稱數(shù)據(jù)集市。非常典型的就是 HBase 。
3)OLAP 服務(wù)器:對(duì)分析需要的數(shù)據(jù)進(jìn)行有效集成,按多種模型予以組織,以便進(jìn)行多角度、多層次的分析,并發(fā)現(xiàn)趨勢(shì)。這一步就是我們前面說(shuō)的聚合計(jì)算的過(guò)程。這個(gè)也不多介紹,Spark、Flink 。
4)前端工具:主要包括各種查詢工具、報(bào)表工具、分析工具、數(shù)據(jù)挖掘工具以及各種基于數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)集市的應(yīng)用開(kāi)發(fā)工具。例如 Hive 、Pig 、前端echarts 等等。
這張圖很重要,圖中每個(gè)部分的概念也很重要,我舉的例子不重要,這些是現(xiàn)在大數(shù)據(jù)中的一些開(kāi)發(fā)框架和工具,教材里是沒(méi)有提及的。
這里的中間件不是我們經(jīng)常說(shuō)的代碼中的那種中間件,當(dāng)然,代碼框架中的也算。這里的中間件的范圍更廣一些,指的是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。它有幾種類型,一看到下面這些類型的描述,如果是做過(guò)開(kāi)發(fā)的同學(xué)一定馬上就能明白了。
1)底層型中間件,包括 JVM(Java虛擬機(jī))、CLR(.NET 需要的公共語(yǔ)言運(yùn)行庫(kù))、JDBC(這玩意還需要解釋?)、ODBC(.NET 陣營(yíng)對(duì)應(yīng)JDBC的存在)
2)通用型中間件,包括 J2EE、COM 等。
3)集成型中間件,包括 WebLogic、WebSphere 等。
如果你不是開(kāi)發(fā)人員,也沒(méi)關(guān)系,稍微了解一下就好,這一塊并不是特別重點(diǎn)的地方。
接下來(lái)我們就要說(shuō)說(shuō)網(wǎng)絡(luò)規(guī)劃這一塊了。這里要講的可不是我們家里簡(jiǎn)單地接個(gè)路由就好了,而是比較偏企業(yè)的網(wǎng)絡(luò)規(guī)劃和布線。首先,我們來(lái)看看網(wǎng)絡(luò)規(guī)劃包括哪些內(nèi)容。
需求分析。調(diào)查用戶網(wǎng)絡(luò)建設(shè)的背景、必要性、上網(wǎng)的人數(shù)和信息量等,然后進(jìn)行縱向的、更加深入地需求分析與調(diào)研,在確定地形、設(shè)備類型、網(wǎng)絡(luò)容量、網(wǎng)絡(luò)現(xiàn)狀等基礎(chǔ)信息的基礎(chǔ)上形成分析報(bào)告,為后續(xù)網(wǎng)絡(luò)設(shè)計(jì)提供依據(jù)。
可行性分析。通常從技術(shù)可靠性、經(jīng)濟(jì)可行性、操作可行性等方面進(jìn)行論證。
對(duì)現(xiàn)在網(wǎng)絡(luò)的分析與描述。如果是在現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行升級(jí),那就要對(duì)現(xiàn)有網(wǎng)絡(luò)系統(tǒng)進(jìn)行調(diào)研,類似于上述的需求分析。
進(jìn)行完網(wǎng)絡(luò)規(guī)劃之后,我們就進(jìn)入到了網(wǎng)絡(luò)設(shè)計(jì)的步驟中,在這里,我們一般會(huì)對(duì)網(wǎng)絡(luò)采取一種 分層 形式的設(shè)計(jì)。主要是引入三種關(guān)鍵層的概念,分別是 核心層、匯聚層 和 接入層 。
網(wǎng)絡(luò)中直接面向用戶連接或訪問(wèn)網(wǎng)絡(luò)的部分稱為接入層,允許終端用戶連接到網(wǎng)絡(luò)。在圖中的 PC 和 服務(wù)器 都是這一層。
匯聚層是 核心層 和 接入層 的分界面,完成網(wǎng)絡(luò)訪問(wèn)策略控制、數(shù)據(jù)包處理、過(guò)濾、尋址,以及其他數(shù)據(jù)處理的任務(wù)。匯聚層需要更高的性能,更少的接口和更高的交換效率。
核心層的主要目的在于通過(guò)高速轉(zhuǎn)發(fā)通信,提供優(yōu)化、可靠的骨干傳輸結(jié)構(gòu),核心層交換應(yīng)擁有更高的可靠性,性能和吞吐量。
分層設(shè)計(jì)是網(wǎng)絡(luò)設(shè)計(jì)的一個(gè)主要概念,在圖中,我們可以看到有個(gè) DMZ 區(qū),一般稱為 “隔離區(qū)” 或者 “非軍事化區(qū)” 。它是為了解決安裝防火墻后外部網(wǎng)絡(luò)的訪問(wèn)用戶不能訪問(wèn)內(nèi)部網(wǎng)絡(luò)服務(wù)器的問(wèn)題,而設(shè)立的一個(gè)非安全系統(tǒng)與安全系統(tǒng)之間的緩沖區(qū)。也就是說(shuō),我們外網(wǎng)用戶要訪問(wèn)公司內(nèi)網(wǎng)數(shù)據(jù)服務(wù)時(shí),需要通過(guò)這個(gè) DMZ 區(qū)來(lái)確認(rèn)安全情況。
上述層次設(shè)計(jì)只是整個(gè)網(wǎng)絡(luò)設(shè)計(jì)工作中的一部分,整個(gè)網(wǎng)絡(luò)設(shè)計(jì)還包括:
1)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)。物理拓?fù)浣Y(jié)構(gòu)的選擇往往和地理環(huán)境分布、傳輸介質(zhì)與距離、網(wǎng)絡(luò)傳輸可靠性等因素緊密相關(guān)。
2)主干網(wǎng)絡(luò)(核心層)設(shè)計(jì)。主干網(wǎng)技術(shù)的選擇,根據(jù)需求分析中用戶方網(wǎng)絡(luò)規(guī)模大小、網(wǎng)上傳輸信息的種類和用戶方可投入的資金等因素來(lái)考慮。
3)匯聚層和接入層設(shè)計(jì)。
4)廣域網(wǎng)連接與遠(yuǎn)程訪問(wèn)設(shè)計(jì)。根據(jù)網(wǎng)絡(luò)規(guī)模大小、網(wǎng)絡(luò)用戶的數(shù)量,來(lái)選擇對(duì)外連接通道的技術(shù)和帶寬。
5)無(wú)線網(wǎng)絡(luò)設(shè)計(jì)。
6)網(wǎng)絡(luò)安全設(shè)計(jì)。機(jī)密性、完整性、可用性、可控性、可審核性。
7)設(shè)備選型。
書(shū)上關(guān)于網(wǎng)絡(luò)規(guī)劃的內(nèi)容其實(shí)就是上述那些,不過(guò)很多教輔資料以及輔導(dǎo)課程都會(huì)講到一個(gè)綜合布線系統(tǒng)。最主要的就是下面這張圖。
我們依次來(lái)看這一大堆的子系統(tǒng)是干嘛用的。
建筑群子系統(tǒng)。這個(gè)就是我們辦公大樓的設(shè)備間,其實(shí)對(duì)應(yīng)我們上一篇課程中的光纖接入類型來(lái)說(shuō)就是 FTTB (光纖入樓)。
設(shè)備間子系統(tǒng)就是我們所說(shuō)的機(jī)房。我們的入網(wǎng)接入,貓、路由、核心交換機(jī)之類的設(shè)備可能都會(huì)放在這里。
垂直干線,很明顯,就是垂直連接各個(gè)樓層的線路。從設(shè)備間的核心設(shè)備出發(fā),達(dá)到各樓層的管理間。
管理間子系統(tǒng),這個(gè)其實(shí)就是每個(gè)樓層對(duì)應(yīng)的小機(jī)房,可能會(huì)放當(dāng)前樓層的交換機(jī)。通過(guò)管理間再將網(wǎng)線拉到各個(gè)辦公區(qū)。
水平干線子系統(tǒng),也叫水平布線,從樓層管理間交換機(jī)中水平拉出的網(wǎng)線。可能達(dá)到各個(gè)辦公區(qū)的末端交換機(jī)上,或者直接連接終端。
工作區(qū)子系統(tǒng),最后要連接到終端電腦上的最后一步,也就是你的工位下的網(wǎng)線。
這六個(gè)子系統(tǒng)很重要,需要記下來(lái),特別是它們的作用和順序。這個(gè)圖也是比較重要的,整個(gè)綜合布線這一塊最好都能記住。不過(guò)在現(xiàn)實(shí)中,我們很少會(huì)有這么大規(guī)模的布線,很多情況下,中小型企業(yè)可能也就是一層樓的辦公室或者很小的辦公區(qū),遠(yuǎn)沒(méi)有這么復(fù)雜。所以大部分情況下可能我們是直接從建筑群到設(shè)備間(機(jī)房)然后就直接到水平干線或者工作區(qū)了。
電子信息系統(tǒng)機(jī)房應(yīng)劃分為 ABC 三級(jí),這個(gè)了解一下就可以了,其中:
A類:對(duì)計(jì)算機(jī)機(jī)房的安全有嚴(yán)格的要求,有完善的計(jì)算機(jī)機(jī)房安全措施。
B類:對(duì)計(jì)算機(jī)機(jī)房的安全有較嚴(yán)格的要求,有較完善的計(jì)算機(jī)機(jī)房安全措施。
C類:對(duì)計(jì)算機(jī)機(jī)房的安全有基本的要求,有基本的計(jì)算機(jī)機(jī)房安全措施。
可用性(availability)是系統(tǒng)能夠正常運(yùn)行的時(shí)間比例??煽啃裕╮eliability)是軟件系統(tǒng)在應(yīng)用或在系統(tǒng)錯(cuò)誤面前,在意外或錯(cuò)誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力。高可用性(High Availability)通常用來(lái)描述一個(gè)系統(tǒng)經(jīng)過(guò)專門(mén)的設(shè)計(jì),從而減少停工時(shí)間,保持其服務(wù)的高度可用性。
計(jì)算機(jī)系統(tǒng)的可用性用平均無(wú)故障時(shí)間(MTFF)來(lái)度量,即計(jì)算機(jī)系統(tǒng)平均能夠正常運(yùn)行多長(zhǎng)時(shí)間,才發(fā)生一次故障。這個(gè)值對(duì)于做開(kāi)發(fā)的同學(xué)其實(shí)并不陌生,就是我們常說(shuō)的幾個(gè) 9 ,比如說(shuō)年故障率 4 個(gè) 9 就是 ,0.9999 的概率出故障??删S護(hù)性用平均維修時(shí)間(MTTR)來(lái)度量,即系統(tǒng)發(fā)生故障后維修和重新恢復(fù)正常運(yùn)行平均花費(fèi)的時(shí)間。計(jì)算機(jī)的可用性最終可定義為:MTTF/(MTTF+MTTR)*100% 。
想要提高一個(gè)系統(tǒng)的可用性,要么提升系統(tǒng)的正常工作的時(shí)長(zhǎng),要么減少故障修復(fù)時(shí)間。常見(jiàn)的可用性戰(zhàn)術(shù)如下:
錯(cuò)誤檢測(cè):用于錯(cuò)誤檢測(cè)的戰(zhàn)術(shù)包括命令/響應(yīng)、心跳和異常。
錯(cuò)誤恢復(fù):用于錯(cuò)誤恢復(fù)的戰(zhàn)術(shù)包括表決、主動(dòng)冗余、被動(dòng)冗余。
錯(cuò)誤預(yù)防:用于錯(cuò)誤預(yù)防的戰(zhàn)術(shù)包括把可能出錯(cuò)的組件從服務(wù)中刪除、引入進(jìn)程監(jiān)視器。
今天的內(nèi)容主要是了解一下數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)和中間件,以及網(wǎng)絡(luò)規(guī)劃相關(guān)的內(nèi)容。數(shù)據(jù)倉(cāng)庫(kù)和那張圖以及網(wǎng)絡(luò)綜合布線這兩塊是比較重點(diǎn)的內(nèi)容。網(wǎng)絡(luò)設(shè)計(jì)中的分層設(shè)計(jì)的這三層也是需要記憶的內(nèi)容,其它的內(nèi)容了解一下就可以了。
恭喜各位,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)的內(nèi)容我們?cè)谶@篇文章就介紹得差不多了。接下來(lái)就準(zhǔn)備迎接我們的另一個(gè)大魔王:軟件工程。相信你的堅(jiān)持一定會(huì)有所收獲,即使不是為了考試,我們學(xué)習(xí)過(guò)的這些內(nèi)容也一定會(huì)為你擴(kuò)展出更多的知識(shí)邊界,繼續(xù)加油努力吧。
參考資料:
《信息系統(tǒng)項(xiàng)目管理師教程》
《某機(jī)構(gòu)培訓(xùn)資料》
聯(lián)系客服