Yandex, YTsaurus'un kaynak kodunu yayınladı

Ytsaurus

YTsaurus, MapReduce modeli desteğiyle büyük veriler için dağıtılmış bir depolama ve işleme platformudur.

Birkaç gün önce Yandex , büyük miktarda verinin dağıtılmış depolanması ve işlenmesi için kullanılan, MapReduce paradigmasını kullanan veri manipülasyonunu, SQL sorgu motorunu, dağıtılmış dosya sistemini ve anahtar-değer formatında NoSQL depolamayı destekleyen YTsauru platformunun açık kaynak kodunu duyurdu.

YTsaurus, Yandex'in altyapısında şirketin süper bilgisayarlarının işlem gücünü verimli bir şekilde kullanmak için kullanılır . Platform, 10.000'den fazla düğümden oluşan kümelere kadar ölçeklenebilir ve bir milyona kadar işlemciyi ve binlerce GPU'yu (makine öğrenimi görevleri için) kapsayabilir.

Fiziksel sunucular üzerinde çalışan yalıtılmış konteynerler, küme birimleri olarak kullanılabilir. Depolama, sabit sürücüler, SSD'ler, NVME ve RAM gibi çeşitli ortamlarda bulunan exabyte'larca veri içerebilir.

Küme, düğümlerin dinamik olarak eklenmesini ve çıkarılmasını, artıklığı (tek bir arıza noktası olmadan), otomatik çoğaltmayı, aktif küme yazılım yükseltmelerini ve düğüm arızası durumunda otomatik artıklık kurtarmayı destekler.

Üç tür küme desteklenmektedir: hesaplama kümeleri (MapReduce işlemleri kullanılarak büyük verilerin yoğun paralel işlenmesi için), özet tablolar ve anahtar-değer depolama için kümeler ve coğrafi olarak dağıtılmış kümeler.

Platform tabanlı bir hizmet, on binlerce kullanıcı için veri depolamak ve işlemek için araçlar sağlayabilir. Yandex'deki tipik YTsaurus uygulamaları, reklam ağı kullanıcıları hakkında bilgi depolamayı, makine öğrenimi modellerini eğitmeyi, bir arama dizini oluşturmayı ve Yandex Taksi, Gıda, Lavka ve teslimatlar gibi hizmetler için bir veri ambarı oluşturmayı içerir.

Temel kullanım durumlarından bahsedilmiştir:

  • Toplu işleme: Yapılandırılmış ve yarı yapılandırılmış verilerin işlenmesi için MapReduce ve SPYT (YTsaurus'taki veriler üzerinde bir bilgi işlem motoru olarak Apache Spark): kayıtlar veya finansal işlemler.
  • Anlık analiz: Verileri ayrı bir analiz sistemine kopyalamadan CHYT (YTsaurus bilgi işlem düğümlerindeki bir grup ClickHouse sunucusu) aracılığıyla hızlı sorgular. ODBC ve JDBC, görselleştirme için BI'ya bağlanabilme özelliğine sahiptir.
  • OLTP Görevleri: Anahtar/değer depolama ile gerçek zamanlı işlemsel çalışma: örneğin, kullanıcı profili depolama, reklam gösterimi veya akış işleme.
  • Makine öğrenme: Milyarlarca parametreli modelleri eğitmek için GPU kümelerini yönetin.
  • Meta bilgi depolama: Meta bilgilerin işlemsel olarak depolanması ve dağıtılmış kilitlerin güvenilir hizmeti.
  • Tipik araçları kullanarak çok katmanlı veri işleme için veri ambarları ve ETL oluşturma: Apache Spark, SQL, MapReduce.

Mimarinin ana unsurlarından bahsederken şunlara değinilir:

  • Dağıtılmış dosya sistemi ve Cypress hataya dayanıklı ağaç tabanlı meta bilgi depolama.
  • MapReduce modelinin yanı sıra gelişmiş temel işlemleri destekleyen dağıtılmış bilgi işlem için planlayıcı.
  • BT operasyonlarının yatay ölçeklenebilirliği.
  • Bilgi işlem kaynaklarının izolasyonu ve belirli bilgi işlem kaynaklarını (CPU, GPU, RAM) farklı oranlarda tahsis etme imkanı.
  • OLTP depolaması oluşturmak için PivotTable'lar, MVCC tabanlı depolama desteği, işlemler, sona erdikten sonra verileri silme yeteneği ve PivotTable'lar üzerinden veri akışı akışı için mesaj kuyrukları.
  • C++, Python, Java, Go programlama dilleri için API ve kütüphaneler.
  • Ağaç benzeri bir depolamada gezinmeyi destekleyen, kullanıcılar ve yöneticiler için bir web arayüzü.

Son olarak, daha fazla bilgi edinmek isterseniz , projenin kodunun C/C++ dilinde yazıldığını ve Apache 2.0 lisansı altında açık kaynak kodlu olduğunu bilmelisiniz. Daha fazla ayrıntıya aşağıdaki bağlantıdan ulaşabilirsiniz.

GitHub deposu , YTsaurus için sunucu kodunu, k8s kullanan dağıtım altyapısını, sistem için bir web arayüzünü ve C++, Java, Go ve Python gibi popüler programlama dilleri için istemci SDK'larını içerir.


Google'da tercih edilen kaynak olarak ekleyin.