Snowflake核心技術解讀系列 架構設計

2022-09-20 12:15:11 字數 1123 閱讀 7229

簡介:snowflake取得了巨大的商業成功,技術是如何支撐起它的千億美元市值呢?它技術強在哪?本文為大家傾情解讀snowflake的核心技術原理。

背景:2023年9月16日,snowflake成功ipo,交易首日市場估值達到704億美元,募集資金34億美元。snowflake成為迄今為止規模最大的軟體ipo,市值最高突破1200億美元。snowflake提供基於雲的資料儲存和分析服務,一般被稱為 "資料倉儲即服務",它允許企業使用者使用基於雲的硬體和軟體來儲存和分析資料。snowflake自2023年起在亞馬遜s3上執行,自2023年起在微軟azure上執行,自2023年起在谷歌云平台上執行,其snowflake data exchange允許客戶發現、交換和安全地共享資料。[維基百科]

snowflake是完全基於雲構建、充分利用雲特性的企業級saas資料倉儲產品,它不僅具有靈活性(即買即用)、高安全性、極致擴充套件性和彈性等特點,而且支援多租戶、事務、標準sql語法和半結構化、非結構化資料。snowflake在2023年開始上線使用,如今發展成支援每天執行數百萬條查詢的pb級雲原生資料倉儲。

圖 1 整體架構圖

圖1展示了snowflake的整體架構。snowflake設計的最終目的是為使用者提供高易用性、高可操作性,以及高可靠性,基於這樣的前提,snowflake的核心元件的設計都具有高可靠、高可擴充套件的特性。元件是互相獨立的,元件之間通過restful介面進行通訊。snowflake核心元件從底向上可以分為三個層面:

1)資料儲存。snowflake的資料儲存是構建在amazon s3儲存服務至上,主要用來儲存表資料和查詢結果。

2)虛擬倉庫。虛擬倉庫構建在amazon ec2虛擬機器組成的彈性集群之上,負責執行使用者的查詢請求。

3)雲服務元件。雲服務元件是snowflake的大腦,它包括併發訪問控制、基礎設施管理、優化器、事務管理、安全管理、元資料管理,其中元資料報含schema資訊、表資訊、許可權認證資訊、秘鑰、統計資訊等。

本篇文章為開胃菜,先從snowflake架構設計切入,有個總體的了解。接下來會陸續推出幾篇系列文章,講解包括snowflake重要的雲原生技術及其它的創新之處,雲服務元件,面向雲的各自特性。

大資料核心技術解讀

網際網路時代,我們每天都在生產著大量的資料,並且這些資料被記錄儲存下來,不斷地累積,資料規模越來越大,想要實現對資料的處理,就需要成熟的大資料技術框架來提供支援。今天的大資料前沿技術培訓分享,我們就來對大資料核心技術做乙個簡單的入門介紹。在大資料當中,相當一部分的資料是半結構化 非結構化的,並且伴隨...

Canvas 核心技術

最近專案需求中要寫較多h5小遊戲,遊戲本身體量不是很複雜,主要是承載較多業務邏輯,所以決定用canvas來完成遊戲部分。之前只是知道h5中有canvas這個東西,也知道它大概是畫圖的,但具體怎麼用,還是一無所知的。在mdn在看了一些相關資料,一口氣也看了html 5 canvas 核心技術和html...

Canvas 核心技術

最近專案需求中要寫較多h5小遊戲,遊戲本身體量不是很複雜,主要是承載較多業務邏輯,所以決定用canvas來完成遊戲部分。之前只是知道h5中有canvas這個東西,也知道它大概是畫圖的,但具體怎麼用,還是一無所知的。在mdn在看了一些相關資料,一口氣也看了html 5 canvas 核心技術和html...