Yandex wis mbukak kode kanggo distribusi DBMS YDB sing ndhukung SQL

Yandex wis nerbitake kode sumber saka DBMS YDB sing disebarake, sing ngetrapake dhukungan kanggo dialek SQL lan transaksi ACID. DBMS digawe saka awal lan wiwitane dikembangake kanthi tujuan kanggo njamin toleransi kesalahan, pemulihan otomatis saka kegagalan lan skalabilitas. Kacathet yen Yandex wis ngluncurake kluster YDB sing digunakake, kalebu luwih saka 10 ewu node, nyimpen atusan petabyte data lan nglayani mayuta-yuta transaksi sing disebarake saben detik. YDB digunakake ing proyek Yandex kayata Market, Cloud, Smart Home, Alice, Metrica lan Auto.ru. Kode kasebut ditulis ing C/C++ lan disebarake miturut lisensi Apache 2.0. Kanggo familiarization lan Bukak cepet, sampeyan bisa nggunakake wadhah Docker siap-digawe.

Fitur Proyek:

  • Nggunakake model data relasional karo tabel. Kanggo pitakon lan nemtokake skema data, basa YQL (YDB Query Language) digunakake, yaiku dialek SQL sing diadaptasi kanggo nggarap database sing disebarake gedhe. Nalika nggawe skema panyimpenan, klompok tabel kaya wit didhukung, kaya direktori ing sistem file. API diwenehake kanggo nggarap data ing format JSON.
    Yandex wis mbukak kode kanggo distribusi DBMS YDB sing ndhukung SQL
  • Dhukungan kanggo akses data nggunakake pitakon pindai sing dirancang kanggo nindakake pitakon ad-hoc analitis ing basis data, dieksekusi ing mode mung diwaca lan ngasilake stream grpc.
  • Interaksi karo DBMS lan ngirim panjalukan digawa metu nggunakake antarmuka baris printah, dibangun ing antarmuka web utawa YDB SDK, kang nyedhiyani perpustakaan kanggo C ++, C # (.NET), Go, Java, Node.js, PHP lan Python.
  • Kemampuan kanggo nggawe konfigurasi fault-tolerant sing terus operate nalika disk individu, simpul, rak lan malah pusat data gagal. YDB ndhukung penyebaran lan replikasi sinkron ing telung zona kasedhiyan, njaga fungsi kluster yen gagal salah sawijining zona.
  • Waras kanthi otomatis saka kegagalan kanthi latensi minimal kanggo aplikasi lan kanthi otomatis njaga redundansi data sing ditemtokake.
  • Nggawe indeks otomatis adhedhasar kunci utama lan kemampuan kanggo nemtokake indeks sekunder kanggo nambah efisiensi akses menyang kolom sing sewenang-wenang.
  • Skalabilitas horisontal. Nalika beban lan ukuran data sing disimpen mundhak, kluster bisa ditambahi kanthi mung nyambungake simpul anyar. Tingkat komputasi lan panyimpenan dipisahake, ngidini sampeyan nggedhekake daya komputasi lan ukuran panyimpenan kanthi kapisah. DBMS dhewe ngawasi distribusi seragam saka data lan mbukak, njupuk menyang akun sumber daya hardware kasedhiya. Sampeyan bisa nyebarake konfigurasi sing disebarake sacara geografis sing nyakup sawetara pusat data ing macem-macem wilayah ing saindenging jagad.
  • Ndhukung model konsistensi sing kuat lan transaksi ACID nalika ngolah pitakon sing nyakup sawetara simpul lan tabel. Kanggo nambah kinerja, sampeyan bisa kanthi selektif mateni mriksa konsistensi.
  • Replikasi data otomatis, partisi otomatis (pemisahan, sharding) nalika ukuran utawa beban mundhak, lan beban otomatis lan keseimbangan data ing antarane simpul.
  • Nyimpen data langsung ing piranti pamblokiran nggunakake komponen PDisk asli lan lapisan VDisk. DSProxy mlaku ing ndhuwur VDisk, sing nganalisa kasedhiyan lan karakteristik kinerja disk supaya bisa ngilangi yen masalah dideteksi.
  • Arsitektur fleksibel sing ngidini sampeyan nggawe macem-macem layanan ing ndhuwur YDB, kalebu piranti pamblokiran virtual lan antrian terus-terusan. Cocog kanggo macem-macem jinis beban kerja, OLTP lan OLAP (pitakon analitis).
  • Dhukungan kanggo konfigurasi multitenant lan tanpa server. Kemungkinan otentikasi klien. Pangguna bisa nggawe kluster lan basis data virtual ing infrastruktur sing dienggo bareng umum, kanthi nganggep konsumsi sumber daya ing tingkat jumlah panjaluk lan ukuran data, utawa kanthi nyewa / nyewa sumber daya komputasi lan papan panyimpenan.
  • Kemampuan kanggo ngatur umur rekaman kanggo mbusak data sing wis lawas kanthi otomatis.

Source: opennet.ru

Add a comment