欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

大數(shù)據(jù)nosql迭代聚合,大數(shù)據(jù)nosql數(shù)據(jù)庫

大數(shù)據(jù)應(yīng)用程序最佳選擇:是SQL還是NoSQL

執(zhí)行大數(shù)據(jù)[注]項目的企業(yè)面對的關(guān)鍵決策之一是使用哪個數(shù)據(jù)庫,SQL還是NoSQL?SQL有著驕人的業(yè)績,龐大的安裝基礎(chǔ);而NoSQL正在獲得可觀的收益,且有很多支持者。我們來看看兩位專家對這個問題的看法。

10年的孟津網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整孟津建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“孟津網(wǎng)站設(shè)計”,“孟津網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實(shí)執(zhí)行。

專家

·VoltDB公司首席技術(shù)官Ryan Betts表示,SQL已經(jīng)贏得了大型企業(yè)的廣泛部署,大數(shù)據(jù)是它可以支持的另一個領(lǐng)域。

·Couchbase公司首席執(zhí)行官Bob Wiederhold表示,NoSQL是可行的選擇,并且從很多方面來看,它是大數(shù)據(jù)的最佳選擇,特別是涉及到可擴(kuò)展性時。

SQL經(jīng)歷時間的考驗,并仍然在蓬勃發(fā)展

VoltDB公司首席技術(shù)官Ryan Betts

結(jié)構(gòu)化查詢語言(SQL)是經(jīng)過時間考驗的勝利者,它已經(jīng)主宰了幾十年,目前大數(shù)據(jù)公司和組織(例如谷歌、Facebook、Cloudera和Apache)正在積極投資于SQL。

在成為主導(dǎo)技術(shù)(例如SQL)后,有時候我們很容易忘記其優(yōu)越性。SQL的獨(dú)特優(yōu)勢包括:

1. SQL能夠加強(qiáng)與數(shù)據(jù)的交互,并允許對單個數(shù)據(jù)庫設(shè)計提出問題。這是很關(guān)鍵的特征,因為無法交互的數(shù)據(jù)基本上是沒用的,并且,增強(qiáng)的交互性能夠帶來新的見解、新的問題和更有意義的未來交互。

2. SQL是標(biāo)準(zhǔn)化的,使用戶能夠跨系統(tǒng)運(yùn)用他們的知識,并對第三方附件和工具提供支持。

3. SQL能夠擴(kuò)展,并且是多功能和經(jīng)過時間驗證的,這能夠解決從快寫為主導(dǎo)的傳輸?shù)綊呙杳芗蜕钊敕治龅葐栴}。

4. SQL對數(shù)據(jù)呈現(xiàn)和存儲采用正交形式,一些SQL系統(tǒng)支持JSON和其他結(jié)構(gòu)化對象格式,比NoSQL具有更好的性能和更多功能。

雖然NoSQL的出現(xiàn)帶來了一些影響,但SQL仍然主導(dǎo)著市場,并在大數(shù)據(jù)領(lǐng)域贏得了很多投資和廣泛部署。

NoSQL的說法很含糊,對于本次討論,我借用Rick Cattell對NoSQL的定義,即提供簡單操作(例如密鑰/數(shù)值存儲)或簡單記錄和索引,并專注于這些簡單操作的橫向可擴(kuò)展性的系統(tǒng)。

很顯然,現(xiàn)在很多新的數(shù)據(jù)庫并不是都一樣,認(rèn)識每種數(shù)據(jù)庫背后的原理以及潛在問題是成功的關(guān)鍵。NoSQL的主要特點(diǎn)使其更適合于特定的問題。例如,圖形數(shù)據(jù)庫更適合于數(shù)據(jù)通過關(guān)系組織的情況,而專門的文本搜索系統(tǒng)更適合于需要實(shí)時搜索的情況。

在這里,讓我們看看SQL系統(tǒng)的主要優(yōu)勢和差異化功能:

* SQL可實(shí)現(xiàn)交互性。 SQL是一種聲明性查詢語言。用戶說出他們想要什么(例如,顯示過去五年三月份期間頂級客戶的地理位置),數(shù)據(jù)庫內(nèi)部就會構(gòu)件算法并提取請求的結(jié)果。相比之下,NoSQL編程創(chuàng)新MapReduce是一種程序性查詢技術(shù)。在用戶提出請求時,MapReduce要求用戶不僅說出自己想要什么,而且要求他們陳述如何產(chǎn)生答案。

這聽起來像一個無趣的技術(shù)差異,但這很關(guān)鍵,原因在于:首先,聲明性SQL查詢更容易通過圖形化工具以及點(diǎn)擊報告構(gòu)建器來構(gòu)建。這讓分析師、操作員、管理者和其他不具備軟件編程能力的員工進(jìn)行數(shù)據(jù)庫查詢;其次,數(shù)據(jù)庫引擎可以利用內(nèi)部信息來選擇最有效的算法。改變數(shù)據(jù)庫的物理布局或數(shù)據(jù)庫,最佳算法仍然能夠計算出來。而在程序性系統(tǒng)中,編程人員需要重新訪問和重新編程算法,這是非常昂貴且容易出錯的過程。

市場理解這個關(guān)鍵區(qū)別。在2010年,谷歌宣布部署SQL來補(bǔ)充MapReduce,主要受內(nèi)部用戶需求所驅(qū)動。最近,F(xiàn)acebook發(fā)布了Presto(一種SQL部署)來查詢其PB級HDFS集群。根據(jù)Facebook表示:“隨著我們的倉庫增長到PB級,以及我們的需求變化,我們清楚地意識到,我們需要一個提供低延時查詢的互動系統(tǒng)?!贝送?,Cloudera也正在構(gòu)建Impala—另一個基于HDFS的SQL部署。

* SQL是標(biāo)準(zhǔn)化的。 雖然供應(yīng)商有時候會添加自己的語言到SQL界面,但SQL的核心是標(biāo)準(zhǔn)化的,還有其他規(guī)格(例如ODBC和JDBC)提供廣泛可用的穩(wěn)定界面到SQL存儲。這帶來了一個管理和操作工具生態(tài)系統(tǒng),可以在SQL系統(tǒng)之上設(shè)計、監(jiān)控、檢查、探索和構(gòu)建應(yīng)用程序。

SQL用戶和程序員可用跨多個后端系統(tǒng)重復(fù)使用其API和UI知識,減少了應(yīng)用程序的開發(fā)時間。標(biāo)準(zhǔn)化還允許聲明性第三方提取、轉(zhuǎn)換、加載(ETL)工具,使企業(yè)可以在數(shù)據(jù)庫之間以及跨系統(tǒng)傳輸數(shù)據(jù)。

* SQL可擴(kuò)展。 認(rèn)為SQL必須犧牲以獲得可擴(kuò)展性的看法,完全是錯誤的。如前所述,F(xiàn)acebook創(chuàng)建了一個SQL界面來查詢PB級數(shù)據(jù)。SQL能夠非常有效地運(yùn)行極快的ACID傳輸。SQL對數(shù)據(jù)存儲和索引提供的抽象[注]化允許跨各種問題和數(shù)據(jù)集大小的一致使用,讓SQL可以跨集群復(fù)制數(shù)據(jù)存儲有效地運(yùn)行。使用SQL作為界面獨(dú)立于構(gòu)建云、規(guī)?;騂A系統(tǒng),SQL中并沒有什么在阻止和限制容錯、高可用性和復(fù)制。事實(shí)上,所有現(xiàn)代SQL系統(tǒng)支持云友好型橫向可擴(kuò)展性、復(fù)制和容錯性。

* SQL支持JSON。 幾年前,很多SQL系統(tǒng)增加了XML文檔支持?,F(xiàn)在,隨著JSON成為一種流行的數(shù)據(jù)交換格式,SQL供應(yīng)商也紛紛加入了JSON型的支持。基于現(xiàn)在靈活的編程過程和web基礎(chǔ)設(shè)施的正常運(yùn)行時間要求,我們很需要結(jié)構(gòu)化數(shù)據(jù)類型的支持。Oracle 12c、PostgreSQL 9.2、VoltDB和其他支持JSON的數(shù)據(jù)庫,通常具有優(yōu)于“原生”JSON的性能。

SQL將繼續(xù)贏得市場份額,并會繼續(xù)看到新的投資和部署。NoSQL數(shù)據(jù)庫提供專有查詢語言或簡單的鍵值語義,而沒有更深層次的技術(shù)差異化?,F(xiàn)代SQL系統(tǒng)提供可擴(kuò)展性的同時,還支持更豐富的查詢語義,并有龐大的用戶安裝基礎(chǔ),廣泛的生態(tài)系統(tǒng)整合和深度企業(yè)部署。

NoSQL更適合大數(shù)據(jù)應(yīng)用程序

Couchbase公司首席執(zhí)行官Bob Wiederhold

NoSQL越來越多地被認(rèn)為是關(guān)系型數(shù)據(jù)庫的可行替代品,特別是對于大數(shù)據(jù)應(yīng)用程序。此外,無模式數(shù)據(jù)模型通常更適合于現(xiàn)在捕捉和處理的數(shù)據(jù)種類和類型。

當(dāng)我們談?wù)揘oSQL領(lǐng)域的大數(shù)據(jù)時,我們指的是從操作數(shù)據(jù)庫讀取和寫入。不要將操作數(shù)據(jù)庫與分析數(shù)據(jù)庫混淆,這通常會查看大量數(shù)據(jù),并從這些數(shù)據(jù)獲取可視性。

雖然操作數(shù)據(jù)庫的大數(shù)據(jù)看起來不具有可分析性,但操作數(shù)據(jù)庫通常會存儲超大量用戶的大型數(shù)據(jù)集,這些用戶經(jīng)常需要訪問數(shù)據(jù)來實(shí)時執(zhí)行交易。這種數(shù)據(jù)庫的操作規(guī)模也解釋了NoSQL的關(guān)鍵特性,也就是為什么NoSQL是大數(shù)據(jù)應(yīng)用程序的關(guān)鍵的原因。

NoSQL是可擴(kuò)展性的關(guān)鍵

每次技術(shù)行業(yè)經(jīng)歷硬件發(fā)展的根本性轉(zhuǎn)變時,都會出現(xiàn)一個拐點(diǎn)。在數(shù)據(jù)庫領(lǐng)域,從縱向擴(kuò)展到橫向擴(kuò)展的轉(zhuǎn)變推動了NoSQL的發(fā)展。關(guān)系型數(shù)據(jù)庫(包括來自甲骨文和IBM的數(shù)據(jù)庫)是縱向擴(kuò)展。也就是說,它們是集中式、共享一切的技術(shù),只能通過增加更多昂貴的硬件來擴(kuò)展。

而NoSQL數(shù)據(jù)庫是分布式橫向擴(kuò)展技術(shù)。它們使用了分布式節(jié)點(diǎn)集(稱為集群)來提供高度彈性擴(kuò)展功能,讓用戶可以添加節(jié)點(diǎn)來動態(tài)處理負(fù)載。

分布式橫向擴(kuò)展的做法通常要比縱向做法更加便宜。商業(yè)關(guān)系型數(shù)據(jù)庫的授權(quán)費(fèi)用也讓人望而卻步,因為他們的價格是按每臺服務(wù)器來計算。另一方面,NoSQL數(shù)據(jù)庫通常是開源技術(shù),按照運(yùn)行的服務(wù)器集群收費(fèi),而且價格相對便宜。

NoSQL是靈活性的關(guān)鍵

關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)模型有很大的不同。關(guān)系型模式獲取數(shù)據(jù),并將數(shù)據(jù)分配到很多相互關(guān)聯(lián)的表中,這些表通過外鍵相互應(yīng)用。

當(dāng)用戶需要對數(shù)據(jù)集運(yùn)行查詢時,所需信息需要從多個表中收集(通常涉及數(shù)百個企業(yè)應(yīng)用程序),并結(jié)合這些信息,再提供給應(yīng)用程序。同樣地,當(dāng)寫入數(shù)據(jù)時,需要在多個表協(xié)調(diào)和執(zhí)行寫入。當(dāng)數(shù)據(jù)相對較少,并且,數(shù)據(jù)以較慢速度流入數(shù)據(jù)庫時,關(guān)系型數(shù)據(jù)庫通常能夠捕捉和存儲信息。然而,現(xiàn)在的應(yīng)用程序通常需要快速寫入(和讀取)海量數(shù)據(jù)。

NoSQL數(shù)據(jù)庫采用非常不同的模式。在其核心,NoSQL數(shù)據(jù)庫其實(shí)是“NoREL”,或者說非關(guān)系型,這意味著它們沒有依賴于表以及表之間的聯(lián)系,以存儲和組織信息。例如,以文檔為導(dǎo)向的NoSQL數(shù)據(jù)庫獲取你想要存儲的數(shù)據(jù),并采用JSON格式整合到文檔中。每個JSON文檔可以被你的應(yīng)用程序視為一個對象。JSON文檔可能會提取跨越25個表的數(shù)據(jù),將數(shù)據(jù)集成到一個文檔中。

聚合這些信息可能會導(dǎo)致信息重復(fù),但由于存儲已不再是一個成本問題,數(shù)據(jù)模型靈活性、發(fā)布所產(chǎn)生文檔的簡便性以及讀取和寫入性能提高,讓這成為不錯的選擇。

NoSQL是大數(shù)據(jù)應(yīng)用程序的關(guān)鍵

通過第三方(包括社交媒體網(wǎng)站),數(shù)據(jù)正變得越來越容易捕捉和訪問。這些數(shù)據(jù)包括:個人用戶信息、地理位置數(shù)據(jù)、用戶生產(chǎn)的內(nèi)容、機(jī)器記錄數(shù)據(jù)和傳感器產(chǎn)生的數(shù)據(jù)。企業(yè)還可以依賴于大數(shù)據(jù)來推動其關(guān)鍵任務(wù)型應(yīng)用程序。同時,企業(yè)正在轉(zhuǎn)向到NoSQL數(shù)據(jù)庫,因為這種數(shù)據(jù)庫非常適合現(xiàn)在新型的數(shù)據(jù)類型。

開發(fā)人員想要一個靈活的數(shù)據(jù)庫,可以很容易適應(yīng)新的數(shù)據(jù)類型,并且,不會受第三方數(shù)據(jù)供應(yīng)商的內(nèi)容結(jié)構(gòu)變化的影響。大多數(shù)新數(shù)據(jù)是非結(jié)構(gòu)化和半結(jié)構(gòu)化,因此,開發(fā)人員也需要能夠有效存儲這些數(shù)據(jù)的數(shù)據(jù)庫。然而,關(guān)系型數(shù)據(jù)庫采用的嚴(yán)格定義的基于模式的做法讓其不可能快速整合新數(shù)據(jù)類型,并且很不適合于非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。

總體來說,隨著web和移動應(yīng)用程序的增加、新的趨勢、網(wǎng)上消費(fèi)者行為的轉(zhuǎn)變以及新的數(shù)據(jù)類型的出現(xiàn),行業(yè)需要能夠提供可擴(kuò)展的靈活的數(shù)據(jù)庫技術(shù)來管理和訪問數(shù)據(jù)。NoSQL技術(shù)是有效滿足這些需求的唯一可行解決方案。

大數(shù)據(jù)核心技術(shù)有哪些?

大數(shù)據(jù)技術(shù)的體系龐大且復(fù)雜,基礎(chǔ)的技術(shù)包含數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲、數(shù)據(jù)庫、數(shù)據(jù)倉庫、機(jī)器學(xué)習(xí)、并行計算、可視化等。

1、數(shù)據(jù)采集與預(yù)處理:FlumeNG實(shí)時日志收集系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);Zookeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),提供數(shù)據(jù)同步服務(wù)。

2、數(shù)據(jù)存儲:Hadoop作為一個開源的框架,專為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計,HDFS作為其核心的存儲引擎,已被廣泛用于數(shù)據(jù)存儲。HBase,是一個分布式的、面向列的開源數(shù)據(jù)庫,可以認(rèn)為是hdfs的封裝,本質(zhì)是數(shù)據(jù)存儲、NoSQL數(shù)據(jù)庫。

3、數(shù)據(jù)清洗:MapReduce作為Hadoop的查詢引擎,用于大規(guī)模數(shù)據(jù)集的并行計算。

4、數(shù)據(jù)查詢分析:Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供HQL(HiveSQL)查詢功能。Spark啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負(fù)載。

5、數(shù)據(jù)可視化:對接一些BI平臺,將分析得到的數(shù)據(jù)進(jìn)行可視化,用于指導(dǎo)決策服務(wù)。

目前哪些NoSQL數(shù)據(jù)庫應(yīng)用廣泛,各有什么特點(diǎn)

特點(diǎn):

它們可以處理超大量的數(shù)據(jù)。

它們運(yùn)行在便宜的PC服務(wù)器集群上。

PC集群擴(kuò)充起來非常方便并且成本很低,避免了“sharding”操作的復(fù)雜性和成本。

它們擊碎了性能瓶頸。

NoSQL的支持者稱,通過NoSQL架構(gòu)可以省去將Web或Java應(yīng)用和數(shù)據(jù)轉(zhuǎn)換成SQL友好格式的時間,執(zhí)行速度變得更快。

“SQL并非適用于所有的程序代碼,” 對于那些繁重的重復(fù)操作的數(shù)據(jù),SQL值得花錢。但是當(dāng)數(shù)據(jù)庫結(jié)構(gòu)非常簡單時,SQL可能沒有太大用處。

沒有過多的操作。

雖然NoSQL的支持者也承認(rèn)關(guān)系數(shù)據(jù)庫提供了無可比擬的功能集合,而且在數(shù)據(jù)完整性上也發(fā)揮絕對穩(wěn)定,他們同時也表示,企業(yè)的具體需求可能沒有那么多。

Bootstrap支持

因為NoSQL項目都是開源的,因此它們?nèi)狈?yīng)商提供的正式支持。這一點(diǎn)它們與大多數(shù)開源項目一樣,不得不從社區(qū)中尋求支持。

優(yōu)點(diǎn):

易擴(kuò)展

NoSQL數(shù)據(jù)庫種類繁多,但是一個共同的特點(diǎn)都是去掉關(guān)系數(shù)據(jù)庫的關(guān)系型特性。數(shù)據(jù)之間無關(guān)系,這樣就非常容易擴(kuò)展。也無形之間,在架構(gòu)的層面上帶來了可擴(kuò)展的能力。

大數(shù)據(jù)量,高性能

NoSQL數(shù)據(jù)庫都具有非常高的讀寫性能,尤其在大數(shù)據(jù)量下,同樣表現(xiàn)優(yōu)秀。這得益于它的無關(guān)系性,數(shù)據(jù)庫的結(jié)構(gòu)簡單。一般MySQL使用 Query Cache,每次表的更新Cache就失效,是一種大粒度的Cache,在針對web2.0的交互頻繁的應(yīng)用,Cache性能不高。而NoSQL的 Cache是記錄級的,是一種細(xì)粒度的Cache,所以NoSQL在這個層面上來說就要性能高很多了。

靈活的數(shù)據(jù)模型

NoSQL無需事先為要存儲的數(shù)據(jù)建立字段,隨時可以存儲自定義的數(shù)據(jù)格式。而在關(guān)系數(shù)據(jù)庫里,增刪字段是一件非常麻煩的事情。如果是非常大數(shù)據(jù)量的表,增加字段簡直就是一個噩夢。這點(diǎn)在大數(shù)據(jù)量的web2.0時代尤其明顯。

高可用

NoSQL在不太影響性能的情況,就可以方便的實(shí)現(xiàn)高可用的架構(gòu)。比如Cassandra,HBase模型,通過復(fù)制模型也能實(shí)現(xiàn)高可用。

主要應(yīng)用:

Apache HBase

這個大數(shù)據(jù)管理平臺建立在谷歌強(qiáng)大的BigTable管理引擎基礎(chǔ)上。作為具有開源、Java編碼、分布式多個優(yōu)勢的數(shù)據(jù)庫,Hbase最初被設(shè)計應(yīng)用于Hadoop平臺,而這一強(qiáng)大的數(shù)據(jù)管理工具,也被Facebook采用,用于管理消息平臺的龐大數(shù)據(jù)。

Apache Storm

用于處理高速、大型數(shù)據(jù)流的分布式實(shí)時計算系統(tǒng)。Storm為Apache Hadoop添加了可靠的實(shí)時數(shù)據(jù)處理功能,同時還增加了低延遲的儀表板、安全警報,改進(jìn)了原有的操作方式,幫助企業(yè)更有效率地捕獲商業(yè)機(jī)會、發(fā)展新業(yè)務(wù)。

Apache Spark

該技術(shù)采用內(nèi)存計算,從多迭代批量處理出發(fā),允許將數(shù)據(jù)載入內(nèi)存做反復(fù)查詢,此外還融合數(shù)據(jù)倉庫、流處理和圖計算等多種計算范式,Spark用Scala語言實(shí)現(xiàn),構(gòu)建在HDFS上,能與Hadoop很好的結(jié)合,而且運(yùn)行速度比MapReduce快100倍。

Apache Hadoop

該技術(shù)迅速成為了大數(shù)據(jù)管理標(biāo)準(zhǔn)之一。當(dāng)它被用來管理大型數(shù)據(jù)集時,對于復(fù)雜的分布式應(yīng)用,Hadoop體現(xiàn)出了非常好的性能,平臺的靈活性使它可以運(yùn)行在商用硬件系統(tǒng),它還可以輕松地集成結(jié)構(gòu)化、半結(jié)構(gòu)化和甚至非結(jié)構(gòu)化數(shù)據(jù)集。

Apache Drill

你有多大的數(shù)據(jù)集?其實(shí)無論你有多大的數(shù)據(jù)集,Drill都能輕松應(yīng)對。通過支持HBase、Cassandra和MongoDB,Drill建立了交互式分析平臺,允許大規(guī)模數(shù)據(jù)吞吐,而且能很快得出結(jié)果。

Apache Sqoop

也許你的數(shù)據(jù)現(xiàn)在還被鎖定于舊系統(tǒng)中,Sqoop可以幫你解決這個問題。這一平臺采用并發(fā)連接,可以將數(shù)據(jù)從關(guān)系數(shù)據(jù)庫系統(tǒng)方便地轉(zhuǎn)移到Hadoop中,可以自定義數(shù)據(jù)類型以及元數(shù)據(jù)傳播的映射。事實(shí)上,你還可以將數(shù)據(jù)(如新的數(shù)據(jù))導(dǎo)入到HDFS、Hive和Hbase中。

Apache Giraph

這是功能強(qiáng)大的圖形處理平臺,具有很好可擴(kuò)展性和可用性。該技術(shù)已經(jīng)被Facebook采用,Giraph可以運(yùn)行在Hadoop環(huán)境中,可以將它直接部署到現(xiàn)有的Hadoop系統(tǒng)中。通過這種方式,你可以得到強(qiáng)大的分布式作圖能力,同時還能利用上現(xiàn)有的大數(shù)據(jù)處理引擎。

Cloudera Impala

Impala模型也可以部署在你現(xiàn)有的Hadoop群集上,監(jiān)視所有的查詢。該技術(shù)和MapReduce一樣,具有強(qiáng)大的批處理能力,而且Impala對于實(shí)時的SQL查詢也有很好的效果,通過高效的SQL查詢,你可以很快的了解到大數(shù)據(jù)平臺上的數(shù)據(jù)。

Gephi

它可以用來對信息進(jìn)行關(guān)聯(lián)和量化處理,通過為數(shù)據(jù)創(chuàng)建功能強(qiáng)大的可視化效果,你可以從數(shù)據(jù)中得到不一樣的洞察力。Gephi已經(jīng)支持多個圖表類型,而且可以在具有上百萬個節(jié)點(diǎn)的大型網(wǎng)絡(luò)上運(yùn)行。Gephi具有活躍的用戶社區(qū),Gephi還提供了大量的插件,可以和現(xiàn)有系統(tǒng)完美的集成到一起,它還可以對復(fù)雜的IT連接、分布式系統(tǒng)中各個節(jié)點(diǎn)、數(shù)據(jù)流等信息進(jìn)行可視化分析。

MongoDB

這個堅實(shí)的平臺一直被很多組織推崇,它在大數(shù)據(jù)管理上有極好的性能。MongoDB最初是由DoubleClick公司的員工創(chuàng)建,現(xiàn)在該技術(shù)已經(jīng)被廣泛的應(yīng)用于大數(shù)據(jù)管理。MongoDB是一個應(yīng)用開源技術(shù)開發(fā)的NoSQL數(shù)據(jù)庫,可以用于在JSON這樣的平臺上存儲和處理數(shù)據(jù)。目前,紐約時報、Craigslist以及眾多企業(yè)都采用了MongoDB,幫助他們管理大型數(shù)據(jù)集。(Couchbase服務(wù)器也作為一個參考)。

十大頂尖公司:

Amazon Web Services

Forrester將AWS稱為“云霸主”,談到云計算領(lǐng)域的大數(shù)據(jù),那就不得不提到亞馬遜。該公司的Hadoop產(chǎn)品被稱為EMR(Elastic Map Reduce),AWS解釋這款產(chǎn)品采用了Hadoop技術(shù)來提供大數(shù)據(jù)管理服務(wù),但它不是純開源Hadoop,經(jīng)過修改后現(xiàn)在被專門用在AWS云上。

Forrester稱EMR有很好的市場前景。很多公司基于EMR為客戶提供服務(wù),有一些公司將EMR應(yīng)用于數(shù)據(jù)查詢、建模、集成和管理。而且AWS還在創(chuàng)新,F(xiàn)orrester稱未來EMR可以基于工作量的需要自動縮放調(diào)整大小。亞馬遜計劃為其產(chǎn)品和服務(wù)提供更強(qiáng)大的EMR支持,包括它的RedShift數(shù)據(jù)倉庫、新公布的Kenesis實(shí)時處理引擎以及計劃中的NoSQL數(shù)據(jù)庫和商業(yè)智能工具。不過AWS還沒有自己的Hadoop發(fā)行版。

Cloudera

Cloudera有開源Hadoop的發(fā)行版,這個發(fā)行版采用了Apache Hadoop開源項目的很多技術(shù),不過基于這些技術(shù)的發(fā)行版也有很大的進(jìn)步。Cloudera為它的Hadoop發(fā)行版開發(fā)了很多功能,包括Cloudera管理器,用于管理和監(jiān)控,以及名為Impala的SQL引擎等。Cloudera的Hadoop發(fā)行版基于開源Hadoop,但也不是純開源的產(chǎn)品。當(dāng)Cloudera的客戶需要Hadoop不具備的某些功能時,Cloudera的工程師們就會實(shí)現(xiàn)這些功能,或者找一個擁有這項技術(shù)的合作伙伴。Forrester表示:“Cloudera的創(chuàng)新方法忠于核心Hadoop,但因為其可實(shí)現(xiàn)快速創(chuàng)新并積極滿足客戶需求,這一點(diǎn)使它不同于其他那些供應(yīng)商?!蹦壳埃珻loudera的平臺已經(jīng)擁有200多個付費(fèi)客戶,一些客戶在Cloudera的技術(shù)支持下已經(jīng)可以跨1000多個節(jié)點(diǎn)實(shí)現(xiàn)對PB級數(shù)據(jù)的有效管理。

Hortonworks

和Cloudera一樣,Hortonworks是一個純粹的Hadoop技術(shù)公司。與Cloudera不同的是,Hortonworks堅信開源Hadoop比任何其他供應(yīng)商的Hadoop發(fā)行版都要強(qiáng)大。Hortonworks的目標(biāo)是建立Hadoop生態(tài)圈和Hadoop用戶社區(qū),推進(jìn)開源項目的發(fā)展。Hortonworks平臺和開源Hadoop聯(lián)系緊密,公司管理人員表示這會給用戶帶來好處,因為它可以防止被供應(yīng)商套牢(如果Hortonworks的客戶想要離開這個平臺,他們可以輕松轉(zhuǎn)向其他開源平臺)。這并不是說Hortonworks完全依賴開源Hadoop技術(shù),而是因為該公司將其所有開發(fā)的成果回報給了開源社區(qū),比如Ambari,這個工具就是由Hortonworks開發(fā)而成,用來填充集群管理項目漏洞。Hortonworks的方案已經(jīng)得到了Teradata、Microsoft、Red Hat和SAP這些供應(yīng)商的支持。

IBM

當(dāng)企業(yè)考慮一些大的IT項目時,很多人首先會想到IBM。IBM是Hadoop項目的主要參與者之一,F(xiàn)orrester稱IBM已有100多個Hadoop部署,它的很多客戶都有PB級的數(shù)據(jù)。IBM在網(wǎng)格計算、全球數(shù)據(jù)中心和企業(yè)大數(shù)據(jù)項目實(shí)施等眾多領(lǐng)域有著豐富的經(jīng)驗?!癐BM計劃繼續(xù)整合SPSS分析、高性能計算、BI工具、數(shù)據(jù)管理和建模、應(yīng)對高性能計算的工作負(fù)載管理等眾多技術(shù)。”

Intel

和AWS類似,英特爾不斷改進(jìn)和優(yōu)化Hadoop使其運(yùn)行在自己的硬件上,具體來說,就是讓Hadoop運(yùn)行在其至強(qiáng)芯片上,幫助用戶打破Hadoop系統(tǒng)的一些限制,使軟件和硬件結(jié)合的更好,英特爾的Hadoop發(fā)行版在上述方面做得比較好。Forrester指出英特爾在最近才推出這個產(chǎn)品,所以公司在未來還有很多改進(jìn)的可能,英特爾和微軟都被認(rèn)為是Hadoop市場上的潛力股。

MapR Technologies

MapR的Hadoop發(fā)行版目前為止也許是最好的了,不過很多人可能都沒有聽說過。Forrester對Hadoop用戶的調(diào)查顯示,MapR的評級最高,其發(fā)行版在架構(gòu)和數(shù)據(jù)處理能力上都獲得了最高分。MapR已將一套特殊功能融入其Hadoop發(fā)行版中。例如網(wǎng)絡(luò)文件系統(tǒng)(NFS)、災(zāi)難恢復(fù)以及高可用性功能。Forrester說MapR在Hadoop市場上沒有Cloudera和Hortonworks那樣的知名度,MapR要成為一個真正的大企業(yè),還需要加強(qiáng)伙伴關(guān)系和市場營銷。

Microsoft

微軟在開源軟件問題上一直很低調(diào),但在大數(shù)據(jù)形勢下,它不得不考慮讓W(xué)indows也兼容Hadoop,它還積極投入到開源項目中,以更廣泛地推動Hadoop生態(tài)圈的發(fā)展。我們可以在微軟的公共云Windows Azure HDInsight產(chǎn)品中看到其成果。微軟的Hadoop服務(wù)基于Hortonworks的發(fā)行版,而且是為Azure量身定制的。

微軟也有一些其他的項目,包括名為Polybase的項目,讓Hadoop查詢實(shí)現(xiàn)了SQLServer查詢的一些功能。Forrester說:“微軟在數(shù)據(jù)庫、數(shù)據(jù)倉庫、云、OLAP、BI、電子表格(包括PowerPivot)、協(xié)作和開發(fā)工具市場上有很大優(yōu)勢,而且微軟擁有龐大的用戶群,但要在Hadoop這個領(lǐng)域成為行業(yè)領(lǐng)導(dǎo)者還有很遠(yuǎn)的路要走?!?/p>

Pivotal Software

EMC和Vmware部分大數(shù)據(jù)業(yè)務(wù)分拆組合產(chǎn)生了Pivotal。Pivotal一直努力構(gòu)建一個性能優(yōu)越的Hadoop發(fā)行版,為此,Pivotal在開源Hadoop的基礎(chǔ)上又添加了一些新的工具,包括一個名為HAWQ的SQL引擎以及一個專門解決大數(shù)據(jù)問題的Hadoop應(yīng)用。Forrester稱Pivotal Hadoop平臺的優(yōu)勢在于它整合了Pivotal、EMC、Vmware的眾多技術(shù),Pivotal的真正優(yōu)勢實(shí)際上等于EMC和Vmware兩大公司為其撐腰。到目前為止,Pivotal的用戶還不到100個,而且大多是中小型客戶。

Teradata

對于Teradata來說,Hadoop既是一種威脅也是一種機(jī)遇。數(shù)據(jù)管理,特別是關(guān)于SQL和關(guān)系數(shù)據(jù)庫這一領(lǐng)域是Teradata的專長。所以像Hadoop這樣的NoSQL平臺崛起可能會威脅到Teradata。相反,Teradata接受了Hadoop,通過與Hortonworks合作,Teradata在Hadoop平臺集成了SQL技術(shù),這使Teradata的客戶可以在Hadoop平臺上方便地使用存儲在Teradata數(shù)據(jù)倉庫中的數(shù)據(jù)。

AMPLab

通過將數(shù)據(jù)轉(zhuǎn)變?yōu)樾畔ⅲ覀儾趴梢岳斫馐澜?,而這也正是AMPLab所做的。AMPLab致力于機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、數(shù)據(jù)庫、信息檢索、自然語言處理和語音識別等多個領(lǐng)域,努力改進(jìn)對信息包括不透明數(shù)據(jù)集內(nèi)信息的甄別技術(shù)。除了Spark,開源分布式SQL查詢引擎Shark也源于AMPLab,Shark具有極高的查詢效率,具有良好的兼容性和可擴(kuò)展性。近幾年的發(fā)展使計算機(jī)科學(xué)進(jìn)入到全新的時代,而AMPLab為我們設(shè)想一個運(yùn)用大數(shù)據(jù)、云計算、通信等各種資源和技術(shù)靈活解決難題的方案,以應(yīng)對越來越復(fù)雜的各種難題。

大數(shù)據(jù)技術(shù)有哪些 核心技術(shù)是什么

隨著大數(shù)據(jù)分析市場迅速擴(kuò)展,哪些技術(shù)是最有需求和最有增長潛力的呢?在Forrester Research的一份最新研究報告中,評估了22種技術(shù)在整個數(shù)據(jù)生命周期中的成熟度和軌跡。這些技術(shù)都對大數(shù)據(jù)的實(shí)時、預(yù)測和綜合洞察有著巨大的貢獻(xiàn)。

1. 預(yù)測分析技術(shù)

這也是大數(shù)據(jù)的主要功能之一。預(yù)測分析允許公司通過分析大數(shù)據(jù)源來發(fā)現(xiàn)、評估、優(yōu)化和部署預(yù)測模型,從而提高業(yè)務(wù)性能或降低風(fēng)險。同時,大數(shù)據(jù)的預(yù)測分析也與我們的生活息息相關(guān)。淘寶會預(yù)測你每次購物可能還想買什么,愛奇藝正在預(yù)測你可能想看什么,百合網(wǎng)和其他約會網(wǎng)站甚至試圖預(yù)測你會愛上誰……

2. NoSQL數(shù)據(jù)庫

NoSQL,Not Only SQL,意思是“不僅僅是SQL”,泛指非關(guān)系型數(shù)據(jù)庫。NoSQL數(shù)據(jù)庫提供了比關(guān)系數(shù)據(jù)庫更靈活、可伸縮和更便宜的替代方案,打破了傳統(tǒng)數(shù)據(jù)庫市場一統(tǒng)江山的格局。并且,NoSQL數(shù)據(jù)庫能夠更好地處理大數(shù)據(jù)應(yīng)用的需求。常見的NoSQL數(shù)據(jù)庫有HBase、Redis、MongoDB、Couchbase、LevelDB等。

3. 搜索和知識發(fā)現(xiàn)

支持來自于多種數(shù)據(jù)源(如文件系統(tǒng)、數(shù)據(jù)庫、流、api和其他平臺和應(yīng)用程序)中的大型非結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)存儲庫中自助提取信息的工具和技術(shù)。如,數(shù)據(jù)挖掘技術(shù)和各種大數(shù)據(jù)平臺。

4. 大數(shù)據(jù)流計算引擎

能夠過濾、聚合、豐富和分析來自多個完全不同的活動數(shù)據(jù)源的數(shù)據(jù)的高吞吐量的框架,可以采用任何數(shù)據(jù)格式。現(xiàn)今流行的流式計算引擎有Spark Streaming和Flink。

5. 內(nèi)存數(shù)據(jù)結(jié)構(gòu)

通過在分布式計算機(jī)系統(tǒng)中動態(tài)隨機(jī)訪問內(nèi)存(DRAM)、閃存或SSD上分布數(shù)據(jù),提供低延遲的訪問和處理大量數(shù)據(jù)。

6. 分布式文件存儲

為了保證文件的可靠性和存取性能,數(shù)據(jù)通常以副本的方式存儲在多個節(jié)點(diǎn)上的計算機(jī)網(wǎng)絡(luò)。常見的分布式文件系統(tǒng)有GFS、HDFS、Lustre 、Ceph等。

7. 數(shù)據(jù)虛擬化

數(shù)據(jù)虛擬化是一種數(shù)據(jù)管理方法,它允許應(yīng)用程序檢索和操作數(shù)據(jù),而不需要關(guān)心有關(guān)數(shù)據(jù)的技術(shù)細(xì)節(jié),比如數(shù)據(jù)在源文件中是何種格式,或者數(shù)據(jù)存儲的物理位置,并且可以提供單個客戶用戶視圖。

8. 數(shù)據(jù)集成

用于跨解決方案進(jìn)行數(shù)據(jù)編排的工具,如Amazon Elastic MapReduce (EMR)、Apache Hive、Apache Pig、Apache Spark、MapReduce、Couchbase、Hadoop和MongoDB等。

9. 數(shù)據(jù)準(zhǔn)備

減輕采購、成形、清理和共享各種雜亂數(shù)據(jù)集的負(fù)擔(dān)的軟件,以加速數(shù)據(jù)對分析的有用性。

10. 數(shù)據(jù)質(zhì)量

使用分布式數(shù)據(jù)存儲和數(shù)據(jù)庫上的并行操作,對大型高速數(shù)據(jù)集進(jìn)行數(shù)據(jù)清理和充實(shí)的產(chǎn)品。

大數(shù)據(jù)三大核心技術(shù):拿數(shù)據(jù)、算數(shù)據(jù)、賣數(shù)據(jù)!

大數(shù)據(jù)的由來

對于“大數(shù)據(jù)”(Big data)研究機(jī)構(gòu)Gartner給出了這樣的定義。“大數(shù)據(jù)”是需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力來適應(yīng)海量、高增長率和多樣化的信息資產(chǎn)。

1

麥肯錫全球研究所給出的定義是:一種規(guī)模大到在獲取、存儲、管理、分析方面大大超出了傳統(tǒng)數(shù)據(jù)庫軟件工具能力范圍的數(shù)據(jù)集合,具有海量的數(shù)據(jù)規(guī)模、快速的數(shù)據(jù)流轉(zhuǎn)、多樣的數(shù)據(jù)類型和價值密度低四大特征。

大數(shù)據(jù)技術(shù)的戰(zhàn)略意義不在于掌握龐大的數(shù)據(jù)信息,而在于對這些含有意義的數(shù)據(jù)進(jìn)行專業(yè)化處理。換而言之,如果把大數(shù)據(jù)比作一種產(chǎn)業(yè),那么這種產(chǎn)業(yè)實(shí)現(xiàn)盈利的關(guān)鍵,在于提高對數(shù)據(jù)的“加工能力”,通過“加工”實(shí)現(xiàn)數(shù)據(jù)的“增值”。

從技術(shù)上看,大數(shù)據(jù)與云計算的關(guān)系就像一枚硬幣的正反面一樣密不可分。大數(shù)據(jù)必然無法用單臺的計算機(jī)進(jìn)行處理,必須采用分布式架構(gòu)。它的特色在于對海量數(shù)據(jù)進(jìn)行分布式數(shù)據(jù)挖掘。但它必須依托云計算的分布式處理、分布式數(shù)據(jù)庫和云存儲、虛擬化技術(shù)。

大數(shù)據(jù)需要特殊的技術(shù),以有效地處理大量的容忍經(jīng)過時間內(nèi)的數(shù)據(jù)。適用于大數(shù)據(jù)的技術(shù),包括大規(guī)模并行處理(MPP)數(shù)據(jù)庫、數(shù)據(jù)挖掘、分布式文件系統(tǒng)、分布式數(shù)據(jù)庫、云計算平臺、互聯(lián)網(wǎng)和可擴(kuò)展的存儲系統(tǒng)。

最小的基本單位是bit,按順序給出所有單位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。

大數(shù)據(jù)的應(yīng)用領(lǐng)域

大數(shù)據(jù)無處不在,大數(shù)據(jù)應(yīng)用于各個行業(yè),包括金融、 汽車 、餐飲、電信、能源、體能和 娛樂 等在內(nèi)的 社會 各行各業(yè)都已經(jīng)融入了大數(shù)據(jù)的印跡。

制造業(yè),利用工業(yè)大數(shù)據(jù)提升制造業(yè)水平,包括產(chǎn)品故障診斷與預(yù)測、分析工藝流程、改進(jìn)生產(chǎn)工藝,優(yōu)化生產(chǎn)過程能耗、工業(yè)供應(yīng)鏈分析與優(yōu)化、生產(chǎn)計劃與排程。

金融行業(yè),大數(shù)據(jù)在高頻交易、社交情緒分析和信貸風(fēng)險分析三大金融創(chuàng)新領(lǐng)域發(fā)揮重大作用。

汽車 行業(yè),利用大數(shù)據(jù)和物聯(lián)網(wǎng)技術(shù)的無人駕駛 汽車 ,在不遠(yuǎn)的未來將走入我們的日常生活。

互聯(lián)網(wǎng)行業(yè),借助于大數(shù)據(jù)技術(shù),可以分析客戶行為,進(jìn)行商品推薦和針對性廣告投放。

電信行業(yè),利用大數(shù)據(jù)技術(shù)實(shí)現(xiàn)客戶離網(wǎng)分析,及時掌握客戶離網(wǎng)傾向,出臺客戶挽留措施。

能源行業(yè),隨著智能電網(wǎng)的發(fā)展,電力公司可以掌握海量的用戶用電信息,利用大數(shù)據(jù)技術(shù)分析用戶用電模式,可以改進(jìn)電網(wǎng)運(yùn)行,合理設(shè)計電力需求響應(yīng)系統(tǒng),確保電網(wǎng)運(yùn)行安全。

物流行業(yè),利用大數(shù)據(jù)優(yōu)化物流網(wǎng)絡(luò),提高物流效率,降低物流成本。

城市管理,可以利用大數(shù)據(jù)實(shí)現(xiàn)智能交通、環(huán)保監(jiān)測、城市規(guī)劃和智能安防。

體育 娛樂 ,大數(shù)據(jù)可以幫助我們訓(xùn)練球隊,決定投拍哪種 題財?shù)?影視作品,以及預(yù)測比賽結(jié)果。

安全領(lǐng)域,政府可以利用大數(shù)據(jù)技術(shù)構(gòu)建起強(qiáng)大的國家安全保障體系,企業(yè)可以利用大數(shù)據(jù)抵御網(wǎng)絡(luò)攻擊,警察可以借助大數(shù)據(jù)來預(yù)防犯罪。

個人生活, 大數(shù)據(jù)還可以應(yīng)用于個人生活,利用與每個人相關(guān)聯(lián)的“個人大數(shù)據(jù)”,分析個人生活行為習(xí)慣,為其提供更加周到的個性化服務(wù)。

大數(shù)據(jù)的價值,遠(yuǎn)遠(yuǎn)不止于此,大數(shù)據(jù)對各行各業(yè)的滲透,大大推動了 社會 生產(chǎn)和生活,未來必將產(chǎn)生重大而深遠(yuǎn)的影響。

大數(shù)據(jù)方面核心技術(shù)有哪些?

大數(shù)據(jù)技術(shù)的體系龐大且復(fù)雜,基礎(chǔ)的技術(shù)包含數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲、NoSQL數(shù)據(jù)庫、數(shù)據(jù)倉庫、機(jī)器學(xué)習(xí)、并行計算、可視化等各種技術(shù)范疇和不同的技術(shù)層面。首先給出一個通用化的大數(shù)據(jù)處理框架,主要分為下面幾個方面:數(shù)據(jù)采集與預(yù)處理、數(shù)據(jù)存儲、數(shù)據(jù)清洗、數(shù)據(jù)查詢分析和數(shù)據(jù)可視化。

數(shù)據(jù)采集與預(yù)處理

對于各種來源的數(shù)據(jù),包括移動互聯(lián)網(wǎng)數(shù)據(jù)、社交網(wǎng)絡(luò)的數(shù)據(jù)等,這些結(jié)構(gòu)化和非結(jié)構(gòu)化的海量數(shù)據(jù)是零散的,也就是所謂的數(shù)據(jù)孤島,此時的這些數(shù)據(jù)并沒有什么意義,數(shù)據(jù)采集就是將這些數(shù)據(jù)寫入數(shù)據(jù)倉庫中,把零散的數(shù)據(jù)整合在一起,對這些數(shù)據(jù)綜合起來進(jìn)行分析。數(shù)據(jù)采集包括文件日志的采集、數(shù)據(jù)庫日志的采集、關(guān)系型數(shù)據(jù)庫的接入和應(yīng)用程序的接入等。在數(shù)據(jù)量比較小的時候,可以寫個定時的腳本將日志寫入存儲系統(tǒng),但隨著數(shù)據(jù)量的增長,這些方法無法提供數(shù)據(jù)安全保障,并且運(yùn)維困難,需要更強(qiáng)壯的解決方案。

Flume NG

Flume NG作為實(shí)時日志收集系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù),同時,對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接收方(比如文本,HDFS,Hbase等)。Flume NG采用的是三層架構(gòu):Agent層,Collector層和Store層,每一層均可水平拓展。其中Agent包含Source,Channel和 Sink,source用來消費(fèi)(收集)數(shù)據(jù)源到channel組件中,channel作為中間臨時存儲,保存所有source的組件信息,sink從channel中讀取數(shù)據(jù),讀取成功之后會刪除channel中的信息。

NDC

Logstash

Logstash是開源的服務(wù)器端數(shù)據(jù)處理管道,能夠同時從多個來源采集數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù),然后將數(shù)據(jù)發(fā)送到您最喜歡的 “存儲庫” 中。一般常用的存儲庫是Elasticsearch。Logstash 支持各種輸入選擇,可以在同一時間從眾多常用的數(shù)據(jù)來源捕捉事件,能夠以連續(xù)的流式傳輸方式,輕松地從您的日志、指標(biāo)、Web 應(yīng)用、數(shù)據(jù)存儲以及各種 AWS 服務(wù)采集數(shù)據(jù)。

Sqoop

Sqoop,用來將關(guān)系型數(shù)據(jù)庫和Hadoop中的數(shù)據(jù)進(jìn)行相互轉(zhuǎn)移的工具,可以將一個關(guān)系型數(shù)據(jù)庫(例如Mysql、Oracle)中的數(shù)據(jù)導(dǎo)入到Hadoop(例如HDFS、Hive、Hbase)中,也可以將Hadoop(例如HDFS、Hive、Hbase)中的數(shù)據(jù)導(dǎo)入到關(guān)系型數(shù)據(jù)庫(例如Mysql、Oracle)中。Sqoop 啟用了一個 MapReduce 作業(yè)(極其容錯的分布式并行計算)來執(zhí)行任務(wù)。Sqoop 的另一大優(yōu)勢是其傳輸大量結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)的過程是完全自動化的。

流式計算

流式計算是行業(yè)研究的一個熱點(diǎn),流式計算對多個高吞吐量的數(shù)據(jù)源進(jìn)行實(shí)時的清洗、聚合和分析,可以對存在于社交網(wǎng)站、新聞等的數(shù)據(jù)信息流進(jìn)行快速的處理并反饋,目前大數(shù)據(jù)流分析工具有很多,比如開源的strom,spark streaming等。

Strom集群結(jié)構(gòu)是有一個主節(jié)點(diǎn)(nimbus)和多個工作節(jié)點(diǎn)(supervisor)組成的主從結(jié)構(gòu),主節(jié)點(diǎn)通過配置靜態(tài)指定或者在運(yùn)行時動態(tài)選舉,nimbus與supervisor都是Storm提供的后臺守護(hù)進(jìn)程,之間的通信是結(jié)合Zookeeper的狀態(tài)變更通知和監(jiān)控通知來處理。nimbus進(jìn)程的主要職責(zé)是管理、協(xié)調(diào)和監(jiān)控集群上運(yùn)行的topology(包括topology的發(fā)布、任務(wù)指派、事件處理時重新指派任務(wù)等)。supervisor進(jìn)程等待nimbus分配任務(wù)后生成并監(jiān)控worker(jvm進(jìn)程)執(zhí)行任務(wù)。supervisor與worker運(yùn)行在不同的jvm上,如果由supervisor啟動的某個worker因為錯誤異常退出(或被kill掉),supervisor會嘗試重新生成新的worker進(jìn)程。

Zookeeper

Zookeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),提供數(shù)據(jù)同步服務(wù)。它的作用主要有配置管理、名字服務(wù)、分布式鎖和集群管理。配置管理指的是在一個地方修改了配置,那么對這個地方的配置感興趣的所有的都可以獲得變更,省去了手動拷貝配置的繁瑣,還很好的保證了數(shù)據(jù)的可靠和一致性,同時它可以通過名字來獲取資源或者服務(wù)的地址等信息,可以監(jiān)控集群中機(jī)器的變化,實(shí)現(xiàn)了類似于心跳機(jī)制的功能。

數(shù)據(jù)存儲

Hadoop作為一個開源的框架,專為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計,HDFS作為其核心的存儲引擎,已被廣泛用于數(shù)據(jù)存儲。

HBase

HBase,是一個分布式的、面向列的開源數(shù)據(jù)庫,可以認(rèn)為是hdfs的封裝,本質(zhì)是數(shù)據(jù)存儲、NoSQL數(shù)據(jù)庫。HBase是一種Key/Value系統(tǒng),部署在hdfs上,克服了hdfs在隨機(jī)讀寫這個方面的缺點(diǎn),與hadoop一樣,Hbase目標(biāo)主要依靠橫向擴(kuò)展,通過不斷增加廉價的商用服務(wù)器,來增加計算和存儲能力。

Phoenix

Phoenix,相當(dāng)于一個Java中間件,幫助開發(fā)工程師能夠像使用JDBC訪問關(guān)系型數(shù)據(jù)庫一樣訪問NoSQL數(shù)據(jù)庫HBase。

Yarn

Yarn是一種Hadoop資源管理器,可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來了巨大好處。Yarn由下面的幾大組件構(gòu)成:一個全局的資源管理器ResourceManager、ResourceManager的每個節(jié)點(diǎn)代理NodeManager、表示每個應(yīng)用的Application以及每一個ApplicationMaster擁有多個Container在NodeManager上運(yùn)行。

Mesos

Mesos是一款開源的集群管理軟件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等應(yīng)用架構(gòu)。

Redis

Redis是一種速度非??斓姆顷P(guān)系數(shù)據(jù)庫,可以存儲鍵與5種不同類型的值之間的映射,可以將存儲在內(nèi)存的鍵值對數(shù)據(jù)持久化到硬盤中,使用復(fù)制特性來擴(kuò)展性能,還可以使用客戶端分片來擴(kuò)展寫性能。

Atlas

Atlas是一個位于應(yīng)用程序與MySQL之間的中間件。在后端DB看來,Atlas相當(dāng)于連接它的客戶端,在前端應(yīng)用看來,Atlas相當(dāng)于一個DB。Atlas作為服務(wù)端與應(yīng)用程序通訊,它實(shí)現(xiàn)了MySQL的客戶端和服務(wù)端協(xié)議,同時作為客戶端與MySQL通訊。它對應(yīng)用程序屏蔽了DB的細(xì)節(jié),同時為了降低MySQL負(fù)擔(dān),它還維護(hù)了連接池。Atlas啟動后會創(chuàng)建多個線程,其中一個為主線程,其余為工作線程。主線程負(fù)責(zé)監(jiān)聽所有的客戶端連接請求,工作線程只監(jiān)聽主線程的命令請求。

Kudu

Kudu是圍繞Hadoop生態(tài)圈建立的存儲引擎,Kudu擁有和Hadoop生態(tài)圈共同的設(shè)計理念,它運(yùn)行在普通的服務(wù)器上、可分布式規(guī)模化部署、并且滿足工業(yè)界的高可用要求。其設(shè)計理念為fast analytics on fast data。作為一個開源的存儲引擎,可以同時提供低延遲的隨機(jī)讀寫和高效的數(shù)據(jù)分析能力。Kudu不但提供了行級的插入、更新、刪除API,同時也提供了接近Parquet性能的批量掃描操作。使用同一份存儲,既可以進(jìn)行隨機(jī)讀寫,也可以滿足數(shù)據(jù)分析的要求。Kudu的應(yīng)用場景很廣泛,比如可以進(jìn)行實(shí)時的數(shù)據(jù)分析,用于數(shù)據(jù)可能會存在變化的時序數(shù)據(jù)應(yīng)用等。

在數(shù)據(jù)存儲過程中,涉及到的數(shù)據(jù)表都是成千上百列,包含各種復(fù)雜的Query,推薦使用列式存儲方法,比如parquent,ORC等對數(shù)據(jù)進(jìn)行壓縮。Parquet 可以支持靈活的壓縮選項,顯著減少磁盤上的存儲。

數(shù)據(jù)清洗

MapReduce作為Hadoop的查詢引擎,用于大規(guī)模數(shù)據(jù)集的并行計算,”Map(映射)”和”Reduce(歸約)”,是它的主要思想。它極大的方便了編程人員在不會分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)中。

隨著業(yè)務(wù)數(shù)據(jù)量的增多,需要進(jìn)行訓(xùn)練和清洗的數(shù)據(jù)會變得越來越復(fù)雜,這個時候就需要任務(wù)調(diào)度系統(tǒng),比如oozie或者azkaban,對關(guān)鍵任務(wù)進(jìn)行調(diào)度和監(jiān)控。

Oozie

Oozie是用于Hadoop平臺的一種工作流調(diào)度引擎,提供了RESTful API接口來接受用戶的提交請求(提交工作流作業(yè)),當(dāng)提交了workflow后,由工作流引擎負(fù)責(zé)workflow的執(zhí)行以及狀態(tài)的轉(zhuǎn)換。用戶在HDFS上部署好作業(yè)(MR作業(yè)),然后向Oozie提交Workflow,Oozie以異步方式將作業(yè)(MR作業(yè))提交給Hadoop。這也是為什么當(dāng)調(diào)用Oozie 的RESTful接口提交作業(yè)之后能立即返回一個JobId的原因,用戶程序不必等待作業(yè)執(zhí)行完成(因為有些大作業(yè)可能會執(zhí)行很久(幾個小時甚至幾天))。Oozie在后臺以異步方式,再將workflow對應(yīng)的Action提交給hadoop執(zhí)行。

Azkaban

Azkaban也是一種工作流的控制引擎,可以用來解決有多個hadoop或者spark等離線計算任務(wù)之間的依賴關(guān)系問題。azkaban主要是由三部分構(gòu)成:Relational Database,Azkaban Web Server和Azkaban Executor Server。azkaban將大多數(shù)的狀態(tài)信息都保存在MySQL中,Azkaban Web Server提供了Web UI,是azkaban主要的管理者,包括project的管理、認(rèn)證、調(diào)度以及對工作流執(zhí)行過程中的監(jiān)控等;Azkaban Executor Server用來調(diào)度工作流和任務(wù),記錄工作流或者任務(wù)的日志。

流計算任務(wù)的處理平臺Sloth,是網(wǎng)易首個自研流計算平臺,旨在解決公司內(nèi)各產(chǎn)品日益增長的流計算需求。作為一個計算服務(wù)平臺,其特點(diǎn)是易用、實(shí)時、可靠,為用戶節(jié)省技術(shù)方面(開發(fā)、運(yùn)維)的投入,幫助用戶專注于解決產(chǎn)品本身的流計算需求

數(shù)據(jù)查詢分析

Hive

Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供 HQL(Hive SQL)查詢功能。Hive本身不存儲和計算數(shù)據(jù),它完全依賴于HDFS和MapReduce??梢詫ive理解為一個客戶端工具,將SQL操作轉(zhuǎn)換為相應(yīng)的MapReduce jobs,然后在hadoop上面運(yùn)行。Hive支持標(biāo)準(zhǔn)的SQL語法,免去了用戶編寫MapReduce程序的過程,它的出現(xiàn)可以讓那些精通SQL技能、但是不熟悉MapReduce 、編程能力較弱與不擅長Java語言的用戶能夠在HDFS大規(guī)模數(shù)據(jù)集上很方便地利用SQL 語言查詢、匯總、分析數(shù)據(jù)。

Hive是為大數(shù)據(jù)批量處理而生的,Hive的出現(xiàn)解決了傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(MySql、Oracle)在大數(shù)據(jù)處理上的瓶頸 。Hive 將執(zhí)行計劃分成map-shuffle-reduce-map-shuffle-reduce…的模型。如果一個Query會被編譯成多輪MapReduce,則會有更多的寫中間結(jié)果。由于MapReduce執(zhí)行框架本身的特點(diǎn),過多的中間過程會增加整個Query的執(zhí)行時間。在Hive的運(yùn)行過程中,用戶只需要創(chuàng)建表,導(dǎo)入數(shù)據(jù),編寫SQL分析語句即可。剩下的過程由Hive框架自動的完成。

Impala

Impala是對Hive的一個補(bǔ)充,可以實(shí)現(xiàn)高效的SQL查詢。使用Impala來實(shí)現(xiàn)SQL on Hadoop,用來進(jìn)行大數(shù)據(jù)實(shí)時查詢分析。通過熟悉的傳統(tǒng)關(guān)系型數(shù)據(jù)庫的SQL風(fēng)格來操作大數(shù)據(jù),同時數(shù)據(jù)也是可以存儲到HDFS和HBase中的。Impala沒有再使用緩慢的Hive+MapReduce批處理,而是通過使用與商用并行關(guān)系數(shù)據(jù)庫中類似的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分組成),可以直接從HDFS或HBase中用SELECT、JOIN和統(tǒng)計函數(shù)查詢數(shù)據(jù),從而大大降低了延遲。Impala將整個查詢分成一執(zhí)行計劃樹,而不是一連串的MapReduce任務(wù),相比Hive沒了MapReduce啟動時間。

Hive 適合于長時間的批處理查詢分析,而Impala適合于實(shí)時交互式SQL查詢,Impala給數(shù)據(jù)人員提供了快速實(shí)驗,驗證想法的大數(shù)據(jù)分析工具,可以先使用Hive進(jìn)行數(shù)據(jù)轉(zhuǎn)換處理,之后使用Impala在Hive處理好后的數(shù)據(jù)集上進(jìn)行快速的數(shù)據(jù)分析??偟膩碚f:Impala把執(zhí)行計劃表現(xiàn)為一棵完整的執(zhí)行計劃樹,可以更自然地分發(fā)執(zhí)行計劃到各個Impalad執(zhí)行查詢,而不用像Hive那樣把它組合成管道型的map-reduce模式,以此保證Impala有更好的并發(fā)性和避免不必要的中間sort與shuffle。但是Impala不支持UDF,能處理的問題有一定的限制。

Spark

Spark擁有Hadoop MapReduce所具有的特點(diǎn),它將Job中間輸出結(jié)果保存在內(nèi)存中,從而不需要讀取HDFS。Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負(fù)載。Spark 是在 Scala 語言中實(shí)現(xiàn)的,它將 Scala 用作其應(yīng)用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數(shù)據(jù)集。

Nutch

Nutch 是一個開源Java 實(shí)現(xiàn)的搜索引擎。它提供了我們運(yùn)行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬蟲。

Solr

Solr用Java編寫、運(yùn)行在Servlet容器(如Apache Tomcat或Jetty)的一個獨(dú)立的企業(yè)級搜索應(yīng)用的全文搜索服務(wù)器。它對外提供類似于Web-service的API接口,用戶可以通過http請求,向搜索引擎服務(wù)器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,并得到XML格式的返回結(jié)果。

Elasticsearch

Elasticsearch是一個開源的全文搜索引擎,基于Lucene的搜索服務(wù)器,可以快速的儲存、搜索和分析海量的數(shù)據(jù)。設(shè)計用于云計算中,能夠達(dá)到實(shí)時搜索,穩(wěn)定,可靠,快速,安裝使用方便。

還涉及到一些機(jī)器學(xué)習(xí)語言,比如,Mahout主要目標(biāo)是創(chuàng)建一些可伸縮的機(jī)器學(xué)習(xí)算法,供開發(fā)人員在Apache的許可下免費(fèi)使用;深度學(xué)習(xí)框架Caffe以及使用數(shù)據(jù)流圖進(jìn)行數(shù)值計算的開源軟件庫TensorFlow等,常用的機(jī)器學(xué)習(xí)算法比如,貝葉斯、邏輯回歸、決策樹、神經(jīng)網(wǎng)絡(luò)、協(xié)同過濾等。

數(shù)據(jù)可視化

對接一些BI平臺,將分析得到的數(shù)據(jù)進(jìn)行可視化,用于指導(dǎo)決策服務(wù)。主流的BI平臺比如,國外的敏捷BI Tableau、Qlikview、PowrerBI等,國內(nèi)的SmallBI和新興的網(wǎng)易有數(shù)等。

在上面的每一個階段,保障數(shù)據(jù)的安全是不可忽視的問題。

基于網(wǎng)絡(luò)身份認(rèn)證的協(xié)議Kerberos,用來在非安全網(wǎng)絡(luò)中,對個人通信以安全的手段進(jìn)行身份認(rèn)證,它允許某實(shí)體在非安全網(wǎng)絡(luò)環(huán)境下通信,向另一個實(shí)體以一種安全的方式證明自己的身份。

控制權(quán)限的ranger是一個Hadoop集群權(quán)限框架,提供操作、監(jiān)控、管理復(fù)雜的數(shù)據(jù)權(quán)限,它提供一個集中的管理機(jī)制,管理基于yarn的Hadoop生態(tài)圈的所有數(shù)據(jù)權(quán)限??梢詫adoop生態(tài)的組件如Hive,Hbase進(jìn)行細(xì)粒度的數(shù)據(jù)訪問控制。通過操作Ranger控制臺,管理員可以輕松的通過配置策略來控制用戶訪問HDFS文件夾、HDFS文件、數(shù)據(jù)庫、表、字段權(quán)限。這些策略可以為不同的用戶和組來設(shè)置,同時權(quán)限可與hadoop無縫對接。

簡單說有三大核心技術(shù):拿數(shù)據(jù),算數(shù)據(jù),賣數(shù)據(jù)。

大數(shù)據(jù)時代發(fā)展歷程是什么?

大數(shù)據(jù)技術(shù)發(fā)展史:大數(shù)據(jù)的前世今生

今天我們常說的大數(shù)據(jù)技術(shù),其實(shí)起源于Google在2004年前后發(fā)表的三篇論文,也就是我們經(jīng)常聽到的“三駕馬車”,分別是分布式文件系統(tǒng)GFS、大數(shù)據(jù)分布式計算框架MapReduce和NoSQL數(shù)據(jù)庫系統(tǒng)BigTable。

你知道,搜索引擎主要就做兩件事情,一個是網(wǎng)頁抓取,一個是索引構(gòu)建,而在這個過程中,有大量的數(shù)據(jù)需要存儲和計算。這“三駕馬車”其實(shí)就是用來解決這個問題的,你從介紹中也能看出來,一個文件系統(tǒng)、一個計算框架、一個數(shù)據(jù)庫系統(tǒng)。

現(xiàn)在你聽到分布式、大數(shù)據(jù)之類的詞,肯定一點(diǎn)兒也不陌生。但你要知道,在2004年那會兒,整個互聯(lián)網(wǎng)還處于懵懂時代,Google發(fā)布的論文實(shí)在是讓業(yè)界為之一振,大家恍然大悟,原來還可以這么玩。

因為那個時間段,大多數(shù)公司的關(guān)注點(diǎn)其實(shí)還是聚焦在單機(jī)上,在思考如何提升單機(jī)的性能,尋找更貴更好的服務(wù)器。而Google的思路是部署一個大規(guī)模的服務(wù)器集群,通過分布式的方式將海量數(shù)據(jù)存儲在這個集群上,然后利用集群上的所有機(jī)器進(jìn)行數(shù)據(jù)計算。 這樣,Google其實(shí)不需要買很多很貴的服務(wù)器,它只要把這些普通的機(jī)器組織到一起,就非常厲害了。

當(dāng)時的天才程序員,也是Lucene開源項目的創(chuàng)始人Doug Cutting正在開發(fā)開源搜索引擎Nutch,閱讀了Google的論文后,他非常興奮,緊接著就根據(jù)論文原理初步實(shí)現(xiàn)了類似GFS和MapReduce的功能。

兩年后的2006年,Doug Cutting將這些大數(shù)據(jù)相關(guān)的功能從Nutch中分離了出來,然后啟動了一個獨(dú)立的項目專門開發(fā)維護(hù)大數(shù)據(jù)技術(shù),這就是后來赫赫有名的Hadoop,主要包括Hadoop分布式文件系統(tǒng)HDFS和大數(shù)據(jù)計算引擎MapReduce。

當(dāng)我們回顧軟件開發(fā)的歷史,包括我們自己開發(fā)的軟件,你會發(fā)現(xiàn),有的軟件在開發(fā)出來以后無人問津或者寥寥數(shù)人使用,這樣的軟件其實(shí)在所有開發(fā)出來的軟件中占大多數(shù)。而有的軟件則可能會開創(chuàng)一個行業(yè),每年創(chuàng)造數(shù)百億美元的價值,創(chuàng)造百萬計的就業(yè)崗位,這些軟件曾經(jīng)是Windows、Linux、Java,而現(xiàn)在這個名單要加上Hadoop的名字。

如果有時間,你可以簡單瀏覽下Hadoop的代碼,這個純用Java編寫的軟件其實(shí)并沒有什么高深的技術(shù)難點(diǎn),使用的也都是一些最基礎(chǔ)的編程技巧,也沒有什么出奇之處,但是它卻給社會帶來巨大的影響,甚至帶動一場深刻的科技革命,推動了人工智能的發(fā)展與進(jìn)步。

我覺得,我們在做軟件開發(fā)的時候,也可以多思考一下,我們所開發(fā)軟件的價值點(diǎn)在哪里?真正需要使用軟件實(shí)現(xiàn)價值的地方在哪里?你應(yīng)該關(guān)注業(yè)務(wù)、理解業(yè)務(wù),有價值導(dǎo)向,用自己的技術(shù)為公司創(chuàng)造真正的價值,進(jìn)而實(shí)現(xiàn)自己的人生價值。而不是整天埋頭在需求說明文檔里,做一個沒有思考的代碼機(jī)器人。

Hadoop發(fā)布之后,Yahoo很快就用了起來。大概又過了一年到了2007年,百度和阿里巴巴也開始使用Hadoop進(jìn)行大數(shù)據(jù)存儲與計算。

2008年,Hadoop正式成為Apache的頂級項目,后來Doug Cutting本人也成為了Apache基金會的主席。自此,Hadoop作為軟件開發(fā)領(lǐng)域的一顆明星冉冉升起。

同年,專門運(yùn)營Hadoop的商業(yè)公司Cloudera成立,Hadoop得到進(jìn)一步的商業(yè)支持。

這個時候,Yahoo的一些人覺得用MapReduce進(jìn)行大數(shù)據(jù)編程太麻煩了,于是便開發(fā)了Pig。Pig是一種腳本語言,使用類SQL的語法,開發(fā)者可以用Pig腳本描述要對大數(shù)據(jù)集上進(jìn)行的操作,Pig經(jīng)過編譯后會生成MapReduce程序,然后在Hadoop上運(yùn)行。

編寫Pig腳本雖然比直接MapReduce編程容易,但是依然需要學(xué)習(xí)新的腳本語法。于是Facebook又發(fā)布了Hive。Hive支持使用SQL語法來進(jìn)行大數(shù)據(jù)計算,比如說你可以寫個Select語句進(jìn)行數(shù)據(jù)查詢,然后Hive會把SQL語句轉(zhuǎn)化成MapReduce的計算程序。

這樣,熟悉數(shù)據(jù)庫的數(shù)據(jù)分析師和工程師便可以無門檻地使用大數(shù)據(jù)進(jìn)行數(shù)據(jù)分析和處理了。Hive出現(xiàn)后極大程度地降低了Hadoop的使用難度,迅速得到開發(fā)者和企業(yè)的追捧。據(jù)說,2011年的時候,F(xiàn)acebook大數(shù)據(jù)平臺上運(yùn)行的作業(yè)90%都來源于Hive。

隨后,眾多Hadoop周邊產(chǎn)品開始出現(xiàn),大數(shù)據(jù)生態(tài)體系逐漸形成,其中包括:專門將關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入導(dǎo)出到Hadoop平臺的Sqoop;針對大規(guī)模日志進(jìn)行分布式收集、聚合和傳輸?shù)腇lume;MapReduce工作流調(diào)度引擎Oozie等。

在Hadoop早期,MapReduce既是一個執(zhí)行引擎,又是一個資源調(diào)度框架,服務(wù)器集群的資源調(diào)度管理由MapReduce自己完成。但是這樣不利于資源復(fù)用,也使得MapReduce非常臃腫。于是一個新項目啟動了,將MapReduce執(zhí)行引擎和資源調(diào)度分離開來,這就是Yarn。2012年,Yarn成為一個獨(dú)立的項目開始運(yùn)營,隨后被各類大數(shù)據(jù)產(chǎn)品支持,成為大數(shù)據(jù)平臺上最主流的資源調(diào)度系統(tǒng)。

同樣是在2012年,UC伯克利AMP實(shí)驗室(Algorithms、Machine和People的縮寫)開發(fā)的Spark開始嶄露頭角。當(dāng)時AMP實(shí)驗室的馬鐵博士發(fā)現(xiàn)使用MapReduce進(jìn)行機(jī)器學(xué)習(xí)計算的時候性能非常差,因為機(jī)器學(xué)習(xí)算法通常需要進(jìn)行很多次的迭代計算,而MapReduce每執(zhí)行一次Map和Reduce計算都需要重新啟動一次作業(yè),帶來大量的無謂消耗。還有一點(diǎn)就是MapReduce主要使用磁盤作為存儲介質(zhì),而2012年的時候,內(nèi)存已經(jīng)突破容量和成本限制,成為數(shù)據(jù)運(yùn)行過程中主要的存儲介質(zhì)。Spark一經(jīng)推出,立即受到業(yè)界的追捧,并逐步替代MapReduce在企業(yè)應(yīng)用中的地位。

一般說來,像MapReduce、Spark這類計算框架處理的業(yè)務(wù)場景都被稱作批處理計算,因為它們通常針對以“天”為單位產(chǎn)生的數(shù)據(jù)進(jìn)行一次計算,然后得到需要的結(jié)果,這中間計算需要花費(fèi)的時間大概是幾十分鐘甚至更長的時間。因為計算的數(shù)據(jù)是非在線得到的實(shí)時數(shù)據(jù),而是歷史數(shù)據(jù),所以這類計算也被稱為大數(shù)據(jù)離線計算。

而在大數(shù)據(jù)領(lǐng)域,還有另外一類應(yīng)用場景,它們需要對實(shí)時產(chǎn)生的大量數(shù)據(jù)進(jìn)行即時計算,比如對于遍布城市的監(jiān)控攝像頭進(jìn)行人臉識別和嫌犯追蹤。這類計算稱為大數(shù)據(jù)流計算,相應(yīng)地,有Storm、Flink、Spark Streaming等流計算框架來滿足此類大數(shù)據(jù)應(yīng)用的場景。 流式計算要處理的數(shù)據(jù)是實(shí)時在線產(chǎn)生的數(shù)據(jù),所以這類計算也被稱為大數(shù)據(jù)實(shí)時計算。

在典型的大數(shù)據(jù)的業(yè)務(wù)場景下,數(shù)據(jù)業(yè)務(wù)最通用的做法是,采用批處理的技術(shù)處理歷史全量數(shù)據(jù),采用流式計算處理實(shí)時新增數(shù)據(jù)。而像Flink這樣的計算引擎,可以同時支持流式計算和批處理計算。

除了大數(shù)據(jù)批處理和流處理,NoSQL系統(tǒng)處理的主要也是大規(guī)模海量數(shù)據(jù)的存儲與訪問,所以也被歸為大數(shù)據(jù)技術(shù)。 NoSQL曾經(jīng)在2011年左右非?;鸨?,涌現(xiàn)出HBase、Cassandra等許多優(yōu)秀的產(chǎn)品,其中HBase是從Hadoop中分離出來的、基于HDFS的NoSQL系統(tǒng)。

我們回顧軟件發(fā)展的歷史會發(fā)現(xiàn),差不多類似功能的軟件,它們出現(xiàn)的時間都非常接近,比如Linux和Windows都是在90年代初出現(xiàn),Java開發(fā)中的各類MVC框架也基本都是同期出現(xiàn),Android和iOS也是前腳后腳問世。2011年前后,各種NoSQL數(shù)據(jù)庫也是層出不群,我也是在那個時候參與開發(fā)了阿里巴巴自己的NoSQL系統(tǒng)。

事物發(fā)展有自己的潮流和規(guī)律,當(dāng)你身處潮流之中的時候,要緊緊抓住潮流的機(jī)會,想辦法脫穎而出,即使沒有成功,也會更加洞悉時代的脈搏,收獲珍貴的知識和經(jīng)驗。而如果潮流已經(jīng)退去,這個時候再去往這個方向上努力,只會收獲迷茫與壓抑,對時代、對自己都沒有什么幫助。

但是時代的浪潮猶如海灘上的浪花,總是一浪接著一浪,只要你站在海邊,身處這個行業(yè)之中,下一個浪潮很快又會到來。你需要敏感而又深刻地去觀察,略去那些浮躁的泡沫,抓住真正潮流的機(jī)會,奮力一搏,不管成敗,都不會遺憾。

正所謂在歷史前進(jìn)的邏輯中前進(jìn),在時代發(fā)展的潮流中發(fā)展。通俗的說,就是要在風(fēng)口中飛翔。

上面我講的這些基本上都可以歸類為大數(shù)據(jù)引擎或者大數(shù)據(jù)框架。而大數(shù)據(jù)處理的主要應(yīng)用場景包括數(shù)據(jù)分析、數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)。數(shù)據(jù)分析主要使用Hive、Spark SQL等SQL引擎完成;數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)則有專門的機(jī)器學(xué)習(xí)框架TensorFlow、Mahout以及MLlib等,內(nèi)置了主要的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘算法。

此外,大數(shù)據(jù)要存入分布式文件系統(tǒng)(HDFS),要有序調(diào)度MapReduce和Spark作業(yè)執(zhí)行,并能把執(zhí)行結(jié)果寫入到各個應(yīng)用系統(tǒng)的數(shù)據(jù)庫中,還需要有一個大數(shù)據(jù)平臺整合所有這些大數(shù)據(jù)組件和企業(yè)應(yīng)用系統(tǒng)。

圖中的所有這些框架、平臺以及相關(guān)的算法共同構(gòu)成了大數(shù)據(jù)的技術(shù)體系,我將會在專欄后面逐個分析,幫你能夠?qū)Υ髷?shù)據(jù)技術(shù)原理和應(yīng)用算法構(gòu)建起完整的知識體系,進(jìn)可以專職從事大數(shù)據(jù)開發(fā),退可以在自己的應(yīng)用開發(fā)中更好地和大數(shù)據(jù)集成,掌控自己的項目。

希望對您有所幫助!~

文章題目:大數(shù)據(jù)nosql迭代聚合,大數(shù)據(jù)nosql數(shù)據(jù)庫
當(dāng)前地址:http://aaarwkj.com/article30/dsiecso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站收錄虛擬主機(jī)、網(wǎng)站維護(hù)、云服務(wù)器電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
欧美日韩精品激情一区二区| 九九精品在线观看视频| 中文字幕五月婷婷免费| 日韩精品一区二区三区高清| 亚洲人色中文字幕天堂| 亚洲成人高清av在线| 综合久久99中文综合久久| 国产欧美日本一区二区| 九九热这里只有免费视频| 日本精品一级免费在线| 亚洲免费av一区在线观看| 日韩av一区二区国产| 成人性生交大片免费男同| 日本亚洲欧洲一区二区| 亚洲国产一区二区高清| 日韩精品专区在线影院重磅| 国产精品日本一区二区| 欧美日韩亚洲中文字幕| 久久成人日韩电影午夜| 九九热这里面只有精品| 国产胖中年妇女草逼网站| 亚洲一区二区日韩在线| 日韩av在线专区观看| 亚洲香蕉视频在线播放| 日本中文字幕在线播放一区| 欧美日韩另类国产综合| 亚洲精品网站国产高清| 欧美国产大片一区视频| 老熟女乱色一区二区三区| 色哟哟亚洲精品一区二区| 中文字幕乱码人妻一二三| 久久综合午夜福利视频| 国产在线视频不卡福利片| 91熟女成人精品一区二区| 中文字幕高清一区二区三区| 夫妻爱爱视频在线观看| 99在线精品热视频| 国内精品一区二区欧美| 丝袜亚洲激情欧美日韩偷拍| 欧美日韩国产综合下一页| 日本道二区视频中文字幕|