關(guān)于云數(shù)據(jù)管理的復興之路是怎樣的?
【作者按】在最近前往荷蘭的商務(wù)旅程中,我開始沉思Baruch Spinoza(荷蘭)的深遠影響。Spinoza是文藝復興時期的偉大哲學家,與當時的同齡人不同,Spinoza強烈反對傳統(tǒng)的神學觀點。他的名言之一是:“不要對新思想感到驚訝。因為眾所周知,一件事不被許多人接受并不意味著它本身不是真的”。
他認為除了相對特定的情況,事物沒有本質(zhì)上的好壞之分。這讓我聯(lián)想到紛繁的數(shù)據(jù)庫,它們從黑暗的“前云時代”演化而來,盡管當今市場上有各種各樣的數(shù)據(jù)庫,但每個數(shù)據(jù)庫都有自己的用途。我們可以自由地從多個數(shù)據(jù)庫中選擇,選擇多方面的層,將龐然大物分解為微服務(wù),通過利用各種云數(shù)據(jù)管理工具和技術(shù)在構(gòu)建現(xiàn)代云應(yīng)用程序方面進行創(chuàng)新。
云計算前世(BC)
我們?nèi)绾慰创龜?shù)據(jù)庫的歷史遺留問題:計算機信息處理的早期,借由SQL數(shù)據(jù)庫的優(yōu)點我們得以一統(tǒng)數(shù)據(jù)管理領(lǐng)域。在那些落后的年代,如果數(shù)據(jù)增長到幾GB,數(shù)據(jù)庫就會被認為相當龐大了。
然后到了中世紀時期,MySQL在1995年提出開源許可模式,并在數(shù)據(jù)管理領(lǐng)域產(chǎn)生了***個連鎖反應(yīng)。
隨著數(shù)據(jù)變得越來越大,越來越多的應(yīng)用程序開始轉(zhuǎn)向云計算,數(shù)據(jù)庫技術(shù)出現(xiàn)了一種新的動向,大數(shù)據(jù)分析和云應(yīng)用的普及使得數(shù)據(jù)管理領(lǐng)域的啟蒙運動也在大力進軍加速。與MySQL時代相比,當前的形式——隨著云計算策略的***出現(xiàn)——大量數(shù)據(jù)對象和分布式數(shù)據(jù)管理的出現(xiàn)——著實讓人感覺像是一條復興之旅。
云計算今生(CE)
在我們當今的云時代下,數(shù)據(jù)管理是一個數(shù)據(jù)庫數(shù)據(jù)存儲和堆疊的復雜網(wǎng)絡(luò)。隨著MongoDB、HBase、Cassandra、CouchDB、DynamoDB等數(shù)據(jù)庫的普及,谷歌、Facebook、亞馬遜和其他公司已經(jīng)將大量的NoSQL數(shù)據(jù)庫投入前線使用。這是一個巨大的挑戰(zhàn),要把握每一個數(shù)據(jù)庫,并弄清楚為什么使用它。為了理解潛層技術(shù)并獲得對使用哪個NoSQL數(shù)據(jù)庫的廣泛理解,CAP定理是一個很簡便的工具。
CAP定理圖
現(xiàn)代云管理策略
在當今時代,數(shù)據(jù)管理需要被分解成許多不同的維度。在選擇新興閃耀的NoSQL數(shù)據(jù)庫之前,我們應(yīng)該謹慎地考慮使用已經(jīng)證實的SQL數(shù)據(jù)庫。在選擇具體技術(shù)之前,了解數(shù)據(jù)管理的短期和長期商業(yè)策略,權(quán)衡競爭優(yōu)先事項是至關(guān)重要的。
每當我想要評估一個數(shù)據(jù)管理策略時,我都會通過一份清單來幫助我做決定(如下):
- 數(shù)據(jù)的安全性和合規(guī)性考慮是什么
- 數(shù)據(jù)的短期和長期可擴展性是什么
- 數(shù)據(jù)的類型和用途是什么
- 模式更改的頻率是多少
- 數(shù)據(jù)檢索的延遲原因是什么
- 數(shù)據(jù)的速率是多少
- 數(shù)據(jù)的多樣性是什么
- 數(shù)據(jù)可用性的要求是什么
- 數(shù)據(jù)存儲的搜索需求是什么
- 數(shù)據(jù)如何處理成信息和見解
- 數(shù)據(jù)如何分析和報告
- 數(shù)據(jù)存儲在多用戶環(huán)境中嗎
- 數(shù)據(jù)管理的***成本是什么
- 數(shù)據(jù)管理的層級是什么
- 數(shù)據(jù)管理的生命周期要求是什么(備份/恢復)
技術(shù)人員對于云應(yīng)用程序中使用了多個數(shù)據(jù)庫感到舒適。隨著微服務(wù)和貨柜化的使用,這一趨勢也在加速。此外,大多數(shù)云應(yīng)用程序商都意識到分離數(shù)據(jù)管理層的需求,這些層包括一個UI緩存層、CDN層、圖形分析層、業(yè)務(wù)層、業(yè)務(wù)分析層、安全層、報告層、物聯(lián)網(wǎng)設(shè)備層等眾多層,每個層都可以有自己的數(shù)據(jù)管理策略——只要數(shù)據(jù)被保護,通過等REST應(yīng)用程序界面來進行訪問。
把數(shù)據(jù)庫作為一項服務(wù)(DBaaS)
這是一個令人興奮的時代,一組成熟的DBaaS選項針對SQL和NoSQL數(shù)據(jù)庫應(yīng)運而生。例如,亞馬遜極光提供MySQL和PostgreSQL數(shù)據(jù)庫,Instaclustr則提供Cassandra數(shù)據(jù)庫系統(tǒng)作為一項托管在AWS上的服務(wù)。
把分析作為一項服務(wù)(AaaS)
三大云服務(wù)提供商都提供分析服務(wù)。云分析平臺采用的***障礙是對數(shù)據(jù)安全的擔憂,AWS和Azure提供了一套穩(wěn)健的數(shù)據(jù)分析服務(wù),以減輕這種擔憂,Azure分析服務(wù)針對SQL,并提供強大的可視化Power BI工具。
圖數(shù)據(jù)庫使用
圖形數(shù)據(jù)庫變革使解決方案更快地從圖形匹配查詢中受益,同時幫助加速基于網(wǎng)絡(luò)安全、推薦引擎、IT操作、網(wǎng)絡(luò)等方面的鄰接關(guān)系的搜索。例如,在客戶的物聯(lián)網(wǎng)網(wǎng)絡(luò)安全產(chǎn)品中,我們使用Apache Spark和Cassandra DB作為分析層,基于MongoDB的網(wǎng)絡(luò)安全編制,但產(chǎn)生的數(shù)據(jù)由Neo4j圖數(shù)據(jù)庫中組織起來,以便進一步分析網(wǎng)絡(luò)安全的威脅。這是一個數(shù)據(jù)管理分級分離的絕好例子,在這種情況下,***數(shù)據(jù)庫被用于解決網(wǎng)絡(luò)安全產(chǎn)品里非常復雜的問題。
物聯(lián)網(wǎng)數(shù)據(jù)庫
隨著物聯(lián)網(wǎng)可行性應(yīng)用程序的出現(xiàn),從設(shè)備層收集和處理的大量數(shù)據(jù)需要以一種專門的方式處理。我們已經(jīng)成功地使用一個相對新興、令人振奮的InfluxDB開放源碼數(shù)據(jù)庫來有效處理時間序列數(shù)據(jù)。因此,適當?shù)膽?yīng)用程序可以使用InfluxDB數(shù)據(jù)庫和相關(guān)聯(lián)TICK堆棧來進行數(shù)據(jù)管理: