Paylanmış DBMS TiDB 3.0-ın buraxılışı

Mövcuddur paylanmış DBMS-nin buraxılması TiDB 3.0, Google texnologiyalarının təsiri altında hazırlanmışdır Spanner и F1. TiDB həm real vaxt əməliyyatlarını (OLTP) təmin edə, həm də analitik sorğuları emal etməyə qadir olan hibrid HTAP (Hybrid Transactional/Analytical Processing) sistemləri kateqoriyasına aiddir. Layihə Go and dilində yazılmışdır yayılır Apache 2.0 altında lisenziyalıdır.

TiDB xüsusiyyətləri:

  • MySQL üçün yazılmış mövcud proqramların TiDB-yə uyğunlaşdırılmasını asanlaşdıran, həmçinin ümumi müştəri kitabxanalarından istifadə etməyə imkan verən MySQL protokolu ilə uyğun gələn SQL dəstəyi və müştəri interfeysinin təmin edilməsi. MySQL protokoluna əlavə olaraq, DBMS-ə daxil olmaq üçün JSON əsaslı API və Spark üçün birləşdiricidən istifadə edə bilərsiniz.
  • SQL xüsusiyyətləri indeksləri, ümumi funksiyaları, QRUPLA, SİPARİŞ BY, FƏRQLİ ifadələri, birləşmələri (LEFT JOIN / RIGHT JOIN / CROSS JOIN), baxışları, pəncərə funksiyalarını və alt sorğuları dəstəkləyir. Təqdim olunan imkanlar PhpMyAdmin kimi veb proqramlar üçün TiDB ilə işi təşkil etmək üçün kifayətdir. Qoqular və WordPress;
  • Üfüqi genişlənmə və nasazlığa dözümlülük: yaddaş ölçüsü və emal gücü sadəcə yeni qovşaqları birləşdirməklə artırıla bilər. Məlumat qovşaqlar arasında ehtiyatla paylanır və fərdi qovşaqlar uğursuz olarsa əməliyyatın davam etdirilməsinə imkan verir. Uğursuzluqlar avtomatik idarə olunur.
  • Sistem ardıcıllığa zəmanət verir və müştəri proqramı üçün bir böyük DBMS kimi görünür, baxmayaraq ki, əslində bir çox qovşaqdan məlumat əməliyyatı başa çatdırmaq üçün cəlb olunur.
  • Məlumatları qovşaqlarda fiziki olaraq saxlamaq üçün müxtəlif arxa hissələrdən istifadə edilə bilər, məsələn, yerli saxlama mühərrikləri GoLevelDB və BoltDB və ya öz paylanmış saxlama mühərrikimiz TiKV.
  • Davam edən əməliyyatların işlənməsini dayandırmadan tez bir zamanda sütunlar və indekslər əlavə etməyə imkan verən saxlama sxemini asinxron olaraq dəyişdirmək imkanı.

Əsas yeniliklər:

  • Məhsuldarlığın artırılması istiqamətində işlər görülüb. Sysbench testində, seçim və yeniləmə əməliyyatlarını yerinə yetirərkən 3.0 buraxılışı 2.1 filialından 1.5 dəfə, TPC-C testində isə 4.5 dəfə sürətlidir. Optimallaşdırmalar müxtəlif növ sorğulara, o cümlədən IN, DO və NOT EXISTS alt sorğularına, cədvəllərin birləşməsinə (JOIN) əməliyyatlar, indekslərin istifadəsi və daha çox təsir göstərmişdir;
    Paylanmış DBMS TiDB 3.0-ın buraxılışıPaylanmış DBMS TiDB 3.0-ın buraxılışı

  • Sütunlu saxlama sayəsində analitik problemlərin (OLAP) həllində daha yüksək performansa imkan verən yeni TiFlash yaddaş mühərriki əlavə edildi. TiFlash əvvəllər təklif olunan TiKV yaddaşını tamamlayır, hansı ki, cərgə üzrə məlumatları açar/dəyər formatında saxlayır və əməliyyatların işlənməsi tapşırıqları (OLTP) üçün daha idealdır. TiFlash TiKV ilə yan-yana işləyir və konsensus müəyyən etmək üçün Raft protokolundan istifadə etməzdən əvvəl olduğu kimi məlumatlar TiKV-də təkrarlanmağa davam edir, lakin Raft replikalarının hər bir qrupu üçün TiFlash-da istifadə olunan əlavə replika yaradılır. Bu yanaşma OLTP və OLAP tapşırıqları arasında daha yaxşı resurs mübadiləsinə imkan verir, həmçinin əməliyyat məlumatlarını anında analitik sorğular üçün əlçatan edir;

    Paylanmış DBMS TiDB 3.0-ın buraxılışı

  • Böyük klasterlərdə zibil yığılma sürətini əhəmiyyətli dərəcədə artıra və sabitliyi yaxşılaşdıra bilən paylanmış zibil kollektoru tətbiq edilmişdir;
  • Rol Əsaslı Giriş Nəzarətinin (RBAC) eksperimental tətbiqi əlavə edildi. TƏHLİL, İSTİFADƏ, QLOBAL SET və PROCESS SİYAHISINI GÖSTƏRƏ əməliyyatları üçün giriş hüquqlarını təyin etmək də mümkündür;
  • Günlükdən yavaş sorğuları çıxarmaq üçün SQL ifadələrindən istifadə etmək imkanı əlavə edildi;
  • Təsadüfən silinmiş məlumatları bərpa etməyə imkan verən silinmiş cədvəllərin tez bərpası mexanizmi tətbiq edilmişdir;
  • Qeydə alınmış jurnalların formatı vahidləşdirilmişdir;
  • Tranzaksiyaların işlənməsini MySQL-ə daha çox bənzədən pessimist kilidləmə rejimi üçün əlavə dəstək;
  • MySQL 8.0 ilə uyğun gələn pəncərə funksiyaları (pəncərə funksiyaları və ya analitik funksiyalar) üçün əlavə dəstək. Pəncərə funksiyaları digər sətirlərdən istifadə edərək hər bir sorğu sətiri üçün hesablamalar aparmağa imkan verir. Qruplaşdırılmış sətirlər toplusunu bir sıraya yığan ümumi funksiyalardan fərqli olaraq, pəncərə funksiyaları nəticə dəstindən bir və ya bir neçə sətir daxil olan “pəncərə”nin məzmunu əsasında birləşir. Həyata keçirilən pəncərə funksiyaları arasında:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK və ROW_NUMBER;

  • Baxışlar üçün eksperimental dəstək əlavə edildi (VIEW);
  • Bölmə sistemi təkmilləşdirildi, məlumatları bir sıra dəyərlərə və ya hashlara əsasən bölmələrə yaymaq imkanı əlavə edildi;
  • Pluginlərin hazırlanması üçün çərçivə əlavə edilmişdir, məsələn, IP ağ siyahısından istifadə etmək və ya audit jurnalını saxlamaq üçün plaginlər artıq hazırlanmışdır;
  • SQL sorğusu (SQL Plan İdarəetmə) üçün icra planının qurulması üçün “TƏHLİL EDİN” funksiyası üçün eksperimental dəstək təmin edilmişdir;
  • Növbəti sıranın identifikatorunu əldə etmək üçün next_row_id əmri əlavə edildi;
  • JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE və NAME_CONST yeni daxili funksiyalar əlavə edildi.

Mənbə: opennet.ru

Добавить комментарий