如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展

本篇內(nèi)容主要講解“如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展”吧!

成都創(chuàng)新互聯(lián)公司長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為內(nèi)蒙古企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),內(nèi)蒙古網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

介紹

從高層的角度來看,許多數(shù)據(jù)和分析解決方案已經(jīng)以相同的方式構(gòu)建了許多年。  簡而言之,它由各種集成過程組成,可將所有數(shù)據(jù)加載到一個(gè)中央位置,這是即將到來的數(shù)據(jù)建模和分析用例的唯一事實(shí)來源。  雖然在較早的日子里,這些中心位置大多是昂貴的且不靈活的緊密耦合的硬件/軟件系統(tǒng),但如今通常會(huì)利用云和分布式架構(gòu),包括計(jì)算和存儲(chǔ)的分離。  然而,盡管近年來取得了巨大的技術(shù)進(jìn)步,但集中數(shù)據(jù)的整體方法仍然是最有效地利用其數(shù)據(jù)并進(jìn)行適當(dāng)?shù)臄?shù)據(jù)管理的最明顯方法。

集權(quán)

那么,這種集中化方法有什么問題呢?首先它與分布式查詢引擎有什么關(guān)系?

首先,沒有什么可反對的。事實(shí)上,恰恰相反,在一個(gè)地方以清晰,新鮮的狀態(tài)構(gòu)建包含所有數(shù)據(jù)的海量數(shù)據(jù)倉庫或數(shù)據(jù)湖通常是確保一致性的唯一方法,因此每個(gè)人使用相同的定義。在這方面,尤其是云數(shù)據(jù)湖服務(wù),例如Microsoft的Azure  Data Lake Storage或Amazon Web  Service的S3,通過啟用集中化的更多優(yōu)勢而呈現(xiàn)出有趣的變化,這歸因于其非常靈活且廉價(jià)的方式來存儲(chǔ)大量任何類型的數(shù)據(jù)。

注意事項(xiàng)

但是,有很多原因使集中所有數(shù)據(jù)變得越來越困難。數(shù)據(jù)源的數(shù)量正在增長,滿足依賴該數(shù)據(jù)的越來越多的不同業(yè)務(wù)領(lǐng)域所需的數(shù)據(jù)集的多功能性也在不斷增長。通常,與靜態(tài)預(yù)建數(shù)據(jù)集相反,業(yè)務(wù)用戶越來越接近需要更高靈活性的數(shù)據(jù)。高級分析用例也是如此,通常需要對原始和未轉(zhuǎn)換的數(shù)據(jù)應(yīng)用方法。而且,在某些情況下,由于任何內(nèi)部或外部法規(guī),甚至禁止組織遷移數(shù)據(jù)。在其他情況下,在集中式數(shù)據(jù)之上仍然存在管道,可將其進(jìn)一步加載到任何下游系統(tǒng)中,以滿足所有分析要求。反過來,這甚至可能導(dǎo)致與傳統(tǒng)本地系統(tǒng)相同的鎖定?;蚣袛?shù)據(jù)不足以證明所涉及的工作合理的用例,或者數(shù)據(jù)太大而移動(dòng)所需的時(shí)間太長的用例。依此類推…

那么在這種情況下該怎么辦?

聯(lián)邦

如今,在分析解決方案及其數(shù)據(jù)管理方面有很多選擇。不僅包括其報(bào)價(jià)的不同提供商,而且種類繁多的技術(shù)都勢不可擋,技術(shù)進(jìn)步的步伐比以往更快。也沒有一個(gè)明確的贏家,他們無疑將幫助將更多的數(shù)據(jù)卡路里轉(zhuǎn)化為有用的東西,這毫無疑問。但是,基于SQL的分布式查詢引擎確實(shí)確實(shí)存在明顯的趨勢,有助于應(yīng)對數(shù)據(jù)爆炸。這也證實(shí)了現(xiàn)有數(shù)據(jù)和分析服務(wù)提供商的產(chǎn)品陣容及其最新發(fā)展。他們都試圖無縫集成那些具有成本效益的云存儲(chǔ),并允許使用完全一樣的查詢引擎在其上進(jìn)行交互式SQL查詢。因此,它們可以填補(bǔ)上述缺失的空白,并允許成熟的企業(yè)通過保持核心事實(shí),在保持組織和平臺穩(wěn)定性的同時(shí)實(shí)現(xiàn)擴(kuò)展的大數(shù)據(jù)功能。

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

分布式查詢引擎背后的基本思想無非就是數(shù)據(jù)虛擬化以及創(chuàng)建抽象層的嘗試,該抽象層提供了跨不同數(shù)據(jù)源的數(shù)據(jù)訪問。與傳統(tǒng)的數(shù)據(jù)虛擬化軟件(鏈接服務(wù)器,DBLink等)的區(qū)別在于,您可以橫向擴(kuò)展方式一起查詢關(guān)系和非關(guān)系數(shù)據(jù),以提高查詢性能。因此,分布式一詞不僅指查詢本身,還指計(jì)算和存儲(chǔ)。它們基本上是針對密集型OLAP查詢而設(shè)計(jì)的,因此在性能方面并不是那么脆弱和不一致。

Hadoop上的SQL

用于此目的的技術(shù)最初或仍然經(jīng)常被稱為基于Hadoop的SQL-on-Hadoop,它依賴于MPP(大規(guī)模并行處理)引擎。它允許使用熟悉的類似于SQL的語言查詢和分析存儲(chǔ)在HDFS(Hadoop分布式文件系統(tǒng))上的數(shù)據(jù),以隱藏MapReduce  / Tez的復(fù)雜性,并使數(shù)據(jù)庫開發(fā)人員更易于訪問。  Hive可以說是Hadoop上的第一個(gè)SQL引擎,并且由于多年來的發(fā)展已被證明具有非常強(qiáng)大的功能,因此Hive仍被廣泛用于批處理式數(shù)據(jù)處理。  Hive將SQL查詢轉(zhuǎn)換為多個(gè)階段,并將中間結(jié)果存儲(chǔ)到磁盤中。同時(shí),在Hadoop生態(tài)系統(tǒng)中原生開發(fā)了其他專用工具,例如Impala,還支持將HBase用作數(shù)據(jù)源。與Hive相比,它利用了內(nèi)存和緩存技術(shù),與長期運(yùn)行的批處理作業(yè)相比,它更適合用于交互式分析-此類別中的另一個(gè)示例是SparkSQL。所有這些都需要預(yù)先完成的元數(shù)據(jù)定義,也稱為讀取模式,例如視圖或外部表。此定義存儲(chǔ)在集中存儲(chǔ)中,例如Hive  metastore。

如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展

SQL-on-Anything

隨著技術(shù)的發(fā)展,需要更多的開放性,并且不嚴(yán)格與Hadoop捆綁在一起,而是以松散耦合的方式支持許多其他種類的其他數(shù)據(jù)庫。這樣,查詢引擎無需大量的先決條件和準(zhǔn)備工作即可在大量數(shù)據(jù)上實(shí)現(xiàn)即插即用發(fā)現(xiàn)。此外,還提供了標(biāo)準(zhǔn)ANSI  SQL作為接口,使數(shù)據(jù)分析人員和開發(fā)人員可以更輕松地訪問它。同時(shí),不再需要預(yù)先定義架構(gòu),某些引擎甚至可以通過下推查詢(例如Drill)在原始存儲(chǔ)層自動(dòng)解析它。該領(lǐng)域的另一個(gè)開拓性工具是Presto,它甚至可以查詢來自Kafka和redis的實(shí)時(shí)流數(shù)據(jù)。  Presto是Facebook專門為滿足此需求而開發(fā)的一種內(nèi)存中分布式SQL查詢引擎,可在不同的數(shù)據(jù)集中進(jìn)行交互式分析。對于Netflix,Twitter,Airbnb或Uber等公司而言,這對于他們的日常業(yè)務(wù)至關(guān)重要,否則它們將無法處理和分析PB級的數(shù)據(jù)。  Presto可以與許多不同的BI工具一起使用,包括Power  BI,Looker,Tableau,Superset或任何其他符合ODBC和JDBC的工具。在這種情況下,"  SQL-on-Anything"這個(gè)名字終于首次被創(chuàng)造出來。

如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展

數(shù)據(jù)湖引擎

數(shù)據(jù)湖引擎的技術(shù)方法沒有太大不同。畢竟,它僅僅是數(shù)據(jù)虛擬化和合并來自不同來源的數(shù)據(jù)。它們通常在提供更多有關(guān)數(shù)據(jù)建模,數(shù)據(jù)轉(zhuǎn)換,數(shù)據(jù)行數(shù)和數(shù)據(jù)安全性的功能方面有所不同。通常,它們也更趨向于云,并且可能會(huì)認(rèn)為它們同時(shí)具有豐富的用戶界面,從而為非技術(shù)用戶帶來了一種數(shù)據(jù)自助服務(wù)理念。這種方法可以充分利用公共云中的數(shù)據(jù)集中性,并且由于云的價(jià)格彈性而可以以較低的成本進(jìn)行交互式分析,而沒有任何鎖定風(fēng)險(xiǎn)。  Data Lake Engines也不一定支持更多的數(shù)據(jù)源,但是由于延遲到來,它們可以從頭開始利用最新技術(shù)。例如,Databricks最近發(fā)布了SQL  Analytics,該數(shù)據(jù)庫由其Delta引擎提供支持,可直接查詢數(shù)據(jù)湖上的Delta  Lake表。此外,它為數(shù)據(jù)瀏覽提供了SQL本機(jī)接口,并且儀表板可以彼此共享。在這方面,另一個(gè)非常有前途的工具也是我最喜歡的工具之一是Dremio,它基本上是開源的,但是得到了同名公司的支持,該公司提供了具有一些附加功能的商業(yè)化企業(yè)版。

如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展

與傳統(tǒng)的多層體系結(jié)構(gòu)相反,Dremio正在BI工具和查詢的數(shù)據(jù)源系統(tǒng)之間建立直接的橋梁。幕后使用的主要技術(shù)是Drill,Arrow,Calcite和parquet。這種組合提供了適用于各種數(shù)據(jù)源的無模式SQL,以及具有下推功能的柱狀內(nèi)存分析執(zhí)行引擎,并且可以輕松實(shí)現(xiàn)查詢以提高查詢性能。順便說一句,Arrow被視為內(nèi)存分析的事實(shí)上的標(biāo)準(zhǔn)。

到此,相信大家對“如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站欄目:如何理解分布式SQL大數(shù)據(jù)查詢引擎的發(fā)展
鏈接地址:http://bm7419.com/article30/geieso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、做網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、軟件開發(fā)、服務(wù)器托管、網(wǎng)站策劃

廣告

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

成都網(wǎng)站建設(shè)