chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

YTsaurus:EB級存儲(chǔ)和處理系統(tǒng)現(xiàn)已開源

jf_WZTOguxH ? 來源:AI前線 ? 2023-06-14 14:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,我叫 Maxim Babenko,是 Yandex 分布式計(jì)算技術(shù)部的負(fù)責(zé)人。今天,我們很高興地宣布,YTsaurus 平臺(tái)開源發(fā)布。YTsaurus 是 Yandex 開發(fā)的關(guān)鍵基礎(chǔ)設(shè)施類大數(shù)據(jù)系統(tǒng)之一,之前我們稱之為 YT。

YTsaurus 是我們近十年努力的成果,我們希望把它與全世界分享。在這篇文章中,我們將介紹 YT 的發(fā)展歷史、我們開發(fā)它的動(dòng)機(jī)、它的主要功能以及最適合的領(lǐng)域。

GitHub 存儲(chǔ)庫中包含 YTsaurus 的服務(wù)器代碼、使用 K8s 的部署基礎(chǔ)設(shè)施、系統(tǒng)的 Web 界面,以及 C++、Java、Go 和 Python 等流行編程語言的客戶端 SDK。所有內(nèi)容都遵循 Apache 2.0 許可,也就是說,任何人都可以下載并根據(jù)自己的需要修改它。

YT 是如何成為 Yandex 最重要的大數(shù)據(jù)系統(tǒng)的

72b67e6c-0a79-11ee-962d-dac502259ad0.png

故事要從 2006 年說起。那時(shí),Yandex 已經(jīng)是一家相當(dāng)大的公司。在哪里存儲(chǔ)以及如何處理公司的數(shù)據(jù)成了不小的難題。當(dāng)時(shí),我們的關(guān)注點(diǎn)是來自多個(gè)服務(wù)的日志。日志處理涉及各種分析,可以解決從改進(jìn)機(jī)器學(xué)習(xí)模型到分析用戶行為(在服務(wù)功能或界面變化時(shí))的各種任務(wù)。

可擴(kuò)展彈性數(shù)據(jù)存儲(chǔ)系統(tǒng)的理念已經(jīng)開始流行。它可以執(zhí)行并行計(jì)算,而且無需擔(dān)心數(shù)據(jù)的物理位置和集群物理組件的容錯(cuò)能力。

2004 年,來自谷歌的 Jeffrey Dean 和 Sanjay Ghemawat 發(fā)布了 MapReduce:簡化大型集群上的數(shù)據(jù)處理。在很大程度上,它預(yù)測了分布式計(jì)算行業(yè)未來十年的發(fā)展。毫不奇怪,Yandex 開發(fā)了類似 MapReduce 模型的實(shí)現(xiàn),我們稱之為 YAMR,即 Yet Another MapReduce。

我們以破紀(jì)錄的速度從零開始構(gòu)建了 YAMR。無疑,這對公司內(nèi)部基礎(chǔ)設(shè)施的發(fā)展產(chǎn)生了巨大的影響。然而,隨著時(shí)間的推移,事情變得越來越明顯,YAMR 中許多最初的設(shè)計(jì)選擇使得系統(tǒng)無法有效地演進(jìn)和擴(kuò)展。例如,YAMR 主服務(wù)器是單一故障點(diǎn),無法擴(kuò)展。

72e24fba-0a79-11ee-962d-dac502259ad0.png

乍一看,自己構(gòu)建基礎(chǔ)設(shè)施的決定似乎是 NIH 綜合癥的一個(gè)典型案例,我們甚至沒有考慮過使用像 Apache Hadoop 這樣的開箱即用的解決方案。但也不完全是這樣。2015 年 9 月,Yandex 的一隊(duì)工程師前往加州,與一些在生產(chǎn)環(huán)境中使用 Hadoop 技術(shù)棧的人會(huì)面,詢問他們關(guān)于限制因素、操作特性以及 Hadoop 將如何發(fā)展的問題。

但那時(shí),Hadoop 技術(shù)棧已明顯落后于 YAMR,我們已經(jīng)支持糾刪碼(erasure coding)和 IPv6 連接。問題還不止這些。

經(jīng)過全方位的分析之后,我們決定放棄使用 Hadoop 的想法。與此同時(shí),我們必須在 YAMR 的漸進(jìn)式開發(fā)和革命性重寫之間做出選擇,最終,我們選擇了后者。在這之前的五年時(shí)間里,我有幸成為一小群狂熱愛好者中的一員,開始了一個(gè)代號為 YT 的項(xiàng)目。只需適當(dāng)?shù)母倪M(jìn),YT 就完全有可能取代 YAMR。

重要的是要明白,替代 YAMR 并不簡單。在高峰期,該系統(tǒng)管理的集群總計(jì)有數(shù)千個(gè)節(jié)點(diǎn),有大量應(yīng)用程序的代碼是基于 YAMR API 的。因此,改進(jìn) YT 和從 YAMR 遷移花費(fèi)了我們許多年的時(shí)間。這個(gè)故事本身有許多很有趣的細(xì)節(jié),或許值得單獨(dú)寫一篇文章。

72ec998e-0a79-11ee-962d-dac502259ad0.png

自 2017 年以來,Yandex 就只有一個(gè) MapReduce 系統(tǒng),在規(guī)模和功能方面的開發(fā)一直持續(xù)到今天。如今,我們公司運(yùn)營著數(shù)個(gè) YT 集群,規(guī)模從幾臺(tái)機(jī)器到幾萬臺(tái)服務(wù)器不等。最大的安裝存儲(chǔ)著艾字節(jié)的數(shù)據(jù),使用了幾百萬核 CPU 內(nèi)核和幾千個(gè) GPU 卡,夜以繼日地進(jìn)行著計(jì)算。

7320f79c-0a79-11ee-962d-dac502259ad0.png

YTsaurus:名字起源

“YT 會(huì)開源嗎?”,我們花了將近 7 年的時(shí)間來回答這個(gè)問題。我們的答案是:YT 不會(huì)開源,但 YTsaurus 會(huì)!

我們最初開發(fā)的系統(tǒng)叫“YT”。代碼庫的許多部分中都有這個(gè)縮寫。Yandex 內(nèi)部流傳著一個(gè)說法,“YT”這個(gè)縮寫代表了“Yandex Table”,可能是受到谷歌著名的 Big Table 系統(tǒng)的啟發(fā),但我們并沒有找到任何可靠的證據(jù)可以支持這個(gè)推測。

當(dāng)決定以開源的方式發(fā)布這個(gè)系統(tǒng)時(shí),我們發(fā)現(xiàn)很難保留原來的名稱。其中一個(gè)原因是,這個(gè)兩個(gè)字母的組合通常與某個(gè)流行的視頻托管平臺(tái)有關(guān)。

最終,我們選定了“YTsaurus”這個(gè)名字。它有著同樣可愛而熟悉的“YT”前綴,我們團(tuán)隊(duì)一直把這個(gè)項(xiàng)目看成一個(gè)有生命的東西?,F(xiàn)在,我們終于知道它是什么種族了!

在我們的代碼庫和文章中,我們經(jīng)常將“YTsaurus”縮寫為“YT”。我們自己也還在適應(yīng)全名的過程中。

系統(tǒng)功能

我們設(shè)計(jì)的系統(tǒng)既靈活又可擴(kuò)展。目前,它的功能并不局限于經(jīng)典的 MapReduce 技術(shù)。在本節(jié)中,我將描述 YTsaurus 開源版本提供的主要技術(shù)能力,從底層存儲(chǔ)到高級計(jì)算原語。

735669ae-0a79-11ee-962d-dac502259ad0.png

Cypress:可靠高效的數(shù)據(jù)存儲(chǔ)

任何大數(shù)據(jù)系統(tǒng)的核心都是各種日志、統(tǒng)計(jì)數(shù)據(jù)、索引以及其他結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)。YTsaurus 以 Cypress 為基礎(chǔ)構(gòu)建。Cypress 是一種基于樹的具有容錯(cuò)能力的存儲(chǔ),其功能可以簡單描述如下:

以目錄、表(結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù))和文件(非結(jié)構(gòu)化數(shù)據(jù))為節(jié)點(diǎn)的樹狀命名空間

透明地將大型表格式數(shù)據(jù)分片為塊,我們可以將表視為單個(gè)實(shí)體,而無需過多考慮物理存儲(chǔ)的細(xì)節(jié)

支持表格式數(shù)據(jù)基于行和列的存儲(chǔ)機(jī)制

支持使用不同壓縮級別的各種編解碼器(如 lz4 和 zstd)壓縮存儲(chǔ)

支持使用具有不同控制和計(jì)算策略的各種糾刪編解碼器進(jìn)行糾刪編碼,而這些策略具有不同的冗余參數(shù)和允許的損失類型

支持層次類型和數(shù)據(jù)排序標(biāo)志的表達(dá)性數(shù)據(jù)圖式化

后臺(tái)復(fù)制和修復(fù)被刪除的數(shù)據(jù),無需人工干預(yù)

事務(wù)語義支持嵌套事務(wù)和快照 / 共享 / 排他級鎖

事務(wù)可以影響許多 Cypress 對象并無限期持續(xù)

靈活的配額核算系統(tǒng)

Cypress 的核心是一個(gè)可復(fù)制且可橫向擴(kuò)展的主服務(wù)器,存儲(chǔ)著關(guān)于 Cypress 樹狀結(jié)構(gòu)的元數(shù)據(jù),以及集群中所有表的塊副本的組成和位置。主服務(wù)器以 Hydra 為基礎(chǔ)實(shí)現(xiàn)為一個(gè)可復(fù)制狀態(tài)機(jī)。Hydra 是一種類似 Raft 的專有共識(shí)算法。

Cypress 實(shí)現(xiàn)了一個(gè)具有容錯(cuò)能力的彈性數(shù)據(jù)層。下面將要介紹系統(tǒng)幾乎所有方面都用到了這一層。

MapReduce 計(jì)算和通用調(diào)度器

盡管在人們的眼中,MapReduce 已不再是什么新技術(shù),也沒什么與眾不同之處,但它在我們系統(tǒng)中的實(shí)現(xiàn)還是很值得關(guān)注的。我們?nèi)匀挥盟M(jìn)行需要高吞吐量的 PB 級數(shù)據(jù)計(jì)算。

YTsaurus 中的 MapReduce 具有以下特點(diǎn):

豐富的基本操作模型:經(jīng)典的 MapReduce(具有不同的 Shuffle 策略并支持多階段分區(qū))、Map、Erase、Sort,以及一些考慮了輸入數(shù)據(jù)“排序”的經(jīng)典模型擴(kuò)展。

計(jì)算可橫向擴(kuò)展:操作被劃分成作業(yè),在獨(dú)立的服務(wù)器上運(yùn)行。

單個(gè)操作可支持?jǐn)?shù)十萬個(gè)作業(yè)。

靈活的分層計(jì)算池模型可以提供即時(shí)和完整性保證,并可以在消費(fèi)者之間公平地分配未充分利用的資源(無保證)。

向量資源模型支持按不同的比例申請不同的計(jì)算資源(CPU、RAM、GPU)。

使用 Porto 容器化機(jī)制按 CPU、RAM、文件系統(tǒng)和進(jìn)程名稱空間隔離在計(jì)算節(jié)點(diǎn)容器中執(zhí)行的作業(yè)。

可擴(kuò)展的調(diào)度程序可以為集群提供多達(dá)一百萬個(gè)并發(fā)任務(wù)。

在進(jìn)行更新或調(diào)度器節(jié)點(diǎn)出現(xiàn)故障時(shí),幾乎所有的計(jì)算進(jìn)度都會(huì)保留。

YT 不僅支持執(zhí)行 MapReduce 操作,還支持在集群上部署用戶提供的任何代碼。

對于副作用不明確的代碼,YT 使用“普通(vanilla)”操作來運(yùn)行。平臺(tái)的許多其他組件也都用到了這個(gè)功能,下文會(huì)進(jìn)行討論。

動(dòng)態(tài) K-V 存儲(chǔ)表

實(shí)際上,MapReduce 范式不適合構(gòu)建響應(yīng)時(shí)間低于秒級的交互式計(jì)算管道。問題不僅在于如何處理數(shù)據(jù),還在于如何存儲(chǔ)數(shù)據(jù)。

YT 的靜態(tài)表就像 HDFS 中的一組文件,可以作為 MapReduce 計(jì)算的輸入和輸出。但是,它們不能用在交互式場景中,因?yàn)樗鼈兪桥c速度緩慢的持久存儲(chǔ)介質(zhì)綁定的。通常,對于交互式場景,應(yīng)用程序會(huì)使用鍵值存儲(chǔ)。鍵值存儲(chǔ)可以橫向擴(kuò)展,并能提供低延遲的讀寫訪問。

幸運(yùn)的是,2014 年,我們開始在 YT 框架內(nèi)開發(fā)動(dòng)態(tài)表。它們部分基于 Apache HBase 模型,可以橫向擴(kuò)展,并使用分布式文件系統(tǒng)作為底層存儲(chǔ)。不過,不同于 Apache HBase,動(dòng)態(tài)表被有機(jī)地整合到了整個(gè)生態(tài)系統(tǒng)中:它們相當(dāng)于 Cypress 的節(jié)點(diǎn),可以用于許多需要靜態(tài)表的場景。

例如,在 YT 中,你可以創(chuàng)建一個(gè)動(dòng)態(tài)表作為 MapReduce 操作的結(jié)果,并將其用于基于鍵的快速搜索和插入。同時(shí),你可以創(chuàng)建一個(gè)后臺(tái) MapReduce 進(jìn)程,處理來自動(dòng)態(tài)表的數(shù)據(jù)樣本,并計(jì)算關(guān)于它的一些統(tǒng)計(jì)信息。

使用 MVCC 模型存儲(chǔ)數(shù)據(jù)。用戶可以通過鍵或時(shí)間戳查找值。

可擴(kuò)展性:動(dòng)態(tài)表會(huì)被劃分成片(按鍵的范圍劃分),由單獨(dú)的服務(wù)器提供服務(wù)。

事務(wù)性:動(dòng)態(tài)表是 OLTP 存儲(chǔ),可以修改不同表不同分片中的多個(gè)行。

容錯(cuò)能力:提供分片服務(wù)的節(jié)點(diǎn)如果出現(xiàn)單點(diǎn)故障,那么分片會(huì)被移到另一個(gè)節(jié)點(diǎn)而不丟失數(shù)據(jù)。

隔離性:為了實(shí)現(xiàn)負(fù)載隔離,提供分片服務(wù)的節(jié)點(diǎn)會(huì)被分組成包,駐留在不同的機(jī)器上。

在單個(gè)鍵甚至單個(gè)值的層面上進(jìn)行沖突檢查。

熱數(shù)據(jù)響應(yīng)來自內(nèi)存。

內(nèi)置了類似 SQL 的語言,用于查詢掃描和分析。

除了具有 K-V 存儲(chǔ)接口的動(dòng)態(tài)表外,系統(tǒng)還支持實(shí)現(xiàn)了消息隊(duì)列抽象的動(dòng)態(tài)表,即主題和流。你也可以把這些隊(duì)列看成是表,因?yàn)樗鼈冇尚薪M成,并且有自己的模式。在事務(wù)中,你可以同時(shí)修改 K-V 動(dòng)態(tài)表和隊(duì)列中的行。這樣一來,你就可以基于 YT 的動(dòng)態(tài)表構(gòu)建具有 Exactly Once 語義的流處理。

YQL

YQL 是一種基于 SQL 的查詢語言;它是 YT 之上構(gòu)建的第一個(gè)高級原語。YQL 之于 YT 相當(dāng)于 Hive 之于 Hadoop。這種技術(shù)讓用戶可以用 SQL 編寫簡單的查詢,而不是自己編寫代碼構(gòu)建一系列 MapReduce 操作。下面是一個(gè)例子:

SELECT region, AVG(age) AS avg_age_in_region, COUNT(DISTINCT ip) AS ips_count FROM `//home/production/users` GROUP BY region ORDER BY avg_age_in_region;

如今,許多大數(shù)據(jù)任務(wù)都可以表述為簡單的 SQL 查詢。沒有 YQL,我們的生態(tài)系統(tǒng)就是不完整的。它是用于在大型數(shù)據(jù)集上進(jìn)行即時(shí)分析和常規(guī)生產(chǎn)計(jì)算的最流行的工具之一。

YQL 有以下好處:

強(qiáng)大的圖執(zhí)行引擎,可以構(gòu)建具有數(shù)百個(gè)節(jié)點(diǎn)的 MapReduce 管道,并可以在計(jì)算過程中進(jìn)行調(diào)整。

通過將子查詢存儲(chǔ)在變量中,就可以使用 SQL 將復(fù)雜的數(shù)據(jù)處理管道構(gòu)建成依賴查詢和事務(wù)鏈。

任意復(fù)雜度的查詢,其并行執(zhí)行都是可預(yù)測的。

高效地實(shí)現(xiàn)連接、子查詢和窗口函數(shù),而且對它們的拓?fù)浠蚯短讻]什么限制。

大量的函數(shù)庫。

支持 C++、Python 和 JavaScript 自定義函數(shù)。

支持通過 CatBoost 和 TensorFlow 使用機(jī)器學(xué)習(xí)模型。

在準(zhǔn)備好的計(jì)算實(shí)例上自動(dòng)執(zhí)行一小部分查詢,繞過 MapReduce 以減少延遲。

CHYT

不用說,大多數(shù)讀者朋友們都聽說過 ClickHouse。2016 年,這個(gè) DBMS 成為 Yandex 開源技術(shù)的先驅(qū),并于 2021 年成為一家獨(dú)立的公司 ClickHouse Inc.。

如今,ClickHouse 是最受歡迎的分析型數(shù)據(jù)庫之一,它基于列的執(zhí)行引擎非常高效,并集成了各種 BI 系統(tǒng)。ClickHouse 其中一個(gè)很好的特性是源代碼中存儲(chǔ)和計(jì)算部分實(shí)現(xiàn)了良好的隔離,這使得我們在 2018 年構(gòu)建出了 CHYT——ClickHouse 計(jì)算引擎將 YTsaurus 作為存儲(chǔ)集成。

在 YTsaurus 生態(tài)系統(tǒng)中,CHYT 提供了以下功能:

在 YT 中對靜態(tài)表進(jìn)行快速分析查詢,延遲只有亞秒級。

重用 YTsaurus 集群中已有的數(shù)據(jù),而無需將其復(fù)制到單獨(dú)的 ClickHouse 集群。

能夠通過 ClickHouse 的原生 ODBC 和 JDBC 驅(qū)動(dòng)程序集成第三方可視化系統(tǒng)。

我注意到,集成是在相當(dāng)?shù)偷膶哟紊贤瓿傻?。這讓我們可以充分挖掘 YTsaurus 和 ClickHouse 的潛力,即:

支持讀取靜態(tài)和動(dòng)態(tài)表。

部分支持 YTsaurus 事務(wù)模型。

支持分布式插入。

將 YTsaurus 內(nèi)部格式的列式數(shù)據(jù) CPU 高效地轉(zhuǎn)換為內(nèi)存中的 ClickHouse 表示。

主動(dòng)數(shù)據(jù)緩存,在某些情況下,允許完全從實(shí)例內(nèi)存中讀取查詢執(zhí)行數(shù)據(jù)。

ClickHouse 服務(wù)器代碼會(huì)在上述普通操作發(fā)生時(shí)運(yùn)行,使用的計(jì)算資源與 MapReduce 計(jì)算相同。從這個(gè)意義上講,YTsaurus 集群于我們內(nèi)部的 CHYT 集群而言是一朵計(jì)算云。

這使得不同的用戶或用戶團(tuán)隊(duì)可以在單個(gè) YT 集群上運(yùn)行多個(gè) CHYT 集群,彼此完全隔離,用和云類似的方式解決資源隔離問題。

SPYT

2019 年,Yandex 推出了 SPYT,這個(gè)系統(tǒng)將 Apache Spark 作為 YT 數(shù)據(jù)的計(jì)算引擎集成。與 CHYT 類似,普通 YTsaurus 操作為 Spark 集群提供計(jì)算資源。Apache Spark 的設(shè)計(jì)初衷就是為了方便連接第三方存儲(chǔ)并將其作為數(shù)據(jù)源。

SPYT 在 YTsaurus 的生態(tài)系統(tǒng)中也是根深蒂固。得益于與第三方系統(tǒng)豐富的集成能力,它成了編寫 ETL 工作流的主要方法之一。在底層,Spark 使用了一個(gè)靈活的分布式計(jì)算優(yōu)化器,可以最大化中間數(shù)據(jù)的內(nèi)存存儲(chǔ),并可以實(shí)現(xiàn)具有多個(gè)連接的計(jì)算管道。

各種 SDK

對于用特定語言編寫的系統(tǒng),SDK 通常是自動(dòng)生成的或由用戶社區(qū)的某個(gè)人編寫的(長時(shí)間得不到維護(hù))。但我們用當(dāng)下流行的語言(C++、Python、Java、Go)開發(fā)了所有的 API。對于每一種 SDK,我們都仔細(xì)考慮了它與系統(tǒng)交互時(shí)的所有細(xì)微的不同之處。

因?yàn)榭赡艽嬖诰W(wǎng)絡(luò)故障和其他錯(cuò)誤,所以我們用不同語言編寫的客戶端庫都可以重試請求,包括讀寫大量數(shù)據(jù)。在創(chuàng)建每一種庫時(shí),我們都考慮了這門語言的特性,并盡可能使用這些特性來簡化它與系統(tǒng)的交互。

Web 界面

對于一個(gè)有成千上萬的用戶使用的系統(tǒng),必須要有一個(gè)用戶友好的 Web 界面。而且,我們有意沒有為用戶和管理員創(chuàng)建單獨(dú)的 Web 界面,這幫助我們避免了愛好者們匆忙創(chuàng)建 Web 管理界面的情況,那很常見:畢竟用戶側(cè)更重要,在管理員面前就沒什么可尷尬的了。

7361e13a-0a79-11ee-962d-dac502259ad0.png

你可以通過 YTsaurus Web 界面完成以下工作:

通過 Cypress 瀏覽文件、表和其他對象。

創(chuàng)建、重命名或刪除 Cypress 對象,并修改它們的屬性。

執(zhí)行和查看 MapReduce 計(jì)算。

跨所有引擎執(zhí)行和查看 SQL 查詢歷史——YQL、CHYT、動(dòng)態(tài)表 SQL。

管理系統(tǒng):監(jiān)控集群組件的運(yùn)行狀況,創(chuàng)建、刪除或禁用用戶,管理訪問權(quán)限和配額,查看集群組件版本等。

技術(shù)層面看 YTsaurus

服務(wù)器端代碼大部分都是用 C++ 編寫的。我們喜歡這種語言,因?yàn)樗墓δ芎茇S富,用它編寫的代碼很高效。在開源發(fā)布 YTsaurus 之后,我們希望把大量的開發(fā)成果分享出來,或許你可以把它們作為單獨(dú)的 C++ 原語來使用。

服務(wù)器端代碼是使用 Clang 編譯器和 CMake 構(gòu)建系統(tǒng)構(gòu)建的。

系統(tǒng)的個(gè)別部分是用 Go、Python 和 Java 編寫的。還有一個(gè) API,讓你可以使用上述 4 種編程語言開發(fā)與 YTsaurus 交互的應(yīng)用程序。

代碼庫會(huì)自動(dòng)與內(nèi)部存儲(chǔ)庫同步。因此,外部總是可以獲得 YTsaurus 的最新版本。

YTsaurus 在 x86-64 Linux 服務(wù)器上運(yùn)行。

部署和管理

在 Yandex,我們安裝了超過 20 套 YTsaurus。它們的規(guī)模和配置差異很大,從單集群 5 臺(tái)主機(jī)到 20K+ 不等。YTsaurus 還集成了幾個(gè)內(nèi)部 Yandex 系統(tǒng),包括身份驗(yàn)證、訪問控制、審計(jì)、監(jiān)控、硬件管理和容器編排。所有這些系統(tǒng)最大限度地減少了管理集群的工作量。

為了方便用戶,我們投資開發(fā)了二級操作符,用于在 Kubernetes 中自動(dòng)部署 YTsaurus 集群,并支持標(biāo)準(zhǔn)的升級機(jī)制,可以在停機(jī)狀態(tài)下升級到新版本。該操作符讓你可以在幾分鐘內(nèi)把 YTsaurus 集群部署到 Minikube、公有云或本地 Kubernetes 上。

通過修改元數(shù)據(jù)樹(Cypress)中的系統(tǒng)節(jié)點(diǎn),可以動(dòng)態(tài)地管理集群配置。使用基本的 Cypress 命令(如 list、get、set 和 remove),你可以創(chuàng)建帳戶、添加用戶或計(jì)算池、授予目錄訪問權(quán)限或退役集群節(jié)點(diǎn)。

特別值得注意的是動(dòng)態(tài)配置各個(gè)組件的能力:通過修改特定屬性,你可以調(diào)整緩存大小、心跳周期或節(jié)點(diǎn)上的日志記錄設(shè)置。

YTsaurus 是一個(gè)計(jì)算平臺(tái),因此,用戶代碼的執(zhí)行是隱式的。為了運(yùn)行和隔離不受信任的代碼,YTsaurus 使用了 Yandex 開發(fā)的容器化系統(tǒng) Porto。為了在多租戶集群中實(shí)現(xiàn)完全的用戶隔離,建議將 Porto 安裝為 Kubernetes CRI。這可以充分釋放 YTsaurus 作業(yè)隔離和在不同操作中使用自定義環(huán)境的能力。

當(dāng)然,如果沒有可觀測性工具——日志記錄、定量監(jiān)測和跟蹤,運(yùn)營大型分布式系統(tǒng)是不可能的。YTsaurus 會(huì)生成結(jié)構(gòu)化日志,用于審計(jì)和監(jiān)控用戶操作,并且提供了詳細(xì)的調(diào)試日志,用于更深層次的問題診斷。此外,該系統(tǒng)支持 Prometheus 格式的指標(biāo)導(dǎo)出,并通過 Jaeger gRPC 協(xié)議進(jìn)行鏈路追蹤。

基于 YTsaurus 可以構(gòu)建什么?

讓我們通過幾個(gè)例子看一下 Yandex 是如何使用這個(gè)系統(tǒng)的。

YTsaurus 最具啟發(fā)性、最典型的用例之一是創(chuàng)建 DWH。例如,來自 Yandex Taxi、Yandex Eats、Yandex Deli 和 Yandex Delivery 的訂單以原始格式以最小的延遲接收到 YTsaurus 動(dòng)態(tài)表中。每月的數(shù)據(jù)量可達(dá)數(shù)百 TB。

然后,我們用各種工具處理訂單,例如,大多數(shù)分析型數(shù)據(jù)集市是通過 YQL 和 SPYT 進(jìn)行準(zhǔn)備的。數(shù)據(jù)總量超過 6PB。CHYT 用于即時(shí)分析,各種可視化則在 Yandex DataLens 中創(chuàng)建。Yandex 的其他服務(wù)中也存在類似的用例,如 Yandex Market、Yandex Music 和 Yandex Travel。

還有一些非常具體的用例。例如,Yandex 所有的三臺(tái)超級計(jì)算機(jī)都由 YTsaurus 調(diào)度程序管理。許多具有不同類型 GPU 的節(jié)點(diǎn)連接到 YT,并分布在不同的池樹中。這使得用戶可以顯式指定所需的 GPU 模型,并使用存儲(chǔ)在 YTsaurus 中的數(shù)據(jù)。

目前,YTsaurus 動(dòng)態(tài)表存儲(chǔ)的數(shù)據(jù)達(dá) PB 級,大量的交互服務(wù)都以它們?yōu)榛A(chǔ)構(gòu)建。Yandex 廣告團(tuán)隊(duì)是最大的內(nèi)部客戶之一。在 HighLoad++ 2022 大會(huì)上,我的同事們探討了他們在 YTsaurus 上構(gòu)建交互式流處理的方法。

結(jié)語

YTsaurus 是一個(gè)有著豐富歷史的大工程。如果你感興趣,就請看一看 YTsaurus,找一些對自己有用的東西。也許你會(huì)喜歡我們在代碼中實(shí)現(xiàn)的技術(shù)解決方案,或者找個(gè)機(jī)會(huì)部署 YTsaurus 并實(shí)際地試用一下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3673

    瀏覽量

    43783
  • 處理系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    16944
  • 分布式計(jì)算
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    4603

原文標(biāo)題:YTsaurus:EB 級存儲(chǔ)和處理系統(tǒng)現(xiàn)已開源

文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    企業(yè)MySQL數(shù)據(jù)庫管理指南

    在當(dāng)今數(shù)字化時(shí)代,MySQL作為全球最受歡迎的開源關(guān)系型數(shù)據(jù)庫,承載著企業(yè)核心業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)處理。作為數(shù)據(jù)庫管理員(DBA),掌握MySQL的企業(yè)部署、優(yōu)化、維護(hù)技能至關(guān)重要。本文
    的頭像 發(fā)表于 07-09 09:50 ?108次閱讀

    高速SSD存儲(chǔ)+傳輸系統(tǒng)方案設(shè)計(jì)

    Ethernet IP)、AXI PCIe IP等模塊。該系統(tǒng)能夠持續(xù)接收高速數(shù)據(jù)流數(shù)據(jù),并經(jīng)緩存模塊處理后,存儲(chǔ)至NVMe SSD,同時(shí)可以將存儲(chǔ)數(shù)據(jù)通過萬兆光纖以UDP協(xié)議上傳至
    的頭像 發(fā)表于 04-14 13:38 ?293次閱讀
    高速SSD<b class='flag-5'>存儲(chǔ)</b>+傳輸<b class='flag-5'>系統(tǒng)</b>方案設(shè)計(jì)

    秒殺傳統(tǒng)存儲(chǔ)!億萬克DM3000分布式存儲(chǔ)EB擴(kuò)容+協(xié)議瞬通

    擴(kuò)展 ,全能存儲(chǔ) 容量和性能可按需擴(kuò)展,可橫向擴(kuò)展至EB容量,硬件無鎖定,一套存儲(chǔ)系統(tǒng)同時(shí)支持塊、文件、對象、大數(shù)據(jù)存儲(chǔ)服務(wù),各項(xiàng)存儲(chǔ)服務(wù)數(shù)
    的頭像 發(fā)表于 03-20 09:13 ?403次閱讀
    秒殺傳統(tǒng)<b class='flag-5'>存儲(chǔ)</b>!億萬克DM3000分布式<b class='flag-5'>存儲(chǔ)</b>:<b class='flag-5'>EB</b><b class='flag-5'>級</b>擴(kuò)容+協(xié)議瞬通

    發(fā)燒體驗(yàn)!信德存儲(chǔ)卡,讓你的設(shè)備告別存儲(chǔ)短板

    信德消費(fèi) TF 卡有 64GB 大容量,滿足日常數(shù)據(jù)存儲(chǔ)。讀速 90MB/s ,寫速 30MB/s,快速處理各類數(shù)據(jù)。比如,傳輸一部 2GB 的高清電影,僅需 20 多秒,大大節(jié)省時(shí)間。
    的頭像 發(fā)表于 02-24 16:49 ?344次閱讀
    發(fā)燒<b class='flag-5'>級</b>體驗(yàn)!信德<b class='flag-5'>存儲(chǔ)</b>卡,讓你的設(shè)備告別<b class='flag-5'>存儲(chǔ)</b>短板

    深度解析SSD2351核心板:硬核視頻處理+工業(yè)可靠性設(shè)計(jì)

    。 音頻處理 :3通道ADC(SNR>95.2dB)+8通道DMIC,支持TDM模式,適用于語音交互設(shè)備。 工業(yè)設(shè)計(jì) : PCB工藝 :4層全通孔+沉金工藝,尺寸僅26mm×26mm
    發(fā)表于 02-21 17:19

    構(gòu)建企業(yè)文件管理系統(tǒng),輕松搭建 Seafile 社區(qū)版云存儲(chǔ)解決方案

    前言 隨著企業(yè)數(shù)據(jù)量的激增,構(gòu)建一個(gè)安全、高效的企業(yè)文件管理系統(tǒng)至關(guān)重要。華為 Flexus X 服務(wù)器,以其靈活的資源配置與卓越的性能,成為部署 Seafile 社區(qū)版云存儲(chǔ)解決方案的理想選擇
    的頭像 發(fā)表于 01-13 11:14 ?1976次閱讀
    構(gòu)建企業(yè)<b class='flag-5'>級</b>文件管理<b class='flag-5'>系統(tǒng)</b>,輕松搭建 Seafile 社區(qū)版云<b class='flag-5'>存儲(chǔ)</b>解決方案

    紫外線光譜分析與應(yīng)用 紫外線水處理系統(tǒng)的工作原理

    、環(huán)境科學(xué)和材料科學(xué)等領(lǐng)域有著廣泛的應(yīng)用。 紫外線水處理系統(tǒng)的工作原理 紫外線水處理系統(tǒng)是一種利用紫外線的殺菌特性來凈化水質(zhì)的技術(shù)。這種系統(tǒng)通過發(fā)射特定波長的紫外線來破壞水中微生物的DNA,使其失去繁殖能力,從而達(dá)到消毒的目的
    的頭像 發(fā)表于 12-17 15:20 ?1241次閱讀

    鋼鐵工業(yè)循環(huán)水處理系統(tǒng)物聯(lián)網(wǎng)解決方案

    %,對推動(dòng)相關(guān)產(chǎn)業(yè)技術(shù)改造升級,激發(fā)工業(yè)發(fā)展綠色動(dòng)能具有重要意義。 以鋼鐵廢水循環(huán)利用工程為例,通過將鐵、鋼、軋生產(chǎn)過程循環(huán)用水系統(tǒng)進(jìn)行信息化改造,定期采集循環(huán)水運(yùn)行數(shù)據(jù)并推送至智慧管理平臺(tái),能夠?qū)ρh(huán)水處理系統(tǒng)進(jìn)
    的頭像 發(fā)表于 12-13 15:37 ?535次閱讀

    誠邁科技榮獲“開源鴻蒙人才認(rèn)證授權(quán)培訓(xùn)伙伴(優(yōu)選)”授牌

    11月27日,OpenHarmony人才生態(tài)大會(huì)在武漢隆重舉行。大會(huì)期間,誠邁科技憑借在開源鴻蒙人才生態(tài)建設(shè)與認(rèn)證推廣領(lǐng)域的卓越貢獻(xiàn),獲得“開源鴻蒙人才認(rèn)證授權(quán)培訓(xùn)伙伴(優(yōu)選)”授牌。同時(shí),誠邁
    的頭像 發(fā)表于 11-29 09:28 ?879次閱讀
    誠邁科技榮獲“<b class='flag-5'>開源</b>鴻蒙人才認(rèn)證授權(quán)培訓(xùn)伙伴(優(yōu)選<b class='flag-5'>級</b>)”授牌

    emc企業(yè)存儲(chǔ)系統(tǒng)的特點(diǎn)

    高性能與可擴(kuò)展性 EMC的企業(yè)存儲(chǔ)系統(tǒng)設(shè)計(jì)用于滿足最嚴(yán)苛的性能要求。它們支持高速數(shù)據(jù)傳輸,確保關(guān)鍵業(yè)務(wù)應(yīng)用能夠快速訪問和處理數(shù)據(jù)。此外,這些系統(tǒng)具有高度的可擴(kuò)展性,允許企業(yè)根據(jù)業(yè)務(wù)
    的頭像 發(fā)表于 11-01 15:24 ?991次閱讀

    Banana Pi BPI-R3路由器開發(fā)板運(yùn)行 OrayOS物聯(lián)網(wǎng)系統(tǒng)

    for BPI-R3 鏡像 香蕉派BPI-R3開源路由器開發(fā)板采用聯(lián)發(fā)科MT7986 (Filogic 830)四核 ARMA53 + MT7531A芯片設(shè)計(jì),板載2G DDR內(nèi)存與8G eMMC存儲(chǔ)
    發(fā)表于 10-23 15:26

    面向HPC的EB corbos Linux SDK新手指南

    基于Ubuntu的EB corbos Linux是一款面向高性能計(jì)算開源操作系統(tǒng),它既能夠調(diào)用Linux的豐富功能,又同時(shí)滿足信息安全和行業(yè)的相關(guān)法規(guī)。
    的頭像 發(fā)表于 09-27 09:16 ?857次閱讀

    如何構(gòu)建一個(gè)基于Imap4郵件通信協(xié)議與放射性物質(zhì)監(jiān)測數(shù)據(jù)處理系統(tǒng)

    如何構(gòu)建一個(gè)基于Imap4郵件通信協(xié)議與放射性物質(zhì)監(jiān)測數(shù)據(jù)處理系統(tǒng) 構(gòu)建一個(gè)綜合性的數(shù)據(jù)處理存儲(chǔ)系統(tǒng),該系統(tǒng)將集成郵件監(jiān)控、數(shù)據(jù)解析、文件存儲(chǔ)
    的頭像 發(fā)表于 09-10 18:14 ?469次閱讀

    國產(chǎn)FRAM SF25C20用于實(shí)時(shí)處理系統(tǒng),兼容MB85RS2MT

    國產(chǎn)FRAM SF25C20用于實(shí)時(shí)處理系統(tǒng),兼容MB85RS2MT
    的頭像 發(fā)表于 07-31 10:06 ?756次閱讀
    國產(chǎn)FRAM SF25C20用于實(shí)時(shí)<b class='flag-5'>處理系統(tǒng)</b>,兼容MB85RS2MT

    信號采集與處理系統(tǒng)通常由哪些模塊組成

    信號采集與處理系統(tǒng)是一種廣泛應(yīng)用于工業(yè)、科研、醫(yī)療等領(lǐng)域的電子系統(tǒng),它能夠?qū)Ω鞣N類型的信號進(jìn)行采集、處理和分析。一個(gè)完整的信號采集與處理系統(tǒng)通常由以下幾個(gè)模塊組成: 信號源模塊 信號源
    的頭像 發(fā)表于 07-15 14:12 ?2871次閱讀