Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
本文是由 4 部分組成的系列文章中的第二篇文章,該系列文章簡要介紹了不同的數據解決方案以提供總體概述。它完全與工具無關,并討論了可以根據其功能由不同工具處理的數據管理概念。
在本文中,我們將討論:
? 大數據和 NoSQL
? Hadoop 和 Spark
? 圖形數據庫
? 時間序列數據庫
大數據和NoSQL
大數據和 NoSQL 是兩個總括關鍵字,用于描述非常規數據處理中的特定方法。讓我們先揭開它們的神秘面紗。
大數據:是系統地提取、處理和分析超出傳統軟件系統容量的大量數據的非常規方法的總稱。NoSQL是處理大數據的方式之一。
NoSQL:NoSQL 數據庫提供了不同的數據存儲和處理方法,以 Oracle 或 SQL Server 等傳統數據庫的非關系格式建模。文檔數據庫、鍵值數據庫是 NoSQL 的幾個例子。
大數據組件:
集群計算:它是匯集多臺機器的資源并管理它們的集體能力來完成任務的實踐。
內存計算:內存計算是一種策略,涉及將工作數據集完全移動到集群的集體內存中,以減少在磁盤上寫入數據所花費的時間。
批處理:批處理是一種針對非時間敏感工作的計算策略,涉及處理大型數據集,然后由系統返回結果。
流處理:流處理是當數據項在系統中移動時對數據進行實時分析的實踐。這對于使用高速指標的時間敏感操作非常有用。
大數據生命周期:
數據攝取:這是獲取原始數據并將其添加到系統的過程。此操作的復雜性取決于源數據的格式、質量和數量。
數據存儲:此過程是將數據分布和存儲在集群中的多個節點上。
數據處理:根據要求,數據可以批量或實時處理。數據處理分布在各個節點上進行并行處理。有各種用于特定目的的數據處理框架和工具,例如數據倉庫、機器學習等。
數據可視化:由于數據量很大,識別趨勢比處理值更重要。
NoSQL 數據庫類型、優點和挑戰:
任何采用非關系型數據模型的數據庫都可以稱為NoSQL數據庫。以下是最常見的 NoSQL 數據庫方法。
基于鍵/值對的NoSQL 數據庫將數據存儲在鍵和值對中。它們對于存儲基本信息非常有用,例如有關客戶的詳細信息。
基于列的數據庫將數據分成離散的列。他們不使用行,而是翻轉事物以使數據成為主鍵。
通過使用列,查詢數據時可以獲得更高的速度。然而,在基于列的 DBMS 中查詢整行數據將花費更長的時間。
基于列的系統最適合大數據以及數據相對簡單且一致的情況。
面向文檔的NoSQL 系統(例如鍵/值對數據庫)將數據存儲為鍵值,與鍵配對的值存儲為文檔。
每個文檔都是獨立的,這意味著不需要模式。這些系統非常適合不需要復雜查詢的基于內容的網站和應用程序。
NoSQL 數據庫提供了巨大的優勢,例如處理大數據的可擴展性、處理半結構化和非結構化數據的靈活性、具有成本效益的基礎設施。然而,NoSQL 數據庫并不能取代傳統的 RDBMS 系統。到目前為止,這些系統還不夠成熟,無法處理復雜的查詢和數據一致性。這些數據庫還必須從一致性、可用性和分區容錯性中選擇任意兩個。
Hadoop 和 Spark
在大數據領域,您經常聽到的兩個術語是 Hadoop 和 Spark。讓我們快速瀏覽一下它們。
Hadoop是一個跨集群并行分布式數據處理的平臺,它具有多個組件:Hadoop 分布式文件系統 (HDFS),以 Hadoop 原生格式存儲文件;YARN,協調應用程序運行時的調度;,實際上是并行處理數據的算法。
Spark是一個較新的項目,專注于跨集群并行處理數據。
最大的區別是Hadoop將文件讀寫到HDFS,Spark在RAM中處理數據。Spark 可以以獨立模式運行,也可以以 Hadoop 集群作為數據源運行。
因此,用最簡單的術語來說,我們可以說 Hadoop 處理非常適合批量處理高延遲的大量數據。而 Spark 用于低延遲計算,用于處理實時事件的實時數據。
圖數據庫
該圖將存儲中的數據項與節點和邊的集合相關聯。節點代表一個對象,邊代表兩個對象之間的連接或關系。每個節點和邊都由唯一標識符以及一組屬性定義。圖數據庫的組織和結構不像關系數據庫那樣嚴格。所有關系都本地存儲在邊的頂點內,并且每個邊都可以具有與其關聯的屬性。
從設計上來說,圖形數據庫比傳統數據庫能夠相對更簡單、更快速地檢索復雜的層次結構。然而,圖數據庫并不適合傳統數據庫可以支持的所有數據模型。它們可能無法像傳統數據庫那樣支持復雜的查詢和聚合。
時間序列數據庫
時間序列數據庫用于存儲時間序列數據應用程序(例如物聯網分析)的數據,其中存儲一系列數值,每個數值與時間戳配對,由名稱和一組標記維度定義。傳統數據庫也可以存儲時間序列數據。然而,時間序列數據堆積得非常快,關系數據庫對此并不理想。時間序列數據集主要具有 3 個特征:
一.到達的數據幾乎總是被記錄為新條目
二.數據通常按時間順序到達
三.時間是主軸(時間間隔可以是規則的或不規則的)
在時間序列數據庫中,系統的每次更改都會記錄為新記錄。它使我們能夠衡量變化:分析過去的變化,監控當前的變化,預測未來的變化。
時間序列數據庫越來越多地應用于需要事件記錄、監控和跟蹤的場景。
圖形數據庫和時間序列數據庫是 NoSQL 數據庫,對于特定用例來說非常強大。傳統數據庫和不同NoSQL數據庫的結合可以為數據處理提供健壯、靈活和可擴展的解決方案。
隨著技術的進步,我們以比昨天更快的速度生成和使用各種格式和結構的數據。如果我們能夠正確分析數據,我們就可以利用這些新的數據解決方案,幫助我們發現我們所掌握的數據的真正潛力。
往期推薦
*請認真填寫需求信息,我們會在24小時內與您取得聯系。