Fa'asalalauina DBMS TiDB 3.0

Avanoa fa'asa'olotoina o se DBMS fa'asoa TiDB 3.0, atiina ae i lalo o le faatosinaga a Google tekinolosi Totolo и F1. TiDB o lo'o iai ile vaega ole hybrid HTAP (Hybrid Transactional/Analytical Processing), e mafai uma ona tu'uina atu fefa'ataua'iga i taimi moni (OLTP) ma fa'agasolo su'esu'ega au'ili'ili. Ua tusia le poloketi i le gagana Go ma tufatufaina e laiseneina i lalo ole Apache 2.0.

Vaega o TiDB:

  • Lagolago SQL ma le tuʻuina atu o se tagata faʻaoga fesoʻotaʻiga e fetaui ma le MySQL protocol, lea e faʻafaigofie ai le fetuunaiga o tusi talosaga o loʻo i ai na tusia mo MySQL i le TiDB, ma faʻatagaina ai foi le faʻaogaina o faletusi masani a le au faipisinisi. I le faaopoopo atu i le MySQL protocol, e mafai ona e faʻaogaina se API faʻavae JSON ma se fesoʻotaʻiga mo Spark e maua ai le DBMS.
  • O lo'o fa'aalia e SQL fa'asino igoa lagolago, galuega fa'aopoopo, GROUP BY, ORDER BY, DISTINCT expressions, merges (LEFT JOIN / RIGHT JOIN / CROSS JOIN), va'aiga, galuega fa'amalama ma su'esu'ega. O mea e mafai ona tuʻuina atu e lava lea e faʻatulaga ai galuega ma TiDB mo ia upega tafaʻilagi e pei ole PhpMyAdmin, Koka ma le WordPress;
  • Fa'asa'o fa'asaga ma fa'apalepale fa'aletonu: tele le teuina ma le mana fa'agaioiga e mafai ona fa'ateleina i le na'o le fa'afeso'ota'i pona fou. O fa'amaumauga o lo'o fa'asalalauina i nodes ma le toe fa'aogaina, fa'ataga le fa'agaioiga e fa'aauau pe a fa'aletonu nodes ta'itasi. E otometi ona taulimaina faaletonu.
  • O le faiga e faʻamaonia le tumau ma mo le tagata faʻapipiʻi polokalama e foliga mai e tasi le DBMS tele, e ui lava i le mea moni, o faʻamatalaga mai le tele o nodes e tosina mai e faʻamaeʻa le fefaʻatauaiga.
  • Ina ia teuina faʻamatalaga faʻamatalaga i luga o nodes, e mafai ona faʻaogaina pito i tua eseese, mo se faʻataʻitaʻiga, masini teu oloa i le lotoifale GoLevelDB ma BoltDB poʻo a tatou lava masini teu oloa tufatufaina. TiKV.
  • Le mafai e asynchronously suia le polokalame teuina, e mafai ai ona e faaopoopo koluma ma faasino igoa i luga o le lele e aunoa ma le taofia o le faagasologa o gaoioiga faifai pea.

tele mea fou:

  • Ua fa'atinoina galuega e fa'ateleina ai le gaosiga. I le suʻega a le Sysbench, faʻasaʻo le 3.0 e 2.1 taimi sili atu nai lo le 1.5 lala pe a faia filifiliga ma faʻafouina gaioiga, ma i le TPC-C suʻega e 4.5 taimi. Optimizations ua aafia ituaiga eseese o fesili, e aofia ai IN, DO ma NOT EXISTS subqueries, faagaioiina o le tuufaatasia o laulau (JOIN), le faaaogaina o faasino igoa ma sili atu;
    Fa'asalalauina DBMS TiDB 3.0Fa'asalalauina DBMS TiDB 3.0

  • Fa'aopoopoina se afi fou e teu ai TiFlash e mafai ai ona fa'atino maualuga i le fo'ia o fa'afitauli fa'apitoa (OLAP) fa'afetai i le teuina o columnar. TiFlash e faʻamalieina le teuina o TiKV muamua, lea e teu ai faʻamatalaga faʻamatalaga i se ki / faʻasologa o tau ma e sili atu ona lelei mo galuega faʻatautaia fefaʻatauaiga (OLTP). TiFlash e galulue fa'atasi ma TiKV ma fa'aauau pea ona toe fa'afo'i fa'amaumauga i le TiKV e pei ona fa'aaoga muamua le Raft protocol e fa'amautu ai le maliliega, ae mo vaega ta'itasi o Raft fa'atusa ua faia se fa'atusa fa'aopoopo e fa'aaogaina i TiFlash. O lenei auala e mafai ai ona sili atu le fefaʻasoaaʻi o punaoa i le va o OLTP ma OLAP galuega, ma faʻapipiʻi vave faʻamatalaga faʻamatalaga mo suʻesuʻega auʻiliʻili;

    Fa'asalalauina DBMS TiDB 3.0

  • Ua faʻatinoina se faʻasalalauga faʻasalalau, lea e mafai ona faʻateleina le saoasaoa o le aoina o lapisi i fuifui tetele ma faʻaleleia le mautu;
  • Ua fa'aopoopoina se fa'ata'ita'iga fa'atino ole Role-Based Access Control (RBAC). E mafai foi ona seti aia tatau mo le ANALYZE, USE, SET GLOBAL ma SHOW PROCESSLIST faagaioiga;
  • Faʻaopoopo le tomai e faʻaoga ai faʻamatalaga SQL e aveese ai fesili lemu mai le ogalaau;
  • O se masini mo le toe faʻaleleia vave o laulau ua tapeina ua faʻatinoina, faʻatagaina oe e toe faʻafoʻi faʻafuaseʻi faʻamaumauga;
  • Ua tuufaatasia le faatulagaga o ogalaau faamauina;
  • Faʻaopoopo le lagolago mo le faʻaogaina o le faʻaogaina o le loka, lea e faʻaogaina ai fefaʻatauaiga sili atu ona tutusa ma MySQL;
  • Fa'aopoopo le lagolago mo galuega fa'amalama (galuega fa'amalama po'o galuega su'esu'e) e fetaui ma MySQL 8.0. O galuega fa'amalama e mafai ai ona e faia fa'atatau mo laina fesili ta'itasi e fa'aoga ai isi laina. E le pei o galuega fa'aopoopo, lea e fa'amavaeina se seti o laina tu'ufa'atasia i se laina e tasi, fa'amalama galuega fa'aopoopo e fa'atatau i mea o lo'o i totonu o se "fa'amalama," lea e aofia ai se tasi pe sili atu laina mai le seti fa'ai'uga. Faatasi ai ma galuega faatino faamalama:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK ma ROW_NUMBER;

  • Fa'aopoopoina le lagolago fa'ata'ita'i mo va'aiga (VIEW);
  • Ua faʻaleleia le faiga o le vaeluaga, o le mafai ona tufatufa faʻamatalaga i vaega e faʻavae i luga o le tele o tau poʻo faʻailoga ua faʻaopoopoina;
  • O se faʻavae mo le atinaʻeina o plugini ua faʻaopoopoina, mo se faʻataʻitaʻiga, ua uma ona saunia plugins mo le faʻaaogaina o se IP whitelist poʻo le tausia o se suʻega suʻega;
  • Ua tu'uina atu le lagolago fa'ata'ita'i mo le galuega "FA'A'ALI'GA FA'AALIGA" mo le fausiaina o se fuafuaga fa'atino mo se fesili SQL (SQL Plan Management);
  • Faʻaopoopo le next_row_id poloaiga e maua ai le ID o le isi laina;
  • Fa'aopoopo i ai galuega fou ua fausia i totonu JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE ma NAME_CONST.

puna: opennet.ru

Faaopoopo i ai se faamatalaga