Keluaran DBMS TiDB 3.0 yang diedarkan

Ada keluaran DBMS yang diedarkan TiDB3.0dibangunkan di bawah pengaruh teknologi Google Spanner ΠΈ F1. TiDB tergolong dalam kategori sistem HTAP hibrid (Hybrid Transactional/Analytical Processing) yang mampu menyediakan transaksi masa nyata (OLTP) dan memproses pertanyaan analisis. Projek ini ditulis dalam Go dan diedarkan oleh berlesen di bawah Apache 2.0.

Ciri-ciri TiDB:

  • Sokongan untuk SQL dan penyediaan antara muka klien yang serasi dengan protokol MySQL, yang memudahkan untuk menyesuaikan aplikasi sedia ada yang ditulis untuk MySQL kepada TiDB, dan juga membolehkan anda menggunakan perpustakaan klien biasa. Selain protokol MySQL, anda boleh menggunakan API berasaskan JSON dan penyambung untuk Spark untuk mengakses DBMS.
  • Daripada ciri SQL, indeks, fungsi agregat, GROUP BY, ORDER BY, DISTINCT expressions, merges (LEFT JOIN / RIGHT JOIN / CROSS JOIN), pandangan, fungsi tetingkap dan subquery disokong. Peluang yang disediakan sudah cukup untuk mengatur kerja dengan TiDB bagi aplikasi web seperti PhpMyAdmin, Gogs dan WordPress;
  • Skala kecil dan daya tahan: Kuasa storan dan pemprosesan boleh ditingkatkan hanya dengan menambah nod baharu. Data diedarkan merentasi nod dengan redundansi untuk membolehkan operasi diteruskan jika nod individu gagal. Kegagalan dikendalikan secara automatik.
  • Sistem ini menjamin konsistensi dan kelihatan seperti satu DBMS yang besar kepada perisian klien, walaupun pada hakikatnya, sebenarnya, data daripada banyak nod terlibat untuk menyelesaikan transaksi.
  • Untuk menyimpan data secara fizikal pada nod, hujung belakang yang berbeza boleh digunakan, contohnya, enjin storan tempatan GoLevelDB dan BoltDB atau enjin storan teragih kami sendiri TiKV.
  • Keupayaan untuk menukar skema storan secara tak segerak, membolehkan anda menambah lajur dan indeks dengan cepat tanpa menghentikan pemprosesan operasi yang sedang berjalan.

Utama inovasi:

  • Kerja telah dijalankan untuk meningkatkan produktiviti. Dalam ujian Sysbench, keluaran 3.0 adalah 2.1 kali lebih pantas daripada cawangan 1.5 apabila melaksanakan operasi pilih dan kemas kini, dan dalam ujian TPC-C sebanyak 4.5 kali. Pengoptimuman telah menjejaskan pelbagai jenis pertanyaan, termasuk subquery IN, DO dan NOT EXISTS, operasi penggabungan jadual (JOIN), penggunaan indeks dan banyak lagi;
    Keluaran DBMS TiDB 3.0 yang diedarkanKeluaran DBMS TiDB 3.0 yang diedarkan

  • Menambahkan enjin storan TiFlash baharu yang membolehkan prestasi lebih tinggi dalam menyelesaikan masalah analisis (OLAP) berkat storan kolumnar. TiFlash melengkapkan storan TiKV yang ditawarkan sebelum ini, yang menyimpan data mengikut baris dalam format kunci/nilai dan lebih sesuai untuk tugas pemprosesan transaksi (OLTP). TiFlash berfungsi bersebelahan dengan TiKV dan data terus direplikasi kepada TiKV seperti sebelum ini menggunakan protokol Raft untuk menentukan konsensus, tetapi untuk setiap kumpulan replika Raft, replika tambahan dicipta yang digunakan dalam TiFlash. Pendekatan ini membolehkan perkongsian sumber yang lebih baik antara tugas OLTP dan OLAP, dan juga menjadikan data transaksi tersedia serta-merta untuk pertanyaan analisis;

    Keluaran DBMS TiDB 3.0 yang diedarkan

  • Pengumpul sampah yang diedarkan telah dilaksanakan, yang boleh meningkatkan kelajuan kutipan sampah dengan ketara dalam kelompok besar dan meningkatkan kestabilan;
  • Pelaksanaan percubaan Kawalan Akses Berasaskan Peranan (RBAC) telah ditambah. Anda juga boleh menetapkan hak akses untuk operasi ANALYZE, USE, SET GLOBAL dan SHOW PROCESSLIST;
  • Menambah keupayaan untuk menggunakan ungkapan SQL untuk mengekstrak pertanyaan perlahan daripada log;
  • Mekanisme untuk memulihkan jadual yang dipadam dengan cepat telah dilaksanakan, membolehkan anda memulihkan data yang dipadam secara tidak sengaja;
  • Format log yang direkodkan telah disatukan;
  • Sokongan tambahan untuk mod penguncian pesimis, yang menjadikan pemprosesan transaksi lebih serupa dengan MySQL;
  • Sokongan tambahan untuk fungsi tetingkap (fungsi tetingkap atau fungsi analitik) yang serasi dengan MySQL 8.0. Fungsi tetingkap membolehkan anda melakukan pengiraan untuk setiap baris pertanyaan menggunakan baris lain. Tidak seperti fungsi agregat, yang meruntuhkan set baris terkumpul menjadi satu baris, fungsi tetingkap mengagregat berdasarkan kandungan "tetingkap", yang merangkumi satu atau lebih baris daripada set hasil. Antara fungsi tetingkap yang dilaksanakan:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK dan ROW_NUMBER;

  • Menambah sokongan percubaan untuk paparan (VIEW);
  • Sistem pembahagian telah dipertingkatkan, keupayaan untuk mengedarkan data ke dalam bahagian berdasarkan julat nilai atau cincang telah ditambah;
  • Rangka kerja untuk membangunkan pemalam telah ditambah, contohnya, pemalam telah disediakan untuk menggunakan senarai putih IP atau mengekalkan log audit;
  • Sokongan eksperimen telah disediakan untuk fungsi "EXPLAIN ANALYZE" untuk membina pelan pelaksanaan untuk pertanyaan SQL (SQL Plan Management);
  • Menambah arahan next_row_id untuk mendapatkan ID baris seterusnya;
  • Menambahkan fungsi terbina dalam baharu JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK , COALESCE dan NAME_CONST.

Sumber: opennet.ru

Tambah komen