Yandex membuka kode DBMS YDB terdistribusi yang mendukung SQL

Yandex telah menerbitkan teks sumber DBMS YDB terdistribusi, yang mengimplementasikan dukungan untuk dialek SQL dan transaksi ACID. DBMS dibuat dari awal dan awalnya dikembangkan dengan tujuan untuk memastikan toleransi kesalahan, pemulihan otomatis jika terjadi kegagalan, dan skalabilitas. Perlu dicatat bahwa Yandex meluncurkan kluster YDB yang berfungsi, termasuk lebih dari 10 ribu node, menyimpan ratusan petabyte data dan melayani jutaan transaksi terdistribusi per detik. YDB digunakan dalam proyek Yandex seperti Market, Cloud, Smart Home, Alice, Metrika, dan Auto.ru. Kode ditulis dalam C/C++ dan didistribusikan di bawah lisensi Apache 2.0. Untuk pengenalan dan peluncuran cepat, Anda dapat menggunakan wadah Docker yang sudah jadi.

Fitur Proyek:

  • Menggunakan model data relasional dengan tabel. YQL (YDB Query Language) digunakan untuk menanyakan dan menentukan skema data, yang merupakan dialek SQL yang diadaptasi untuk bekerja dengan database terdistribusi besar. Saat membuat skema penyimpanan, pengelompokan tabel seperti pohon didukung, menyerupai direktori dalam sistem file. API disediakan untuk bekerja dengan data dalam format JSON.
    Yandex membuka kode DBMS YDB terdistribusi yang mendukung SQL
  • Dukungan untuk akses data menggunakan kueri pemindaian yang dirancang untuk melakukan kueri ad-hoc analitik terhadap database, dijalankan dalam mode hanya-baca dan mengembalikan aliran grpc.
  • Interaksi dengan DBMS dan mengirim permintaan dilakukan menggunakan antarmuka baris perintah, antarmuka web bawaan atau SDK YDB, yang menyediakan pustaka untuk C ++, C # (.NET), Go, Java, Node.js, PHP dan Phyton.
  • Kemampuan untuk membuat konfigurasi toleran kesalahan yang terus berfungsi saat disk, node, rak, dan bahkan pusat data individual gagal. YDB mendukung penyebaran dan replikasi sinkron di tiga zona ketersediaan sekaligus menjaga kesehatan klaster jika terjadi kegagalan salah satu zona.
  • Secara otomatis pulih dari kegagalan dengan penundaan minimal untuk aplikasi dan secara otomatis mempertahankan redundansi yang ditentukan saat menyimpan data.
  • Pembuatan indeks secara otomatis pada kunci utama dan kemampuan untuk menentukan indeks sekunder untuk meningkatkan efisiensi akses ke kolom arbitrer.
  • Skalabilitas horizontal. Saat beban dan ukuran data yang disimpan bertambah, cluster dapat diperluas hanya dengan menghubungkan node baru. Tingkat komputasi dan penyimpanan dipisahkan, memungkinkan penskalaan komputasi dan penyimpanan secara terpisah. DBMS itu sendiri memantau distribusi data dan beban yang seragam, dengan mempertimbangkan sumber daya perangkat keras yang tersedia. Dimungkinkan untuk menggunakan konfigurasi yang didistribusikan secara geografis yang mencakup beberapa pusat data di berbagai belahan dunia.
  • Dukungan untuk model konsistensi yang kuat dan transaksi ACID saat memproses kueri yang menjangkau beberapa node dan tabel. Untuk meningkatkan performa, Anda dapat menonaktifkan kontrol konsistensi secara selektif.
  • Replikasi data otomatis, partisi otomatis (partisi, sharding) saat ukuran atau beban bertambah, dan beban otomatis serta penyeimbangan data antar node.
  • Menyimpan data secara langsung di perangkat blok menggunakan komponen PDisk asli dan lapisan VDisk. Di atas VDisk, DSProxy berjalan, yang menganalisis ketersediaan dan kinerja disk untuk mengecualikannya jika masalah terdeteksi.
  • Arsitektur fleksibel yang memungkinkan Anda membuat di atas YDB, berbagai layanan, hingga perangkat blok virtual dan antrean persisten (persistent queue). Kesesuaian aplikasi untuk berbagai jenis beban kerja, OLTP dan OLAP (kueri analitik).
  • Dukungan untuk konfigurasi multi-pengguna (multitenant) dan tanpa server. Kemampuan untuk mengotentikasi klien. Pengguna dapat membuat cluster dan database virtual mereka sendiri dalam infrastruktur bersama yang umum, dengan mempertimbangkan konsumsi sumber daya pada tingkat jumlah permintaan dan ukuran data, atau dengan menyewa / memesan sumber daya komputasi dan ruang penyimpanan tertentu.
  • Kemungkinan untuk menyesuaikan masa pakai catatan untuk penghapusan otomatis data usang.

Sumber: opennet.ru

Tambah komentar