自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

BigQuery vs Snowflake終極指南

譯文 精選
云計算 云原生
本文將介紹BigQuery和Snowflake在架構(gòu)、定價、安全性、合規(guī)性、數(shù)據(jù)保護、性能等方面的主要區(qū)別。

譯者 | 李睿

審校 | 梁策 孫淑娟

云計算數(shù)據(jù)倉庫是所有現(xiàn)代數(shù)據(jù)堆棧的中心。缺少基于云計算的數(shù)據(jù)倉庫,很難從數(shù)據(jù)中獲得見解。數(shù)據(jù)倉庫的核心是一個分析平臺,存儲分析來自各種數(shù)據(jù)源的信息,在企業(yè)進(jìn)行高級決策以及回答緊迫的業(yè)務(wù)查詢時,這些數(shù)據(jù)就會派上用場。如今,數(shù)據(jù)倉庫要么已被企業(yè)采用,要么正被逐步部署,其領(lǐng)域內(nèi)主要代表亦有許多,本文則將只關(guān)注BigQuery和Snowflake。

Snowflake是什么?

Snowflake是一種基于軟件即服務(wù)(SaaS)的倉庫解決方案,可在主流的云平臺(AWS、Azure、GCP)上運行。它專門為云計算而構(gòu)建,其中一些關(guān)鍵組件使它從其他云計算數(shù)據(jù)倉庫中脫穎而出。Snowflake于2014年公開發(fā)行,此后在數(shù)據(jù)倉庫行業(yè)中占有重要一席。截至2021年10月,其市場估值已達(dá)903.5億美元。

Snowflake在云中開發(fā),旨在提供云計算服務(wù),這意味它幾乎沒有管理或運營開銷。作為一種原生的SaaS服務(wù),Snowflake可以處理所有后端基礎(chǔ)設(shè)施,從而可以讓人們把重點放在從數(shù)據(jù)獲取見解上。Snowflake具有高度的可擴展性,支持近乎無限的并發(fā)查詢。

BigQuery是什么?

作為谷歌云平臺的一部分,Google BigQuery于2010年首次推出,是市場上最早的數(shù)據(jù)倉庫解決方案之一。雖然在當(dāng)時它在很大程度上被認(rèn)為是一個復(fù)雜的查詢引擎,但自此之后,Google BigQuery的進(jìn)步可圈可點,面目一新。

使用BigQuery與Snowflake類似,企業(yè)無需設(shè)置或維護自己的內(nèi)部部署基礎(chǔ)設(shè)施,從而可以專注使用標(biāo)準(zhǔn)SQL發(fā)現(xiàn)有意義的見解。Google BigQuery是谷歌的完全原生版本,不在任何其他云平臺上運行。

架構(gòu)

  • Snowflake

Snowflake基于ANSI SQL,是一個完全無服務(wù)器的解決方案,存儲與計算完全分離。它的架構(gòu)基于各種傳統(tǒng)的共享磁盤和無共享架構(gòu),對用戶來說可謂一舉兩得。通過使用持久數(shù)據(jù)的中央存儲庫,數(shù)據(jù)可用于平臺中的所有計算節(jié)點。

Snowflake利用大規(guī)模并行處理(MPP)來處理所有查詢。這意味著每個單獨的計算集群(虛擬機或服務(wù)器)在本地存儲。在存儲方面,Snowflake將其數(shù)據(jù)組織到單獨的微分區(qū)中,然后在內(nèi)部優(yōu)化并壓縮到列存儲中。

事實上,加載到Snowflake中的所有數(shù)據(jù)都經(jīng)過重新組織、優(yōu)化和壓縮成列格式,以便可以保存在云存儲中。Snowflake對數(shù)據(jù)存儲的所有方面進(jìn)行自動處理,涉及文件大小、結(jié)構(gòu)、壓縮、元數(shù)據(jù)、統(tǒng)計信息以及其他不能直接可見而只能通過SQL查詢訪問的數(shù)據(jù)對象。

Snowflake中的處理是使用“虛擬倉庫”或計算資源集群完成的。每個倉庫都是一個由多個節(jié)點組成的MPP。Snowflake的云服務(wù)層協(xié)調(diào)Snowflake中的所有活動,處理從用戶請求、身份驗證、基礎(chǔ)設(shè)施管理、元數(shù)據(jù)管理、查詢解析和優(yōu)化、訪問控制等所有內(nèi)容。

  • Google BigQuery

Google BigQuery與Snowflake非常相似,也是無服務(wù)器、存儲與計算分離并基于ANSI SQL,但它的架構(gòu)完全不同。BigQuery使用一套龐大的多租戶服務(wù),驅(qū)動該服務(wù)的特定谷歌基礎(chǔ)設(shè)施技術(shù)包括Dremel、Colossus、Jupiter和Borg等。Google BigQuery中的計算由Dremel完成,它是一個大型多租戶計算集群,并用于執(zhí)行SQL查詢。

Dremel將SQL查詢轉(zhuǎn)換為執(zhí)行樹來完成繁重的工作。BigQuery中的葉稱為“插槽” (slots)它們從存儲中讀取數(shù)據(jù)并進(jìn)行必要的計算。執(zhí)行樹的分支稱為“混合器”(Mixers),,用于處理所有聚合。團隊中的單個用戶可以根據(jù)需要利用數(shù)千個插槽來執(zhí)行查詢。

與Snowflake類似,BigQuery將數(shù)據(jù)壓縮成列格式,將數(shù)據(jù)存儲在谷歌的全球存儲系統(tǒng)Colossus中。Colossus管理數(shù)據(jù)復(fù)制、恢復(fù)和分布式管理,因此不會受單點故障影響。BigQuery使用谷歌公司的Jupiter網(wǎng)絡(luò)將數(shù)據(jù)從一個位置快速移動到另一個位置,其所有硬件資源分配和編排都通過Borg完成(谷歌公司推出的Kubernetes前身)。

可擴展性

Snowflake提供自動擴展和自動掛起功能,使集群能夠在繁忙或空閑期間停止或啟動。用戶使用Snowflake無法調(diào)整節(jié)點大小,但可以通過單擊調(diào)整集群大小。此外,Snowflake讓用戶能夠自動擴展多達(dá)10個數(shù)據(jù)倉庫,單個表中每個隊列的DML限制為20個。

同樣,BigQuery會根據(jù)需要自動配置額外計算資源,并在幕后處理一切。但是,BigQuery默認(rèn)限制為100個并發(fā)用戶。這兩個平臺都允許企業(yè)根據(jù)需求自動擴展和縮減。此外,Snowflake讓用戶能夠在不同數(shù)據(jù)倉庫中隔離跨業(yè)務(wù)的工作負(fù)載,以便不同的團隊可以獨立操作而不會出現(xiàn)并發(fā)問題。

安全與合規(guī)性

Snowflake自動為靜態(tài)數(shù)據(jù)提供加密。不過,它不為列提供細(xì)粒度的權(quán)限,而為模式、表、視圖、過程和其他對象提供權(quán)限。與其相反,BigQuery提供列級安全性以及對數(shù)據(jù)集、表格、視圖和圖表訪問控制的權(quán)限。

由于BigQuery是谷歌公司的原生產(chǎn)品,所以人們還可以利用其他具有BigQuery內(nèi)置安全性和身份驗證功能的谷歌云服務(wù),從而使集成變得更加容易。Snowflake不提供任何內(nèi)置的虛擬專用網(wǎng)絡(luò)。但是,如果Snowflake托管在AWS云平臺中,采用AWS PrivateLink可以解決這一問題。

另一方面,采用BigQuery能夠利用谷歌公司的虛擬私有云。BigQuery和Snowflake都符合HIPAA、ISO 27001、PCI DSS、SOC1TYPE II和SOC2TYPE II等認(rèn)證標(biāo)準(zhǔn)。

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

這兩個平臺都支持結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)(Avro、Parquet、Orc、CSV、JSON),自2021年9月20日起,Snowflake宣布支持非結(jié)構(gòu)化數(shù)據(jù),并已在公共預(yù)覽版中提供。

管理

使用BigQuery和Snowflake能夠管理用戶角色、權(quán)限和數(shù)據(jù)安全。所有性能調(diào)整都為自動進(jìn)行,且隨著數(shù)據(jù)量的增長和查詢變得更加復(fù)雜,兩個平臺都會在后臺自動擴展以滿足需求。

此外,由于兩個解決方案都是作為SaaS服務(wù)提供的,因此所有底層維護和基礎(chǔ)設(shè)施都會進(jìn)行處理。BigQuery自動處理所有事情,而Snowflake讓管理員可以獨立擴展計算和存儲層。這意味著可以隔離工作負(fù)載,而無需處理與Snowflake中的虛擬倉庫相關(guān)的大小調(diào)整和許可工作。

數(shù)據(jù)保護

BigQuery和Snowflake在保護數(shù)據(jù)方面都做得非常出色。Snowflake可以采用時間旅行(Time Travel)和故障保護(Fail-safe)這兩個功能幫助解決這個問題。借助時間旅行,Snowflake會在數(shù)據(jù)更新之前保留數(shù)據(jù)狀態(tài)。時間旅行的標(biāo)準(zhǔn)保留期為一天(企業(yè)客戶可以指定最多90天的期限),可以應(yīng)用于數(shù)據(jù)庫、模板和表。

使用故障保護,Snowflake可以恢復(fù)歷史數(shù)據(jù)。其時間段不可配置,并在時間旅行保留期結(jié)束后立即開始。盡管啟動恢復(fù)必須請求Snowflake,但任何可能由于極端操作故障而損壞或丟失的數(shù)據(jù),Snowflake都能通過這一功能恢復(fù)。

BigQuery中的管理員可以輕松還原更改,而無需處理恢復(fù)的麻煩。BigQuery對其表中的所有更改保留完整的七天歷史記錄。但是,為了將表數(shù)據(jù)保留七天以上,BigQuery提供了一種稱為表快照的功能(快照用于在特定時間點保留表的內(nèi)容)。

定價

Snowflake的定價模式是按每個數(shù)據(jù)倉庫的使用情況收費,因此成本主要取決于其整體使用情況。Snowflake有幾種大小不同(X-Small、Small、Medium、Large、X-Large等)的數(shù)據(jù)倉庫,其收費和服務(wù)器/集群數(shù)量都有很大差異。不過,Snowflake的X-Small倉庫的基本定價則為每秒0.00056美元。

數(shù)據(jù)倉庫規(guī)模每增加一倍,價格就會翻一番。Snowflake有幾個收費方案允許用戶預(yù)先購買積分以支付使用費用。預(yù)購容量方案的前期成本費率更低,因而優(yōu)于按需付費方案。

BigQuery則按掃描或讀取的字節(jié)數(shù)收費。BigQuery提供按需定價和固定費率定價。按需定價為按給定查詢中處理的字節(jié)數(shù)按5美元/TB收費。固定費率定價模式則是為運行查詢購買插槽(虛擬CPU)或?qū)S觅Y源。100個插槽的每月費用約為2,000美元(如果年付可降至1700美元)。

Snowflake和BigQuery的存儲費用都相對較低。Snowflake對按需客戶每月每TB收費40美元,對預(yù)付客戶每月收取23美元。BigQuery對活動存儲每月每TB收費20美元,對非活動存儲每TB收費10美元。

云計算基礎(chǔ)設(shè)施

作為原生SaaS產(chǎn)品,Snowflake可在任何主要的云平臺(AWS、GCP、Azure)上運行。BigQuery是原生谷歌云產(chǎn)品,所以僅在谷歌云平臺上可用。

性能

Snowflake無需微調(diào),可實現(xiàn)開箱即用,因而性能表現(xiàn)和執(zhí)行更迅速,在查詢時間上往往優(yōu)于包括BigQuery在內(nèi)的其他數(shù)據(jù)倉庫。相比不同之處,Snowflake和BigQuery的相似之處可能更多。

如果空閑時間較長,運行大量查詢只是偶爾需要,BigQuery可能會更高效且計算成本更低。另一方面,如果使用更可預(yù)測更可持續(xù),那么使用Snowflake可能成本效益更好。

Snowflake和BigQuery的主要區(qū)別

Snowflake和BigQuery之間有幾個主要區(qū)別需要注意。首先,Snowflake中的擴展和縮放并不是完全自動的,它需要提供一些輸入,而BigQuery則會自動處理一切。

其次,Snowflake可以在任何一個主流云平臺上運行,而BigQuery只能在谷歌云平臺上運行。Snowflake是一個完整的SaaS解決方案,BigQuery是一個PaaS解決方案。此外,Snowflake具有一項稱為安全數(shù)據(jù)共享的獨特功能,它能夠與其他Snowflake帳戶共享數(shù)據(jù)庫中的選定對象。使用安全數(shù)據(jù)共享實際上不會在帳戶之間復(fù)制或傳輸任何數(shù)據(jù),因為一切都發(fā)生在Snowflake獨特的服務(wù)層和元數(shù)據(jù)存儲中。

BigQuery沒有數(shù)據(jù)共享功能。但是,BigQuery能夠創(chuàng)建授權(quán)視圖以與特定用戶或組共享查詢執(zhí)行結(jié)果,而無需授予他們對基礎(chǔ)表的訪問權(quán)限。BigQuery還具有一項名為BigQuery ML的功能,可以創(chuàng)建和執(zhí)行機器學(xué)習(xí)模型,從而顯著改善查詢性能。

在機器學(xué)習(xí)和實時流工作負(fù)載方面,BigQuery絕對比Snowflake更有優(yōu)勢??傊谶x擇新的云數(shù)據(jù)平臺時,試圖解決的用例應(yīng)是做決定的首要考慮因素。

Snowflake和BigQuery的后續(xù)展望

之所以采用現(xiàn)代云數(shù)據(jù)倉庫,目的是將數(shù)據(jù)倉庫整合到一個集中的數(shù)據(jù)存儲庫中,以便分析師可以利用商業(yè)智能工具進(jìn)行分析和報告,從而創(chuàng)建可信單一數(shù)據(jù)源。在實際環(huán)境中,數(shù)據(jù)倉庫只是為企業(yè)的團隊創(chuàng)建了一個更大的數(shù)據(jù)倉庫。

數(shù)據(jù)倉庫使企業(yè)的團隊能夠在同一位置訪問其所有數(shù)據(jù),并為主要利益相關(guān)者創(chuàng)建高級儀表板和報告,而這些信息對于其他業(yè)務(wù)團隊來說則不適用。畢竟,數(shù)據(jù)只有在報表中才價值突顯。

這正是反向ETL解決的問題。反向ETL這一過程是將數(shù)據(jù)從中央數(shù)據(jù)倉庫復(fù)制到記錄操作系統(tǒng),該類系統(tǒng)包括但不限于用于增長、營銷、銷售和支持等內(nèi)容的SaaS工具。

原文標(biāo)題:BigQuery vs Snowflake: The Definitive Guide,作者:Luke Kline

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2023-05-05 17:20:04

2025-03-11 00:54:42

2012-08-21 06:53:00

測試軟件測試

2015-07-20 09:39:41

Java日志終極指南

2017-03-27 21:14:32

Linux日志指南

2021-07-19 09:00:00

數(shù)據(jù)庫數(shù)據(jù)分析技術(shù)

2015-03-05 11:28:51

Linux桌面環(huán)境終極指南

2015-11-08 14:44:48

2024-12-16 08:00:00

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

2024-09-13 12:25:43

2020-07-19 08:15:41

PythonDebug

2022-03-28 09:52:42

JavaScript語言

2025-01-14 00:00:00

2013-12-18 09:36:08

企業(yè)移動指南

2022-07-22 13:14:57

TypeScript指南

2024-05-17 10:59:25

云計算谷歌云

2015-08-10 09:21:23

2023-11-21 07:37:22

2023-05-23 18:31:14

Rust編程

2011-07-14 11:24:23

點贊
收藏

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