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