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

云數(shù)據(jù)倉(cāng)庫(kù)Snowflake、Panoply和Repods的全面大比拼

譯文
云計(jì)算 大數(shù)據(jù) 數(shù)據(jù)倉(cāng)庫(kù)
您在找合適的云數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)嗎?本文為您比較三種常見(jiàn)的平臺(tái),全面為你分析它們?cè)诓煌矫娴膬?yōu)缺點(diǎn)。

【51CTO.com快譯】介紹

Snowflake、Panoply和Repods是三種允許您在托管云架構(gòu)中提取、處理、存儲(chǔ)和訪問(wèn)數(shù)據(jù)的云端服務(wù)。區(qū)別于其他只能提供數(shù)據(jù)呈現(xiàn)與處理的云服務(wù),這些平臺(tái)能夠?yàn)楹A康臄?shù)據(jù)提供計(jì)算與存儲(chǔ)資源,因此我們常稱(chēng)之為云數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)。

以存儲(chǔ)和處理數(shù)據(jù)為核心功能的數(shù)據(jù)倉(cāng)庫(kù)服務(wù),為數(shù)據(jù)的整體性管理與分析提供了堅(jiān)實(shí)的云平臺(tái)基礎(chǔ)。由于這三個(gè)平臺(tái)的受眾并非完全相同,因此我們可能無(wú)法直接對(duì)它們的所有方面進(jìn)行全面比較。特別對(duì)于Panoply和Snowflake,我們只是從它們?cè)诰W(wǎng)上公開(kāi)的資料來(lái)進(jìn)行分析。

架構(gòu)

Panoply綜合使用到了Amazon Redshift數(shù)據(jù)服務(wù)、Elasticsearch數(shù)據(jù)庫(kù)、Amazon S3存儲(chǔ)、以及Spark計(jì)算架構(gòu)。Amazon Redshift是一個(gè)可擴(kuò)展的數(shù)據(jù)庫(kù),它源自Postgres數(shù)據(jù)庫(kù)架構(gòu)、并增加了集群的功能。不過(guò),它僅能作為Amazon Web Service來(lái)運(yùn)行。

該體系架構(gòu)能夠通過(guò)向群集里添加更多的節(jié)點(diǎn),以實(shí)現(xiàn)在線擴(kuò)展。由于不同的Panoply客戶(hù)端都能夠共享相同的基礎(chǔ)架構(gòu),因此在某個(gè)客戶(hù)端上出現(xiàn)的高流量的查詢(xún)負(fù)載時(shí),其他客戶(hù)端的查詢(xún)性能可能會(huì)受到影響。通過(guò)Panoply,您能夠創(chuàng)建多個(gè)Amazon Redshift類(lèi)型的數(shù)據(jù)庫(kù)。因此從某種意義上說(shuō),此類(lèi)數(shù)據(jù)庫(kù)雖然具有單獨(dú)的存儲(chǔ)區(qū)域,但是它們?nèi)怨蚕硐嗤牟樵?xún)引擎(即DBMS系統(tǒng))。

Snowflake雖然并未詳細(xì)地披露其底層架構(gòu),但總體而言,它能夠通過(guò)一個(gè)在線擴(kuò)展的平臺(tái),來(lái)清晰地分離出存儲(chǔ)和計(jì)算資源。Snowflake允許您在同一個(gè)帳戶(hù)中創(chuàng)建和管理多個(gè)數(shù)據(jù)倉(cāng)庫(kù)。您既可以詳細(xì)地配置每個(gè)倉(cāng)庫(kù)的計(jì)算群集尺寸,又可以為每個(gè)倉(cāng)庫(kù)配置好自動(dòng)在線縮放的規(guī)則,即:在不中斷服務(wù)的情況下實(shí)現(xiàn)縱向擴(kuò)展(在一臺(tái)計(jì)算機(jī)上使用更多的資源)、以及橫向擴(kuò)展(引入更多的計(jì)算資源)。當(dāng)然,為了確保每個(gè)倉(cāng)庫(kù)具有穩(wěn)定的性能,Snowflake的數(shù)據(jù)倉(cāng)庫(kù)并不共享計(jì)算資源,而且會(huì)使用外部工具來(lái)直接訪問(wèn)數(shù)據(jù)庫(kù)。

Repods的基礎(chǔ)架構(gòu)包括原生的PostgreSQL(版本在10以上)、以及TimescaleDB。該數(shù)據(jù)庫(kù)可被用于大時(shí)間跨度的分區(qū)數(shù)據(jù),存儲(chǔ)集群管理、擴(kuò)展存儲(chǔ)、以及許多與數(shù)據(jù)倉(cāng)庫(kù)相關(guān)的服務(wù)。目前,雖然Repods能夠提供可靠的I/O速度和PB級(jí)的在線擴(kuò)展,但是其擴(kuò)展計(jì)算資源的過(guò)程仍需要幾秒鐘的數(shù)據(jù)倉(cāng)庫(kù)停機(jī)時(shí)間,而且并不具有容量彈性。您可以為每個(gè)帳戶(hù)創(chuàng)建、管理和共享多個(gè)數(shù)據(jù)倉(cāng)庫(kù)。不過(guò),該平臺(tái)中的不同數(shù)據(jù)倉(cāng)庫(kù)實(shí)例,主要依賴(lài)于那些尚未與群集中的任何其他實(shí)例共享的專(zhuān)用資源,并籍此實(shí)現(xiàn)穩(wěn)定的查詢(xún)性能。

導(dǎo)入接口

我們將導(dǎo)入接口分為如下四個(gè)部分:

[[276650]]

  • 文件 - 仍然是最常見(jiàn)的數(shù)據(jù)形式。
  • Web服務(wù) - 網(wǎng)上有大量相關(guān)的數(shù)據(jù)。
  • 數(shù)據(jù)庫(kù) – 通常,各類(lèi)數(shù)據(jù)存儲(chǔ)在不同組織的傳統(tǒng)數(shù)據(jù)庫(kù)中,而組織對(duì)這些數(shù)據(jù)庫(kù)的訪問(wèn),一般不會(huì)暴露到互聯(lián)網(wǎng)上,因此它們無(wú)法直接用到云數(shù)據(jù)平臺(tái)。那么Web服務(wù)可以被放置在內(nèi)部部署的數(shù)據(jù)庫(kù)、以及云服務(wù)之間,從而處理訪問(wèn)控制等安全相關(guān)問(wèn)題。當(dāng)然,另一種方法則是在安全跳轉(zhuǎn)的主機(jī)上使用ssh-tunneling。
  • 實(shí)時(shí)流 - 實(shí)時(shí)數(shù)據(jù)流是由各種消息路由器來(lái)傳遞的。隨著物聯(lián)網(wǎng)的興起,它們將會(huì)變得越來(lái)越重要。

Panoply在上述四個(gè)方面都提供了大量的導(dǎo)入選項(xiàng)。不過(guò),據(jù)我們所掌握的信息,Panoply既不能根據(jù)自動(dòng)化計(jì)劃,從云存儲(chǔ)桶(bucket)或SFTP中提取文件;又不能根據(jù)計(jì)劃去請(qǐng)求RESTful URL。

Snowflake雖然只專(zhuān)注于加載文件(如cat.II),但是它允許您從云存儲(chǔ)處加載包括Amazon S3或Microsoft Azure之類(lèi)的文件。Snowflake可以讓您監(jiān)控新的文件到達(dá),并及時(shí)加載它們。

在Repods中,您可以上載文件,從S3 Buckets處加載文件、或從外部SFTP服務(wù)器處加載數(shù)據(jù)。Repods并不為所有可能的Web服務(wù)提供單獨(dú)的接口,不過(guò)它提供了一個(gè)可用于為任何類(lèi)型的服務(wù)(例如Socrata)接受Web請(qǐng)求的通用API。雖然用戶(hù)無(wú)法在各個(gè)數(shù)據(jù)庫(kù)之間導(dǎo)入/出數(shù)據(jù),但是他們可以通過(guò)Repods,訂閱和接收消息路由器(目前為WAMPonly)上的不同主題,以便以微批次(micro-batches)的方式提取數(shù)據(jù)。

數(shù)據(jù)轉(zhuǎn)換ETL

通常,被導(dǎo)入數(shù)據(jù)平臺(tái)的數(shù)據(jù)必須經(jīng)過(guò)類(lèi)型轉(zhuǎn)換,才能在數(shù)據(jù)流中被予以分析。該過(guò)程通常被稱(chēng)為ETL(提取、轉(zhuǎn)換、加載),包括:為原始數(shù)據(jù)創(chuàng)建表格,分配數(shù)據(jù)類(lèi)型,過(guò)濾數(shù)值,連接現(xiàn)有的數(shù)據(jù),創(chuàng)建派生列/行,以及將各種自定義的邏輯應(yīng)用到原始數(shù)據(jù)上。

業(yè)界常把創(chuàng)建和管理ETL的過(guò)程稱(chēng)為數(shù)據(jù)工程。此過(guò)程不但耗時(shí),而且耗費(fèi)管理人員的精力。一些較大的數(shù)據(jù)倉(cāng)庫(kù)往往會(huì)包含數(shù)千個(gè)具有不同階段、依賴(lài)關(guān)系、以及處理順序的ETL過(guò)程。

在Panoply中,您可以使用代碼來(lái)創(chuàng)建數(shù)據(jù)轉(zhuǎn)換。針對(duì)每一次數(shù)據(jù)訪問(wèn),有的轉(zhuǎn)換能夠提供重新計(jì)算的虛擬結(jié)果(“視圖”);有的則能夠保存重新計(jì)算的工作量。據(jù)我們所知,在Panoply中,如果數(shù)據(jù)已經(jīng)實(shí)現(xiàn),則必須手動(dòng)刷新數(shù)據(jù)以獲取更新。例如:在出現(xiàn)新的數(shù)據(jù)時(shí),用戶(hù)必須點(diǎn)擊刷新以執(zhí)行轉(zhuǎn)換。

根據(jù)源的大小和轉(zhuǎn)換的復(fù)雜性,我們可以禁止將中間性的結(jié)果,存儲(chǔ)到專(zhuān)門(mén)的管理性結(jié)果表中。而常見(jiàn)的做法是:將新數(shù)據(jù)的增量加載到表中已有的數(shù)據(jù)里。當(dāng)然, Panoply并不提供對(duì)于歷史記錄的具體支持。

Snowflake在處理數(shù)據(jù)轉(zhuǎn)換方面,采用了與Panoply類(lèi)似的方法。您可以使用Snowflake的SQL語(yǔ)句在表單式SQL查詢(xún)中實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)換,然后按需在新的表中予以后期處理。在Snowflake中,您可以對(duì)數(shù)據(jù)對(duì)象進(jìn)行低級(jí)別的控制,就像使用Postgres、MySQL、Oracle或DB2之類(lèi)的傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)一樣,您可以去創(chuàng)建表、索引、視圖、查詢(xún)、以及分區(qū)等。

另外,Snowflake還允許您查詢(xún)?cè)谀硞€(gè)特定時(shí)間點(diǎn)(最多90天前)的表格狀態(tài)。不過(guò),Snowflake并不支持“開(kāi)箱即用”式的數(shù)據(jù)自動(dòng)化歷史記錄。

在Repods中,您可以創(chuàng)建所謂的“管道(Pipe)”,將原始數(shù)據(jù)轉(zhuǎn)換為特定的數(shù)據(jù)倉(cāng)庫(kù)表(如Evo表)。在這些查詢(xún)中,由于實(shí)際插入的目標(biāo)表會(huì)依靠諸如:刪除重復(fù)數(shù)據(jù)、生產(chǎn)密鑰、記錄歷史日志、以及控制版本等技術(shù),來(lái)實(shí)現(xiàn)集成式的后期處理,因此您不必為每一個(gè)轉(zhuǎn)換都重新制定數(shù)據(jù)的插入策略。

監(jiān)控

通常,大型數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)可以輕松地容納并包含數(shù)百個(gè)數(shù)據(jù)表,以及數(shù)百個(gè)管理數(shù)據(jù)流的自動(dòng)ETL過(guò)程。不過(guò),它們?cè)谶\(yùn)行過(guò)程中難免會(huì)出現(xiàn)錯(cuò)誤,而且其中的一些錯(cuò)誤需要人工進(jìn)行干預(yù)。針對(duì)此類(lèi)復(fù)雜性,我們需要通過(guò)監(jiān)控來(lái)獲悉平臺(tái)的狀況。

在Panoply中,您可以查看到已執(zhí)行的各種查詢(xún)、以及作業(yè)的歷史記錄。通過(guò)警報(bào)視圖,您可以獲悉服務(wù)和其他資產(chǎn)的問(wèn)題、及其來(lái)源。各種查詢(xún)?nèi)罩緯?huì)根據(jù)每隔幾秒的輪詢(xún)服務(wù),予以更新(并非實(shí)時(shí)刷新)。

Snowflake通過(guò)監(jiān)​​控報(bào)告,為您提供在特定時(shí)間范圍內(nèi),活動(dòng)查詢(xún)的數(shù)量、及其資源消耗的匯總信息。在Snowflake中,您可以使用SQL語(yǔ)句來(lái)訪問(wèn)各種內(nèi)部元數(shù)據(jù)表(metadata table),并提取系統(tǒng)中查詢(xún)活動(dòng)的相關(guān)信息類(lèi)型。同時(shí),Snowflake還能在Web界面中顯示曾經(jīng)執(zhí)行過(guò)的歷史查詢(xún)操作。

Repods通過(guò)提供實(shí)時(shí)更新的圖形概覽,以顯示當(dāng)前和歷史執(zhí)行過(guò)的管道詳細(xì)信息。Repods還允許您使用SQL語(yǔ)句來(lái)分析系統(tǒng)的日志,并提取有關(guān)管道執(zhí)行的信息類(lèi)型。

實(shí)用性

在對(duì)于用戶(hù)、數(shù)據(jù)倉(cāng)庫(kù)、表格、轉(zhuǎn)換、報(bào)告等對(duì)象的創(chuàng)建與管理方面,云端工具通常會(huì)根據(jù)目標(biāo)用戶(hù)平衡控制級(jí)別與易用水平。此處的三個(gè)平臺(tái)由于本質(zhì)上都屬于云端環(huán)境,因此用戶(hù)可以使用基于瀏覽器的Web應(yīng)用,來(lái)直接進(jìn)行訪問(wèn)與管控。具體而言:

Snowflake為用戶(hù)提供了類(lèi)似數(shù)據(jù)庫(kù)系統(tǒng)的高級(jí)可控功能。用戶(hù)可以在代碼面板中編寫(xiě)、導(dǎo)入、制表、視圖、索引之類(lèi)的處理代碼;并且通過(guò)Web表單,來(lái)處理諸如創(chuàng)建和刪除整個(gè)數(shù)據(jù)倉(cāng)庫(kù)及其用戶(hù)等任務(wù)。不過(guò),其Web界面并不能自動(dòng)響應(yīng)平臺(tái)上的各項(xiàng)活動(dòng),用戶(hù)需要通過(guò)定期刷新其視圖(每10秒刷新一次),來(lái)實(shí)現(xiàn)更新。

在Panoply中,用戶(hù)通過(guò)Web表單來(lái)處理對(duì)象的創(chuàng)建、以及有關(guān)數(shù)據(jù)導(dǎo)入的設(shè)置,而進(jìn)一步的數(shù)據(jù)變換與分析,則需要通過(guò)代碼面板才能實(shí)現(xiàn)。此外,Panoply僅能夠提供英文版的界面。

在Repods中,用戶(hù)能夠通過(guò)Web表單來(lái)處理對(duì)象的創(chuàng)建,并且在代碼面板中處理各種自定義的轉(zhuǎn)換邏輯。就Repods的數(shù)據(jù)分析而言,用戶(hù)既可以使用工作簿樣式(workbook-style)方法,來(lái)創(chuàng)建自定義的分析查詢(xún),也可以使用內(nèi)置的OLAP工具,通過(guò)點(diǎn)擊來(lái)快速獲悉數(shù)據(jù)模型。

多用戶(hù)工作流程

此處主要比較的是:用戶(hù)交互、以及數(shù)據(jù)與工作內(nèi)容的共享支持??偟恼f(shuō)來(lái),這三個(gè)平臺(tái)都允許多個(gè)用戶(hù)在同一個(gè)數(shù)據(jù)環(huán)境中開(kāi)展協(xié)同工作。當(dāng)然,它們都無(wú)法提供在線討論或聊天的功能。

Panoply為所有用戶(hù)提供了一個(gè)基礎(chǔ)架構(gòu)式的環(huán)境,用戶(hù)可以在此架構(gòu)上創(chuàng)建多個(gè)Amazon Redshift數(shù)據(jù)庫(kù)。您可以在Panoply上管理“Admin”和“Editor”兩類(lèi)角色。不過(guò),Panoply平臺(tái)的用戶(hù)之間并無(wú)通信功能,而且關(guān)于該平臺(tái)中的數(shù)據(jù)對(duì)象和轉(zhuǎn)換的文檔也比較匱乏。

在Snowflake中,您可以細(xì)粒度地管控每一個(gè)賬戶(hù),該如何訪問(wèn)多個(gè)數(shù)據(jù)倉(cāng)庫(kù)。與在傳統(tǒng)數(shù)據(jù)庫(kù)體系上所使用的訪問(wèn)控制類(lèi)似,您可以在這些數(shù)據(jù)倉(cāng)庫(kù)中,自定義所有對(duì)象的權(quán)限,并創(chuàng)建不同的角色。

在Repods中,您可以讓每個(gè)用戶(hù)去管理多個(gè)數(shù)據(jù)倉(cāng)庫(kù)(即Data Pods),并為其他用戶(hù)提供類(lèi)似于GitHub平臺(tái)的訪問(wèn)權(quán)限。平臺(tái)預(yù)設(shè)的訪問(wèn)角色包括:“查看者”、“報(bào)告者”、“開(kāi)發(fā)者”、“管理員”和“所有者”。每個(gè)用戶(hù)都可以在各種pod中被分配到一個(gè)角色,而不同的數(shù)據(jù)表則會(huì)按照“標(biāo)簽”進(jìn)行分組。當(dāng)然,每個(gè)用戶(hù)也可以根據(jù)“標(biāo)簽”被單獨(dú)授權(quán)。由于該平臺(tái)具有實(shí)時(shí)性,因此用戶(hù)間的交互,會(huì)立即被所有其他用戶(hù)所發(fā)現(xiàn)。

數(shù)據(jù)歷史化(Data Historization)

隨著時(shí)間的推移,新生產(chǎn)的數(shù)據(jù)需要被添加到現(xiàn)有的數(shù)據(jù)庫(kù)存之中,因此數(shù)據(jù)倉(cāng)庫(kù)往往需要能夠管理具有較長(zhǎng)歷史的數(shù)據(jù),而且它們需要能夠?qū)为?dú)的數(shù)據(jù)塊合并為同質(zhì)性的數(shù)據(jù)歷史。同時(shí),為了持續(xù)管理和應(yīng)用數(shù)據(jù)歷史化,我們可以使用專(zhuān)有的時(shí)間區(qū)間列(time range column),來(lái)跟蹤不同表格中的時(shí)間區(qū)間。

Repods支持開(kāi)箱即用式的數(shù)據(jù)歷史化。歷史化一般會(huì)發(fā)生在數(shù)據(jù)轉(zhuǎn)換之后、以及插入庫(kù)表之前。對(duì)于緩慢變化的數(shù)據(jù)而言,該算法具有最大的空間效率。而這種最小化歷史記錄的方法,則能夠大幅減少表的體積,同時(shí)對(duì)數(shù)據(jù)查詢(xún)的整體性,產(chǎn)生有利的影響。

其他兩個(gè)平臺(tái)的數(shù)據(jù)歷史化時(shí)間范圍,是由用戶(hù)所提供的轉(zhuǎn)換邏輯來(lái)管理的。其中Panoply提供了一種被稱(chēng)為“歷史表”的功能,我們下面會(huì)做進(jìn)一步討論。

數(shù)據(jù)版本控制

通過(guò)數(shù)據(jù)版本化,您可以跟蹤一段時(shí)間內(nèi)數(shù)據(jù)的修改情況,以便按需恢復(fù)到舊的版本狀態(tài),或?qū)ΜF(xiàn)有的數(shù)據(jù)采取非破壞性的修改。在比較云數(shù)據(jù)倉(cāng)庫(kù)的版本控制能力時(shí),您必須考慮創(chuàng)建版本的難易程度,以及恢復(fù)或查詢(xún)版本的難易程度。版本控制可以在不同的系統(tǒng)級(jí)別上進(jìn)行處理:

  • 在存儲(chǔ)子系統(tǒng)上創(chuàng)建版本的快照,就像備份一樣。
  • 底層數(shù)據(jù)庫(kù)系統(tǒng)能夠支持版本的跟蹤。
  • 版本控制可以交由數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)來(lái)處理。
  • 版本控制可以作為用戶(hù)空間中的一種自定義轉(zhuǎn)換邏輯來(lái)實(shí)現(xiàn)。

Panoply通過(guò)連續(xù)備份,來(lái)實(shí)現(xiàn)內(nèi)置的版本控制。您可以在已備份時(shí)間范圍內(nèi),恢復(fù)到快照的任意時(shí)間點(diǎn)上,不過(guò)您無(wú)法使用此方法來(lái)查詢(xún)活動(dòng)系統(tǒng)中的某個(gè)版本。在Panoply中,您還可以通過(guò)創(chuàng)建“歷史表”,將伴隨表(companion table)插入到原始表中。

當(dāng)原始表上發(fā)生更新時(shí),系統(tǒng)會(huì)自動(dòng)將相同的記錄插入到,配有表示更改時(shí)間區(qū)間的伴隨表中。這些歷史表允許您使用SQL語(yǔ)句,查詢(xún)相同數(shù)據(jù)的不同版本。

使用Snowflake,您可以輕松地創(chuàng)建所有數(shù)據(jù)的快照,并獲得數(shù)據(jù)庫(kù)系統(tǒng)提供的“時(shí)間旅行”功能,即:允許您使用SQL語(yǔ)句靈活地查詢(xún)某個(gè)時(shí)間點(diǎn)的數(shù)據(jù)。不過(guò),此功能僅向企業(yè)版開(kāi)放,并只包含有90天的歷史記錄。也就是說(shuō),用戶(hù)必須自行實(shí)現(xiàn)更長(zhǎng)時(shí)間段的版本控制邏輯。

目前,Repods尚未提供連續(xù)備份,以及為每個(gè)數(shù)據(jù)倉(cāng)庫(kù)用例設(shè)計(jì)的版本跟蹤服務(wù)。您可以通過(guò)指定“凍結(jié)”時(shí)間戳,來(lái)確保數(shù)據(jù)的可恢復(fù)性。您可以使用簡(jiǎn)單的SQL語(yǔ)句,靈活地查詢(xún)各種凍結(jié)時(shí)間(無(wú)限天數(shù))的數(shù)據(jù)。

分析/報(bào)告

數(shù)據(jù)平臺(tái)的一項(xiàng)最基本的任務(wù)是以各種不同的方式,對(duì)大量的原始數(shù)據(jù)予以分析,進(jìn)而將數(shù)據(jù)存儲(chǔ)為更長(zhǎng)的歷史記錄。

[[276651]]

如今有許多商業(yè)化的智能工具,都能夠從大型數(shù)據(jù)庫(kù)中提取并聚合數(shù)據(jù),通過(guò)自動(dòng)化分析,進(jìn)而以可讀的方式展示出相關(guān)的報(bào)告。

Panoply和Snowflake都能夠?yàn)槟峁㏒QL代碼編輯器,以創(chuàng)建數(shù)據(jù)轉(zhuǎn)換、分析與聚合。這兩個(gè)平臺(tái)允許您通過(guò)用戶(hù)名和密碼的ODBC(和類(lèi)似工具)工具來(lái)進(jìn)行訪問(wèn)。因此,您可以使用諸如Jupyter workbooks或PowerBI之類(lèi)的專(zhuān)用分析工具,來(lái)分析自己的數(shù)據(jù)。不過(guò),您無(wú)法使用平臺(tái)上的資源,來(lái)運(yùn)行Python或訓(xùn)練機(jī)器學(xué)習(xí)模型。同時(shí),您也無(wú)法將這些workbooks的結(jié)果集成到平臺(tái)內(nèi)的數(shù)據(jù)工作流之中。

目前,Repods雖然不允許用戶(hù)使用外部工具來(lái)訪問(wèn)該平臺(tái),但是它為用戶(hù)提供了獨(dú)有的workbooks類(lèi)型,可創(chuàng)建各種數(shù)據(jù)故事(data stories)和分析摘錄(analytical extracts)。此處的workbooks是指由許多SQL代碼面板、以及文檔面板所組成的工作表(用到了“Markdown”)。當(dāng)然,除了workbooks樣式的分析,Repods還包含一個(gè)OLAP(在線分析處理)的界面,您可以使用點(diǎn)擊的方式,來(lái)獲悉數(shù)據(jù)模型、或創(chuàng)建報(bào)告結(jié)果。

數(shù)據(jù)科學(xué)

創(chuàng)建機(jī)器學(xué)習(xí)模型是數(shù)據(jù)平臺(tái)需要提供的新的服務(wù)類(lèi)型。目前,業(yè)界普遍采用帶有numpy、pandas、scikit learn、tensor flow和pytorch等專(zhuān)有庫(kù)的Python或R語(yǔ)言來(lái)實(shí)現(xiàn)。

不過(guò),這些平臺(tái)都沒(méi)有直接提供在平臺(tái)上執(zhí)行數(shù)據(jù)科學(xué)任務(wù)的實(shí)現(xiàn)方法。因此,通常的策略是通過(guò)指定的工具來(lái)訪問(wèn)平臺(tái),并在平臺(tái)之外執(zhí)行所有與數(shù)據(jù)科學(xué)相關(guān)的任務(wù)。雖然有許多工具可以選擇,但是我們可能會(huì)面臨著需要依靠可托管的計(jì)算資源,才能支持那些嚴(yán)苛的機(jī)器學(xué)習(xí)任務(wù)的挑戰(zhàn)。

外部訪問(wèn)和API

我們將從如下幾個(gè)方面,來(lái)比較三個(gè)平臺(tái)是如何向外部用戶(hù)展示其數(shù)據(jù)內(nèi)容的:

  • SQL訪問(wèn)。
  • API訪問(wèn)(REST請(qǐng)求)。
  • 通過(guò)文本推送或電子郵件通知。
  • 文件導(dǎo)出。

Panoply允許用戶(hù)直接以類(lèi)似ODBC的方式,訪問(wèn)由用戶(hù)名和密碼保護(hù)的平臺(tái)。目前幾乎所有標(biāo)準(zhǔn)化的商業(yè)智能工具(如Looker或Tableau),都可以連接到Panoply上,并使用其數(shù)據(jù)。Panoply雖然能夠跟蹤系統(tǒng)的警報(bào),但是它不會(huì)向用戶(hù)發(fā)送短信或電子郵件。

Snowflake既能夠?yàn)槠渌ぞ咛峁㏒QL訪問(wèn)及其數(shù)據(jù),也可以將文件導(dǎo)入云存儲(chǔ)桶(AWS S3或MS Azure)。不過(guò),用戶(hù)僅能為一般性的Snowflake服務(wù)設(shè)置可用性的電子郵件通知方式。

在Repods中,您可以創(chuàng)建API訪問(wèn)密鑰,并控制對(duì)于平臺(tái)數(shù)據(jù)的提取訪問(wèn)。通過(guò)將這些訪問(wèn)密鑰分發(fā)給外部使用者,他們能夠使用任何一種編程語(yǔ)言的標(biāo)準(zhǔn)化REST請(qǐng)求,來(lái)訪問(wèn)平臺(tái)的數(shù)據(jù)資源。籍此,您也可以將商業(yè)智能化工具PowerBI連接到Repods平臺(tái),以創(chuàng)建各種儀表板,并通過(guò)瀏覽器直接導(dǎo)出、下載無(wú)限大小的文件。不過(guò),該平臺(tái)目前并不提供任何類(lèi)型的推送通知。

文檔

由于數(shù)據(jù)工程往往并非一次性的偶然需求,因此各大平臺(tái)都需要提供完備的功能介紹和詳盡的信息文檔。

Snowflake提供了豐富的在線文檔。由于大量使用到了SQL語(yǔ)句,因此這些文檔在結(jié)構(gòu)上與數(shù)據(jù)庫(kù)及編程語(yǔ)言的文檔十分相似。而且,其文檔的大部分內(nèi)容都會(huì)涉及到SQL的有關(guān)功能。此外,Snowflake還提供了許多指南和YouTube視頻,以幫助用戶(hù)更好地熟悉和試用該平臺(tái)。

Panoply也提供了在線文檔,不過(guò)其詳細(xì)程度不及Snowflake。當(dāng)然,由于Panoply直接向用戶(hù)公開(kāi)了其用以SQL訪問(wèn)的底層Amazon Redshift,因此用戶(hù)可以直接參考Amazon Redshift的SQL文檔。除了提供數(shù)據(jù)倉(cāng)庫(kù)的通用指南,Panoply也提供了一些YouTube的教程。

Repods只為其Web API的使用,提供了單獨(dú)的在線文檔。例如:如何通過(guò)Python、JavaScript和PHP,并使用RESTful Web請(qǐng)求,來(lái)訪問(wèn)Repods中的數(shù)據(jù)。通常,該平臺(tái)會(huì)將各種使用文檔直接嵌入到其相應(yīng)的工具之中。與Panoply類(lèi)似,用戶(hù)可以直接參考原始的Postgres文檔,以獲得SQL的支持。此外在Medium.com上,Repods有著一系列的技術(shù)文章、以及YouTube類(lèi)型的詳解視頻。

安全

通常,數(shù)據(jù)平臺(tái)的安全性主要體現(xiàn)在存儲(chǔ)(靜態(tài)的數(shù)據(jù))、交互(傳輸中的數(shù)據(jù))和訪問(wèn)控制上。目前,這三個(gè)平臺(tái)都能夠加密靜態(tài)與傳輸中的數(shù)據(jù)。而對(duì)于訪問(wèn)控制而言,它們都提供了基于密碼的用戶(hù)身份驗(yàn)證。

此外,Snowflake還提供了最為安全的雙因素身份認(rèn)證機(jī)制。而Panoply和Snowflake則允許您通過(guò)類(lèi)似于ODBC的接口,來(lái)訪問(wèn)底層的數(shù)據(jù)庫(kù)。為了減少暴露在互聯(lián)網(wǎng)上的公開(kāi)數(shù)據(jù)庫(kù)端口,用戶(hù)可以(并且也應(yīng)該)使用安全的ssh-tunneling、以及專(zhuān)門(mén)的跳轉(zhuǎn)主機(jī)(jump-host)方式,來(lái)實(shí)現(xiàn)訪問(wèn)。

結(jié)論

如果您想構(gòu)建一個(gè)完整的數(shù)據(jù)倉(cāng)庫(kù)平臺(tái),Snowflake和Panoply需要與其他工具相結(jié)合,以實(shí)現(xiàn)查缺補(bǔ)漏。由于會(huì)涉及到SQL代碼,因此這三個(gè)平臺(tái)都需要用戶(hù)具備基本的數(shù)據(jù)工程專(zhuān)業(yè)知識(shí)。

如果您需要用于數(shù)據(jù)分析的在線數(shù)據(jù)庫(kù)架構(gòu),又不想在系統(tǒng)和硬件管理上投入太多的話,那么Snowflake是一個(gè)不錯(cuò)的選擇,它更適合大型的數(shù)據(jù)環(huán)境,當(dāng)然也需要數(shù)據(jù)庫(kù)管理員來(lái)進(jìn)行平臺(tái)管理。如前所述,Snowflake與常規(guī)數(shù)據(jù)庫(kù)十分相似,如果您的數(shù)據(jù)需求并不特殊的話,則完全可以選擇那些在AWS上托管的數(shù)據(jù)庫(kù)。

Panoply比Snowflake更為簡(jiǎn)單,它不需要用戶(hù)具備系統(tǒng)、硬件和數(shù)據(jù)庫(kù)管理的專(zhuān)業(yè)技術(shù)。相對(duì)于其他兩個(gè)平臺(tái),Panoply更適合于不太復(fù)雜的數(shù)據(jù)環(huán)境。

Repods的簡(jiǎn)單性、以及對(duì)于用戶(hù)的技術(shù)要求,與Panoply類(lèi)似。Repods在數(shù)據(jù)倉(cāng)庫(kù)方面的功能還包括:自動(dòng)化、歷史記錄、代理鍵(surrogate key)的維護(hù)與分析。Repods的管理界面非常適合于面向項(xiàng)目的數(shù)據(jù)倉(cāng)庫(kù)方法(project-oriented approach),而不是大型的中央數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)。同時(shí),Repods也可以被用于數(shù)據(jù)編錄。

原文標(biāo)題:A Cloud Data Warehouse Comparison,作者:Melissa Rojas Tänzer

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:未麗燕 來(lái)源: 51CTO.com
相關(guān)推薦

2024-09-13 12:25:43

2020-08-04 17:06:40

Merging Rebasing Git

2010-05-28 11:09:51

SVN功能

2013-02-25 09:22:13

私有云構(gòu)建云堆棧混合云模型

2010-03-18 14:54:46

主流無(wú)線技術(shù)

2011-01-19 11:10:30

2010-05-24 18:15:34

SVN中Branch和

2010-09-08 15:41:28

SIP協(xié)議棧

2014-01-07 17:08:02

Java開(kāi)源框架

2017-09-10 14:29:03

眼力

2021-03-15 21:07:17

IT行業(yè)薪酬薪水

2010-08-25 16:12:34

職場(chǎng)

2011-11-08 10:29:44

2023-05-26 15:53:48

MidjourneyAI圖像

2010-08-05 14:25:30

Flex框架

2017-02-05 17:10:41

機(jī)器學(xué)習(xí)深度學(xué)習(xí)框架

2010-07-14 13:38:51

Perl開(kāi)發(fā)工具

2014-11-13 10:46:19

私有云管理云管理工具企業(yè)云管理

2014-11-13 10:59:41

私有云管理私有云服務(wù)水平協(xié)議

2013-04-22 14:21:13

WP、Android、
點(diǎn)贊
收藏

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