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