Yandex 發布了 YTsaurus 的源代碼

金牛座

YTsaurus 是一個分佈式大數據存儲和處理平台,支持 MapReduce 模型。

幾天前 Yandex 亮相 通過一個宣布 YTsauru平台源代碼開放, 用於大量數據的分佈式存儲和處理,支持使用MapReduce範式、SQL查詢引擎、分佈式文件系統和鍵值格式的NoSQL存儲進行數據操作。

金牛座 用過的 在 Yandex 基礎設施上 有效利用超級計算機的計算能力 該公司的該平台可以擴展到超過 10 個節點的集群,覆蓋多達一百萬個處理器和數千個 GPU(用於機器學習任務)。

在物理服務器上運行的隔離容器可以用作集群單元。 存儲可以包含位於各種介質(例如硬盤驅動器、SSD、NVME 和 RAM)上的 EB 級數據。

集群支持動態增刪節點、冗餘(無單點故障)、自動複製、主動集群軟件升級、節點故障自動冗餘恢復。

支持三種類型的集群: 計算集群(用於使用 MapReduce 操作對大數據進行大規模並行處理)、數據透視表和鍵值存儲集群以及地理分佈式集群。

基於平台的服務可以為數以萬計的用戶提供存儲和處理數據的方法。 Yandex 中典型的 YTsaurus 應用包括存儲有關廣告網絡用戶的信息、訓練機器學習模型、形成搜索索引以及為 Yandex 出租車、食品、Lavka 和交付等服務構建數據倉庫

在提到的基本用例中:

  • 批量處理: MapReduce 和 SPYT(Apache Spark 作為 YTsaurus 中數據的計算引擎)用於處理結構化和半結構化數據:記錄或金融交易。
  • 臨時分析: 通過 CHYT(YTsaurus 計算節點上的一組 ClickHouse 服務器)進行快速查詢,無需將數據複製到單獨的分析系統。 ODBC 和 JDBC 具有連接 BI 進行可視化的能力。
  • 聯機事務處理任務: 使用鍵值存儲的實時事務工作:例如,用戶配置文件存儲、廣告顯示或流處理。
  • 機器學習: 管理 GPU 集群以訓練具有數十億參數的模型。
  • 元信息存儲: 元信息的事務存儲和分佈式鎖的可靠服務。
  • 使用典型工具為多層數據處理創建數據倉庫和 ETL:Apache Spark、SQL、MapReduce。

在架構的主要元素方面,提到了以下內容:

  • 分佈式文件系統和賽普拉斯基於容錯樹的元信息存儲。
  • 支持 MapReduce 模型以及高級基本操作的分佈式計算調度程序。
  • IT 運營的橫向可擴展性。
  • 計算資源隔離,可以按不同比例分配某些計算資源(CPU、GPU、RAM)。
  • 用於創建 OLTP 存儲的數據透視表,支持基於 MVCC 的存儲、事務、過期後刪除數據的能力,以及用於通過數據透視表進行流式數據處理的消息隊列。
  • 編程語言 C++、Python、Java、Go 的 API 和庫。
  • 支持通過樹狀存儲導航的用戶和管理員的 Web 界面。

終於 如果您有興趣了解更多信息,你應該知道該項目的代碼是用 C/C++ 編寫的,並在 Apache 2.0 許可下開放。 您可以查看詳細信息 以下鏈接。

El GitHub資料庫 包含 YTsaurus 的服務器代碼、k8s 使用的部署框架、系統的 Web 界面以及流行編程語言(如 C++、Java、Go 和 Python)的客戶端 SDK。 


在 Google 中將其新增為首選來源