YTsaurus adalah platform penyimpanan dan pemrosesan terdistribusi untuk data besar dengan dukungan untuk model MapReduce.
Beberapa hari yang lalu Yandex diluncurkan melalui satu pengumuman pembukaan kode sumber platform YTsauru, yang digunakan untuk penyimpanan terdistribusi dan pemrosesan data dalam jumlah besar, yang mendukung manipulasi data menggunakan paradigma MapReduce, mesin kueri SQL, sistem file terdistribusi, dan penyimpanan NoSQL dalam format nilai kunci.
YTsaurus bekas pada infrastruktur Yandex untuk secara efisien menggunakan daya komputasi superkomputer dari perusahaan Platform dapat menskalakan ke kelompok lebih dari 10 node, mencakup hingga satu juta prosesor dan ribuan GPU (untuk tugas pembelajaran mesin).
Kontainer terisolasi yang berjalan di server fisik dapat digunakan sebagai unit cluster. Penyimpanan dapat berisi data exabytes yang terletak di berbagai media seperti hard drive, SSD, NVME, dan RAM.
Klaster mendukung penambahan dan penghapusan node secara dinamis, redundansi (tidak ada titik kegagalan tunggal), replikasi otomatis, pemutakhiran perangkat lunak klaster aktif, dan pemulihan redundansi otomatis jika terjadi kegagalan node.
Tiga jenis cluster didukung: klaster komputasi (untuk pemrosesan data besar secara paralel secara masif menggunakan operasi MapReduce), klaster untuk tabel pivot dan penyimpanan nilai kunci, dan klaster yang didistribusikan secara geografis.
Layanan berbasis platform dapat menyediakan sarana untuk menyimpan dan memproses data untuk puluhan ribu pengguna. Aplikasi umum YTsaurus di Yandex termasuk menyimpan informasi tentang pengguna jaringan iklan, melatih model pembelajaran mesin, membentuk indeks pencarian, dan membangun gudang data untuk layanan seperti Taksi Yandex. , Makanan, Lavka, dan pengiriman
Dari kasus penggunaan dasar disebutkan:
- Pemrosesan batch: MapReduce dan SPYT (Apache Spark sebagai mesin komputasi pada data di YTsaurus) untuk pemrosesan data terstruktur dan semi terstruktur: catatan atau transaksi keuangan.
- Analisis ad hoc: Kueri cepat melalui CHYT (grup server ClickHouse di node komputasi YTsaurus) tanpa menyalin data ke sistem analitik terpisah. ODBC dan JDBC dengan kemampuan menghubungkan BI untuk visualisasi.
- Tugas OLTP: Pekerjaan transaksional waktu nyata dengan penyimpanan nilai kunci: misalnya, penyimpanan profil pengguna, tampilan iklan, atau pemrosesan streaming.
- Pembelajaran mesin: Kelola klaster GPU untuk melatih model dengan miliaran parameter.
- Penyimpanan informasi meta: Penyimpanan transaksional metainformasi dan layanan kunci terdistribusi yang andal.
- Pembuatan gudang data dan ETL untuk pemrosesan data multi-tingkat menggunakan alat umum: Apache Spark, SQL, MapReduce.
Sedangkan pada bagian unsur-unsur utama arsitektur disebutkan sebagai berikut:
- Sistem file terdistribusi dan penyimpanan metainformasi berbasis pohon Cypress yang toleran terhadap kesalahan.
- Penjadwal untuk komputasi terdistribusi dengan dukungan untuk model MapReduce, serta operasi dasar lanjutan.
- Skalabilitas horizontal operasi TI.
- Isolasi sumber daya komputasi dan kemungkinan untuk mengalokasikan sumber daya komputasi tertentu (CPU, GPU, RAM) dalam proporsi yang berbeda.
- PivotTable untuk membuat penyimpanan OLTP, dukungan untuk penyimpanan berbasis MVCC, transaksi, kemampuan untuk menghapus data setelah kedaluwarsa, dan antrean pesan untuk streaming pemrosesan data melalui PivotTable.
- API dan library untuk bahasa pemrograman C++, Python, Java, Go.
- Antarmuka web untuk pengguna dan administrator yang mendukung navigasi melalui penyimpanan seperti pohon.
Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda harus tahu bahwa kode proyek ditulis dalam C/C++ dan terbuka di bawah lisensi Apache 2.0. Detail bisa cek di link berikut.
El Repositori GitHub berisi kode server untuk YTsaurus, kerangka penerapan yang digunakan oleh k8s, antarmuka web ke sistem, dan SDK klien untuk bahasa pemrograman populer seperti C++, Java, Go, dan Python.