偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Databricks與Snowflake究竟有哪些差別?

譯文 精選
開發(fā) 架構(gòu)
本文先介紹了數(shù)據(jù)處理的相關(guān)概念和整個生態(tài)系統(tǒng),然后著重對比Databricks 和Snowflake在架構(gòu)、定價、安全性、合規(guī)性、數(shù)據(jù)支持、數(shù)據(jù)保護(hù)、以及性能等方面的主要區(qū)別。

譯者 | 陳峻

審校 | 孫淑娟

一、云數(shù)據(jù)倉庫、數(shù)據(jù)湖和湖倉一體之間的區(qū)別

1.數(shù)據(jù)倉庫

作為一種分析類中央存儲庫,數(shù)據(jù)倉庫可用于存儲已結(jié)構(gòu)化、且已過濾的數(shù)據(jù)。而作為數(shù)據(jù)倉庫典型用戶的數(shù)據(jù)分析師,他們通常擁有著豐富的SQL知識、以及數(shù)據(jù)處理能力。他們通過對倉庫里的數(shù)據(jù)進(jìn)行優(yōu)化和轉(zhuǎn)換,可實(shí)現(xiàn)快速地訪問、查詢和分析,并在此基礎(chǔ)上獲取洞見,并構(gòu)建出儀表板和數(shù)據(jù)報告,進(jìn)而推動業(yè)務(wù)成果的轉(zhuǎn)換。

2.數(shù)據(jù)湖

2000年初,最初被Yahoo和Google等大型互聯(lián)網(wǎng)公司采用的數(shù)據(jù)湖,雖然與數(shù)據(jù)倉庫的數(shù)據(jù)收集與存儲功能類似,但是,它旨在處理大量原始的、非結(jié)構(gòu)化的、以及半結(jié)構(gòu)化的大數(shù)據(jù)。因此,與倉庫相比,數(shù)據(jù)湖通常可以容納更多的數(shù)據(jù),并能夠處理更多的用例。

在大多數(shù)情況下,各種未經(jīng)處理的原始數(shù)據(jù),會被直接加載到數(shù)據(jù)湖中,因此它需要具有專業(yè)知識的數(shù)據(jù)科學(xué)家,對數(shù)據(jù)進(jìn)行后續(xù)操作和轉(zhuǎn)換。正是由于數(shù)據(jù)湖非常擅長處理各種實(shí)時攝取的數(shù)據(jù)流,因此它的一個典型用例是:以批處理的方式,啟用自助服務(wù)式(self-service)的ELT,并對數(shù)據(jù)進(jìn)行自動化的處理、調(diào)度、構(gòu)建、以及維護(hù)各個數(shù)據(jù)管道的復(fù)雜性。

3.湖倉一體(Data Lakehouse)

不同于簡單的數(shù)據(jù)倉庫和數(shù)據(jù)湖架構(gòu),湖倉一體通常被認(rèn)為是一種高度重視開放式的數(shù)據(jù)管理新架構(gòu)。它的目標(biāo)是通過將上述兩者組合到一個平臺上,直接對數(shù)據(jù)湖本身運(yùn)行分析,以消除多個查詢引擎的繁瑣。

二、什么是Snowflake?

作為一種基于云端的數(shù)據(jù)倉庫,Snowflake專為在AWS、Microsoft Azure和Google Cloud Platform(GCP)等主流云服務(wù)提供商上運(yùn)行的數(shù)據(jù)業(yè)務(wù)所構(gòu)建。它是一種軟件即服務(wù)(SaaS)的解決方案,能夠使企業(yè)將收集到數(shù)據(jù)整合到集中位置,以便進(jìn)行分析。

Snowflake被認(rèn)為是云數(shù)據(jù)倉庫行業(yè)中最大的公司之一。它提供了為支持商業(yè)智能用例而構(gòu)建的自助式服務(wù)平臺,并且允許用戶利用SQL來查詢數(shù)據(jù),并創(chuàng)建可以推動業(yè)務(wù)決策的儀表板和報告。

三、什么是Databricks?

與Snowflake類似,Databricks也是一個基于云端的數(shù)據(jù)平臺。但是它屬于數(shù)據(jù)湖類型,而非數(shù)據(jù)倉庫。當(dāng)然,Databricks如今已擴(kuò)展到了湖倉一體化的范疇。如果說Snowflake專注于分析和報告的話,那么Databricks更多重視的是機(jī)器學(xué)習(xí)、數(shù)據(jù)科學(xué)、以及數(shù)據(jù)流使用案例。由于能夠支持多種開發(fā)語言,因此Databricks更適合于數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家。

作為一個基于Apache Spark的大數(shù)據(jù)平臺,Databricks主要被用于存儲大量未經(jīng)處理的原始數(shù)據(jù)。簡單而言,它圍繞著Apache Spark的分布式計(jì)算框架,構(gòu)建了數(shù)據(jù)管理層,并消除了人員管理和維護(hù)基礎(chǔ)設(shè)施的負(fù)擔(dān)。

四、架構(gòu)

1.Snowflake

Snowflake是一種基于ANSI SQL的無服務(wù)器解決方案,并具有完全分離的存儲和計(jì)算處理層。Snowflake利用大規(guī)模的并行處理(Massively Parallel Processing,MPP)來處理查詢,每個單獨(dú)的虛擬倉庫(即計(jì)算集群)都在本地存儲著整個數(shù)據(jù)集的一部分。Snowflake使用微分區(qū)(Micro Partitions)的方式,在內(nèi)部將數(shù)據(jù)組織并優(yōu)化為已壓縮的列格式,以便它們被保存到云端存儲處。

Snowflake能夠以自動化的方式,管理文件大小、壓縮、結(jié)構(gòu)、元數(shù)據(jù)、統(tǒng)計(jì)信息、以及其他用戶不可見、且只能通過SQL查詢和訪問到的數(shù)據(jù)對象。Snowflake中的所有處理,都使用被稱為虛擬倉庫的計(jì)算集群來完成。這些集群往往由多個MPP節(jié)點(diǎn)所組成。

作為一種SaaS解決方案,Snowflake在后端管理著大量來自用戶請求、基礎(chǔ)設(shè)施、元數(shù)據(jù)、身份驗(yàn)證、查詢解析、訪問控制、以及優(yōu)化等方面的內(nèi)容。由于能夠跑在AWS、GCP和Azure三大云平臺上,因此Snowflake的倉庫技術(shù)能夠方便用戶非常便捷地使用SQL進(jìn)行快速查詢。

2.Databricks

同屬于SaaS方案且能夠跑在AWS、GCP和Azure的Databricks,卻在架構(gòu)上完全不同。它源于Spark,是一種圍繞著單個節(jié)點(diǎn)或集群所構(gòu)建的、可以被部署在云端的多語言引擎。Databricks可以運(yùn)行在控制層面和數(shù)據(jù)層面之外。其中,數(shù)據(jù)層面包括了待處理的所有數(shù)據(jù),而控制層面包括了由Databricks管理的所有后端服務(wù)。與Snowflake類似,Databricks也是無服務(wù)器的,因此能夠支持近乎無限的并發(fā)請求。

總的說來,Databricks架構(gòu)包含了如下核心組件:

(1)Databricks的Delta Lake

Delta Lake是Databricks的數(shù)據(jù)倉庫版本。它作為一個額外的存儲系統(tǒng),運(yùn)行在傳統(tǒng)的數(shù)據(jù)湖之上。Delta Lake的核心是將現(xiàn)有數(shù)據(jù)湖上的流式和批處理統(tǒng)一起來,充當(dāng)Spark計(jì)算和云存儲之間的中間地帶。Delta Lake架構(gòu)包含如下三種類型的數(shù)據(jù)表:

  • 青銅表:原始數(shù)據(jù)
  • 白銀表:稍做“提純”的數(shù)據(jù),但尚未準(zhǔn)備好被使用
  • 黃金表:已提純且可以使用的數(shù)據(jù)

Delta在各張表中所保存的所有數(shù)據(jù),都會以parquet文件形式,被保存在云存儲中。

(2)Databricks的Delta Engine

Delta Engine是一個與Apache Spark相兼容的高性能查詢引擎,可協(xié)助處理Delta Lake中的數(shù)據(jù)。它通過其改進(jìn)的查詢優(yōu)化器,針對SQL和DataFrame的工作負(fù)載,提高了Delta Lake的整體性能。由C++編寫的該優(yōu)化器,被策略性地放置在了執(zhí)行層和云對象存儲之間,充當(dāng)著緩存層和執(zhí)行引擎的作用。

(3)Notebooks

Notebooks包含著可運(yùn)行的代碼、可視化且可描述的文本。它們可以通過基于Web的界面被訪問到。借助各種Notebooks,開發(fā)者可以使用Scala、R、SQL、以及Python語言,以協(xié)作的方式構(gòu)建不同的模型。

(4)MLFlow

MLflow是由Databricks創(chuàng)建的另一個開源平臺,可用于配置機(jī)器學(xué)習(xí)的環(huán)境,并從Spark、TensorFlow、ONNX等現(xiàn)有庫中運(yùn)行測試,以實(shí)現(xiàn)大規(guī)模、可靠地管理機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)等生命周期。MLFlow具有三個核心組件,分別是:實(shí)驗(yàn)跟蹤、模型管理和模型開發(fā)。

五、可擴(kuò)展性

1.Snowflake

Snowflake具有自動擴(kuò)展和自動掛起兩種功能,可以在空閑和忙碌期間啟停集群。雖然在Snowflake中,開發(fā)者無法任意調(diào)整節(jié)點(diǎn)的大小,但是可以通過單擊,來自動擴(kuò)展出多達(dá)10個倉庫。當(dāng)然,在單個表中每個隊(duì)列的DML被限制為20個。

2.Databricks

Databricks也具有自動擴(kuò)展的功能。也就是說,集群會根據(jù)單個查詢和用戶并發(fā)的實(shí)際使用情況,自動擴(kuò)縮容。不過,由于Databricks主要是為數(shù)據(jù)科學(xué)家設(shè)計(jì)的,其UI較為復(fù)雜,因此用戶調(diào)整起來會略顯費(fèi)勁。

六、安全與合規(guī)

無論是在Snowflake中,還是在Databricks中,所有靜態(tài)存儲的數(shù)據(jù)都會被自動加密。它們都提供了RBAC(role-based access control,基于角色的訪問控制),都能夠符合諸如:SOC 2 Type II、ISO 27001、HIPAA、以及GDPR等各種法規(guī)和認(rèn)證。

不過,不同于Snowflake,Databricks并沒有存儲層,開發(fā)者需要使用的是諸如AWS S3、Azure Blob Storage、Google Cloud Storage等對象級存儲。

七、數(shù)據(jù)支持

Snowflake和Databricks都支持半結(jié)構(gòu)化(如:Parquet、Avro、Orc、CSV、以及JSON)和結(jié)構(gòu)化的數(shù)據(jù)。Snowflake于2021年9月宣布支持非結(jié)構(gòu)化的數(shù)據(jù)。而在湖倉一體方面,Databricks還可以處理任何時間類型或格式的數(shù)據(jù),其中就包含了非結(jié)構(gòu)化的數(shù)據(jù)。由于Databricks支持多種開發(fā)語言,因此它在該領(lǐng)域占有優(yōu)勢。它的Spark引擎更適合于處理數(shù)據(jù)流、ML、AI、以及與數(shù)據(jù)科學(xué)工作相關(guān)的負(fù)載。而由于Snowflake最初是作為一種數(shù)據(jù)分析工具被設(shè)計(jì)的,因此其核心能力源于SQL。顯然,SQL以處理數(shù)據(jù)轉(zhuǎn)換見長。當(dāng)然,Snowflake最近也宣布了通過引入Snowpark來支持Python、Java和Scala等語言。

八、管理

Databricks已經(jīng)消除了大量與管理、操作Spark相關(guān)的基礎(chǔ)設(shè)施工作,但是用戶仍然需要通過大量的手動輸入,來調(diào)整集群大小、更新配置、以及切換計(jì)算選項(xiàng)??梢?,Databricks的門檻較高,學(xué)習(xí)曲線較為陡峭。

而基于SQL的Snowflake更為簡單,用戶只需單擊幾下鼠標(biāo),即可開始使用。同時,Snowflake還提供了針對對象、角色、用戶、權(quán)限、以及訪問等方面的精細(xì)控制。而Databricks除了執(zhí)行常規(guī)作業(yè)之外,也允許用戶實(shí)施保護(hù)日志、控制作業(yè)屬性、以及所有權(quán)。

九、數(shù)據(jù)保護(hù)

1.Snowflake

Snowflake有兩個獨(dú)特的功能--時間旅行(Time Travel)和故障安全(Fail-safe)。其中,時間旅行功能是在數(shù)據(jù)更新之前,保留數(shù)據(jù)的狀態(tài)。一般而言,時間旅行僅限于1天之內(nèi),但是企業(yè)客戶則可以指定最多90天的時間跨度。該功能可被應(yīng)用到數(shù)據(jù)表、模式和數(shù)據(jù)庫上。而故障安全是指,在時間旅行保留期結(jié)束后的7天期限內(nèi),可保護(hù)和恢復(fù)歷史數(shù)據(jù)。

2.Databricks

Databricks的Delta Lake也具有時間旅行的功能。其工作方式與Snowflake非常相似。在Delta Lake中存儲的數(shù)據(jù)會被自動實(shí)施版本控制,以便用戶按需訪問或使用該數(shù)據(jù)的歷史版本。Databricks的主要優(yōu)勢之一在于,由于它運(yùn)行在基于對象級存儲的Spark上,因此其本身無需存儲任何數(shù)據(jù),也就省去了各種本地用例。

十、售價

1.Snowflake

Snowflake采取的是基于個人倉庫使用情況的計(jì)費(fèi)模式。由于各種倉庫有著X-Small、Small、Medium、Large、X-Large等多種尺寸,因此它們在規(guī)模成本和服務(wù)器集群數(shù)量上有著很大的差異。X-small類型的Snowflake倉庫的基本定價,從大約每秒0.0003積分或每小時1積分開始。而Snowflake標(biāo)準(zhǔn)版上的X-Small倉庫的按需使用模式,則是從每積分2美元起售。

隨著倉庫規(guī)模的使用量遞增,成本和積分的消耗也會增加。對此,Snowflake提供了幾個版本,來根據(jù)使用情況讓用戶預(yù)購積分。通常情況下,預(yù)購容量的模式會比按需模式的費(fèi)率更低。按需存儲的售價為每月40美元,前端客戶則為每TB 23美元。當(dāng)然,積分的成本也會因業(yè)務(wù)層級的不同,而有所差別。

2.Databricks

與Snowflake相比,Databricks提供的存儲要便宜得多。畢竟所有內(nèi)容都被存儲在客戶自己的對象級存儲環(huán)境中。由于其中的部分?jǐn)?shù)據(jù)可能不需要被頻繁訪問,因此我們可以對它們進(jìn)行高度優(yōu)化。例如,S3中的存儲起售價為每TB 23美元。而且根據(jù)數(shù)據(jù)規(guī)模和訪問頻率的需求,此類費(fèi)用可能會大幅降低。

Databricks是基于DBU(Databricks處理單元)定價的,其中包括經(jīng)典、高級和企業(yè)三種商業(yè)價格等級。價格區(qū)間會從每個DBU 0.07美元到0.65美元不等,具體取決于DBU的大小。

十一、云基礎(chǔ)設(shè)施

作為托管式SaaS服務(wù),Snowflake和Databricks無論在啟動,還是在運(yùn)行后端基礎(chǔ)架構(gòu)等方面都處理得不錯。而且,這兩種解決方案都可以在多個不同的云環(huán)境中運(yùn)行。當(dāng)然,基于Spark的Databricks,需要更多的手動輸入和微調(diào),才能充分發(fā)揮其潛能。

十二、性能

由于Snowflake和Databricks支持的用例各不相同,因此,我們很難簡單斷言哪個性能更好。值得注意的是,Snowflake在數(shù)據(jù)訪問時,優(yōu)化了所有的存儲,更適合交互式查詢。

十三、Databricks和Snowflake的主要區(qū)別

Snowflake在處理生產(chǎn)級商業(yè)智能負(fù)載方面非常強(qiáng)大,這些負(fù)載往往需要以一致性的方法,運(yùn)行或生成報告和儀表板。因此,Snowflake可以取代傳統(tǒng)的數(shù)據(jù)倉庫,并提供更快的性能。

不過,基于SQL的Snowflake并沒有針對處理大量數(shù)據(jù)(特別是流式用例)進(jìn)行優(yōu)化。它以簡單的方式,協(xié)助數(shù)據(jù)分析師將數(shù)據(jù)民主化(democratize),進(jìn)而擴(kuò)展并處理更多的負(fù)載。當(dāng)然,其核心用例仍然是數(shù)據(jù)倉庫。

作為基于Spark的解決方案,Databricks的湖倉一體平臺支持更廣泛的功能需求,特別是:ELT、數(shù)據(jù)科學(xué)、以及機(jī)器學(xué)習(xí)等方面。Databricks允許開發(fā)者將數(shù)據(jù)保存在自己的托管對象存儲中,并提供了托管式Delta Lake(數(shù)據(jù)處理引擎)和Delta Engine(SQL查詢引擎)良好使用體驗(yàn)。

通過Databricks的Delta Lake和Delta Engine平臺,開發(fā)者雖然基本可以實(shí)現(xiàn)由Snowflake提供的所有功能,但是鑒于它是一個復(fù)雜的工具,開發(fā)者仍然需要花時間去優(yōu)化和構(gòu)建功能齊全的湖倉一體化。同時,Databricks也會比Snowflake更需要用戶投入維護(hù)時間和經(jīng)歷。

總而言之,Databricks和Snowflake數(shù)據(jù)平臺都可以支持高性能的SQL查詢與數(shù)據(jù)處理。其中,Databricks提供了所有部件和說明手冊,來設(shè)置一整套功能齊全的湖倉一體化,因此更善于處理數(shù)據(jù)工程、ETL/ELT、數(shù)據(jù)科學(xué)和數(shù)據(jù)流負(fù)載;而Snowflake則通過各種預(yù)構(gòu)建的工具,處理生產(chǎn)環(huán)境中的數(shù)據(jù),以供后期分析使用。

原文鏈接:https://dzone.com/articles/databricks-vs-snowflake-the-definitive-guide

譯者介紹

陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對內(nèi)外部資源與風(fēng)險實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗(yàn);持續(xù)以博文、專題和譯文等形式,分享前沿技術(shù)與新知;經(jīng)常以線上、線下等方式,開展信息安全類培訓(xùn)與授課。

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2017-03-09 15:01:41

混合云企業(yè)好處

2012-11-12 10:38:45

BYODVPN

2019-11-21 13:15:52

人臉識別AI人工智能

2024-06-11 12:48:52

AI蘋果GPT-4o

2013-01-08 10:02:26

虛擬化云計(jì)算

2013-01-06 09:55:36

虛擬化云計(jì)算

2021-08-27 08:51:47

MyISAMInnoDB索引

2009-03-13 08:56:31

Symbian手機(jī)OS諾基亞

2011-08-25 12:51:02

2024-01-15 07:14:37

kubernetesk8sLTS

2024-12-16 08:00:00

Snowflake數(shù)據(jù)平臺

2012-07-23 10:19:08

微軟Azure云計(jì)算

2021-01-17 16:29:51

C++Python語言

2017-12-07 20:20:58

802.11ax無線AP銳捷

2021-02-23 19:29:57

智能網(wǎng)卡SmartNIC網(wǎng)絡(luò)

2012-01-11 10:14:58

HTML 5

2013-11-27 11:12:12

5G4G第五代移動通信

2019-07-09 10:31:51

面試通信進(jìn)程

2021-10-11 15:57:49

物聯(lián)網(wǎng)5G技術(shù)

2019-02-22 08:32:21

IPv6互聯(lián)網(wǎng)IPv4
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號