成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

科普—Snowflake Architecture

開發(fā) 架構(gòu)
每當(dāng)一個(gè)虛擬倉(cāng)庫(kù)接收到要執(zhí)行的查詢時(shí),它將首先掃描本地 SSD 磁盤緩存,然后再訪問 Snowflake 遠(yuǎn)程磁盤存儲(chǔ)。從 SSD 讀取速度比從數(shù)據(jù)庫(kù)存儲(chǔ)層讀取速度快,但仍需要運(yùn)行虛擬倉(cāng)庫(kù)來完成操作。

傳統(tǒng)的數(shù)據(jù)平臺(tái)架構(gòu)

Shared-Disk  架構(gòu)

shared-disk 是一種早期的架構(gòu),將數(shù)據(jù)存儲(chǔ)在一個(gè)中央存儲(chǔ)位置,并可從多個(gè)數(shù)據(jù)庫(kù)集群節(jié)點(diǎn)訪問。每個(gè)集群節(jié)點(diǎn)訪問的數(shù)據(jù)是一致可用的,因?yàn)樗袛?shù)據(jù)修改都被寫入共享磁盤。

這是一種很傳統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),以其數(shù)據(jù)管理的簡(jiǎn)單性而聞名。雖然該方法在理論上很簡(jiǎn)單,但它需要復(fù)雜的磁盤鎖定機(jī)制來確保數(shù)據(jù)一致性,這反過來容易造成瓶頸。

數(shù)據(jù)并發(fā)性,即允許多個(gè)用戶在數(shù)據(jù)庫(kù)中影響多個(gè)事務(wù),也是一個(gè)主要問題,在 shared-disk 架構(gòu)中增加更多的計(jì)算節(jié)點(diǎn)只會(huì)加劇這個(gè)問題。因此,這種架構(gòu)的真正可擴(kuò)展性是有限的。

圖片圖片

Oracle RAC 是典型的 shared-disk 架構(gòu)。

Shared-Nothing 架構(gòu)

shared-noting 架構(gòu),每個(gè)節(jié)點(diǎn)都有自己的 CPU、內(nèi)存和磁盤,并且一般通過網(wǎng)絡(luò)層進(jìn)行節(jié)點(diǎn)之間的通信,計(jì)算節(jié)點(diǎn)可以自由獨(dú)立擴(kuò)展,規(guī)避了 shared-disk 的集中式存儲(chǔ)瓶頸。

圖片圖片

常見的 shared-nothing 架構(gòu)的數(shù)據(jù)庫(kù)有 DB2、Vertica、Greenplum。

Snowflake Architecture

Snowflake 團(tuán)隊(duì)采取了獨(dú)特的方法。他們不是試圖逐步改進(jìn)或轉(zhuǎn)換現(xiàn)有的軟件架構(gòu),而是構(gòu)建了一個(gè)全新的、專為云端設(shè)計(jì)的現(xiàn)代數(shù)據(jù)平臺(tái),允許多個(gè)用戶同時(shí)共享實(shí)時(shí)數(shù)據(jù)。

獨(dú)特的 Snowflake 設(shè)計(jì)在物理上將存儲(chǔ)和計(jì)算進(jìn)行了分離,但在邏輯上進(jìn)行了集成,并提供了安全和管理等服務(wù)。

Snowflake 混合模型架構(gòu)由三個(gè)層組成:元數(shù)據(jù)服務(wù)層、計(jì)算層和數(shù)據(jù)存儲(chǔ)層。

圖片圖片

The Cloud Services Layer

與 Snowflake 實(shí)例中的數(shù)據(jù)的所有交互都始于 Cloud Service 層,又被稱為全局服務(wù)層。

Snowflake Cloud Service 層是一組服務(wù),用于協(xié)調(diào)身份驗(yàn)證、訪問控制和加密等活動(dòng)。它還包括用于處理一些基礎(chǔ)設(shè)施和元數(shù)據(jù)的管理功能,以及執(zhí)行查詢解析和優(yōu)化器等功能。

Cloud Service 層有時(shí)被稱為 Snowflake 的"大腦",因?yàn)樗胁煌姆?wù)層組件共同工作,處理用戶從請(qǐng)求登錄開始的請(qǐng)求。

圖片圖片

每當(dāng)用戶請(qǐng)求登錄時(shí),該請(qǐng)求由 Cloud Service 層處理。當(dāng)用戶提交一個(gè) Snowflake 查詢時(shí),SQL 查詢將首先發(fā)送到Cloud Service 層優(yōu)化器,然后再發(fā)送到計(jì)算層進(jìn)行處理。Cloud Service 層是使得可以在數(shù)據(jù)上進(jìn)行數(shù)據(jù)定義語言(DDL)和數(shù)據(jù)操作語言(DML)操作的SQL客戶端接口的核心。

The Query Processing (Virtual Warehouse) Compute Layer

Snowflake 的計(jì)算集群,通常也叫做虛擬數(shù)倉(cāng)(Virtual Warehouse),是一個(gè)由 CPU、內(nèi)存、和臨時(shí)存儲(chǔ)組成的動(dòng)態(tài)資源集群,用戶可以自由創(chuàng)建計(jì)算集群,Snowflake 在后臺(tái)進(jìn)行調(diào)度分配資源。

圖片圖片

Snowflake 獨(dú)特的架構(gòu)允許存儲(chǔ)和計(jì)算分離,這意味著任何一個(gè) Virtual Warehouse 都可以訪問與其他 Virtual Warehouse 相同的數(shù)據(jù),而不會(huì)產(chǎn)生沖突或?qū)ζ渌?warehouse 的性能造成影響。這是因?yàn)槊總€(gè) Snowflake 的 Virtual Warehouse 都是獨(dú)立運(yùn)行、無狀態(tài)的,不與其他 Virtual Warehouse 共享計(jì)算資源。

在一個(gè) session 中運(yùn)行時(shí),Virtual Warehouse 總是會(huì)消耗計(jì)算配額。

然而,Snowflake Virtual Warehouse 可以隨時(shí)啟動(dòng)和停止,并且可以在運(yùn)行時(shí)隨時(shí)調(diào)整大小。Snowflake 支持兩種不同擴(kuò)展方式。Virtual Warehouse 可以通過調(diào)整 warehouse 的大小來進(jìn)行垂直擴(kuò)展,也可以通過向 warehouse 添加集群來進(jìn)行水平擴(kuò)展。可以同時(shí)使用這兩種擴(kuò)展方法,也  可以只使用其中一種。

Scaling Up

在創(chuàng)建計(jì)算集群的時(shí)候,可以指定其大小,這個(gè)大小主要表示了 warehouse 所占的服務(wù)器資源,size 越大,計(jì)算資源越多,計(jì)算性能也就越強(qiáng)。

Virtual Warehouse 可以擴(kuò)展其大小,這一般也叫做 scaling up,在處理一些復(fù)雜的任務(wù)時(shí)可以對(duì)其進(jìn)行調(diào)整。

圖片圖片

Scaling Out

Virtual Warehouse 還可以擴(kuò)展其集群的數(shù)量,進(jìn)一步提升計(jì)算性能,這種擴(kuò)展方式叫做 scaling out。

圖片圖片

計(jì)算集群可以被隨意創(chuàng)建,并且任意擴(kuò)展,這帶來了一個(gè)極大的好處便是可以將不同的 workload 分配到不同的 warehouse 中,并且共享底層的數(shù)據(jù)存儲(chǔ)。

圖片圖片

Centralized (Hybrid Columnar) Database Storage Layer

Snowflake 的集中式數(shù)據(jù)庫(kù)存儲(chǔ)層包含所有的數(shù)據(jù),例如結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。

當(dāng)數(shù)據(jù)加載到Snowflake時(shí),它會(huì)被優(yōu)化重新組織為一種壓縮的列格式,并存儲(chǔ)和維護(hù)在 Snowflake 數(shù)據(jù)庫(kù)中。每個(gè)Snowflake 數(shù)據(jù)庫(kù)由一個(gè)或多個(gè) schema 組成,schema 是數(shù)據(jù)庫(kù)對(duì)象(如表和視圖)的邏輯分組。

圖片圖片

存儲(chǔ)在 Snowflake 數(shù)據(jù)庫(kù)中的數(shù)據(jù)始終是經(jīng)過壓縮和加密的。Snowflake 負(fù)責(zé)管理數(shù)據(jù)存儲(chǔ)的每個(gè)方面。Snowflake會(huì)自動(dòng)將存儲(chǔ)的數(shù)據(jù)組織成微型分區(qū),這是一種經(jīng)過優(yōu)化、不可變的壓縮列格式,并使用 AES-256 進(jìn)行加密。

Snowflake 通過優(yōu)化和壓縮數(shù)據(jù),使元數(shù)據(jù)提取和查詢處理更加簡(jiǎn)單和高效,每當(dāng)用戶提交一個(gè) Snowflake 查詢時(shí),該查詢會(huì)先經(jīng)過 Cloud Service 層的優(yōu)化器,然后再發(fā)送到計(jì)算層進(jìn)行處理。

Snowflake 的數(shù)據(jù)存儲(chǔ)層有時(shí)被稱為遠(yuǎn)程磁盤層,底層文件系統(tǒng)是在 AWS、Google Cloud 或 Microsoft Azure 上實(shí)現(xiàn),數(shù)據(jù)存儲(chǔ)時(shí)使用的特定提供商是在創(chuàng)建 Snowflake 賬戶時(shí)選擇的。

Snowflake不限制您存儲(chǔ)的數(shù)據(jù)量、創(chuàng)建的數(shù)據(jù)庫(kù)數(shù)量或數(shù)據(jù)庫(kù)對(duì)象數(shù)量。Snowflake 表可以輕松存儲(chǔ) PB 級(jí)別的數(shù)據(jù)。在 Snowflake 賬戶中,隨著存儲(chǔ)的增加或減少,不會(huì)對(duì)虛擬倉(cāng)庫(kù)的大小產(chǎn)生影響。這兩者獨(dú)立于彼此和云服務(wù)層進(jìn)行擴(kuò)展。

Snowflake Caching

Snowflake 在 Cloud Service 和 Virtual Warehouse 層都有對(duì)應(yīng)的緩存策略,主要是為了能夠避免頻繁訪問遠(yuǎn)端 S3

存儲(chǔ),加速查詢性能。

Result Cache

從Snowflake檢索數(shù)據(jù)的最快方式是使用 Result Cache。Snowflake 查詢的結(jié)果會(huì)被緩存或持久化保存24小時(shí),然后被清除。但每次重新執(zhí)行查詢時(shí),時(shí)間會(huì)被重置,最長(zhǎng)可以從首次執(zhí)行查詢的日期和時(shí)間開始計(jì)算,持續(xù)31天。在31天之后,或者如果基礎(chǔ)數(shù)據(jù)發(fā)生變化,則在再次提交查詢時(shí)生成并緩存新的結(jié)果。

查詢結(jié)果緩存由 Snowflake 的 Cloud Service 層管理,并且可以被所有的計(jì)算集群所共享。

圖片圖片

Metadata Cache

在 Cloud Service 層中還維護(hù)了一個(gè)元數(shù)據(jù)緩存層 Metadata Cache,Snowflake 收集和管理有關(guān)表、分區(qū)等元數(shù)據(jù)。對(duì)于表,Snowflake 存儲(chǔ)行計(jì)數(shù)、表的字節(jié)大小、文件引用和表版本。因此,在運(yùn)行 SELECT COUNT(*) 查詢時(shí),不需要運(yùn)行 Virtual Warehouse,因?yàn)橛?jì)數(shù)統(tǒng)計(jì)信息保存在元數(shù)據(jù)緩存中。

圖片圖片

Virtual Warehouse Local Disk Cache

在計(jì)算層中,Virtual Warehouse 中還維護(hù)了本地磁盤緩存。

圖片圖片

每當(dāng)一個(gè)虛擬倉(cāng)庫(kù)接收到要執(zhí)行的查詢時(shí),它將首先掃描本地 SSD 磁盤緩存,然后再訪問 Snowflake 遠(yuǎn)程磁盤存儲(chǔ)。從 SSD 讀取速度比從數(shù)據(jù)庫(kù)存儲(chǔ)層讀取速度快,但仍需要運(yùn)行虛擬倉(cāng)庫(kù)來完成操作。

責(zé)任編輯:武曉燕 來源: roseduan寫字的地方
相關(guān)推薦

2023-09-12 08:00:00

大數(shù)據(jù)數(shù)據(jù)管理Snowflake

2022-02-09 09:00:00

云計(jì)算BigQuerySnowflake

2009-09-25 15:31:24

Hibernate架構(gòu)

2020-08-10 15:24:05

Snowflake算法開源

2022-09-09 07:41:35

DatabricksSnowflake數(shù)據(jù)

2016-07-01 16:13:13

AWSLambda

2016-12-12 16:06:41

BI商業(yè)智能

2014-04-08 16:02:28

寬字節(jié)注入數(shù)據(jù)安全MYSQL

2023-04-20 09:54:36

數(shù)據(jù)管理大數(shù)據(jù)

2014-04-15 11:22:24

2014-07-22 10:33:50

Android Stu離線升級(jí)

2022-04-26 09:16:07

PWA線程生命周期

2020-08-03 07:00:00

Snowflake數(shù)據(jù)庫(kù)性能調(diào)優(yōu)

2022-04-18 10:49:14

開源產(chǎn)品組合架構(gòu)

2024-06-21 09:56:03

2023-02-07 09:24:28

2019-09-19 14:50:15

區(qū)塊鏈運(yùn)行原理

2018-12-03 13:53:19

車聯(lián)網(wǎng)5G傳感器

2014-01-15 12:59:21

2018-03-30 16:03:04

軟件無狀態(tài)”
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 综合视频在线 | 久久精品国产久精国产 | 成人高清在线视频 | 一区二区日韩精品 | 国产精品久久视频 | 亚洲欧洲成人av每日更新 | www成人免费视频 | 午夜在线视频 | 一区二区视频在线观看 | 欧美日韩国产一区二区三区不卡 | 亚洲二区在线 | 最近中文字幕第一页 | 一级做a爰片性色毛片16 | 成人影院一区二区三区 | 一级毛毛片 | 一级看片免费视频囗交动图 | 国产精品爱久久久久久久 | 91av视频在线 | 91九色视频 | 一级全黄视频 | 久久久国产一区 | 久久国产精品视频 | 亚洲一区二区三区免费视频 | 久久亚洲国产精品日日av夜夜 | 成年免费大片黄在线观看一级 | 国产精品精品视频一区二区三区 | 国产超碰人人爽人人做人人爱 | 久久日韩精品一区二区三区 | 爱爱爱av| 亚洲91精品| 国产精品亚洲精品日韩已方 | 欧美日韩在线综合 | 最新国产精品精品视频 | 欧美成人影院 | 永久免费av | 男女视频在线观看免费 | 久久精品国产a三级三级三级 | 国产精品视频97 | 亚洲国产欧美在线人成 | 亚洲人成在线播放 | 国产精品美女久久久久久久久久久 |