Väljaande hajutatud andmebaasist TiDB 3.0

Saadaval hajutatud andmebaasi väljaanne TiDB 3.0, mis on arendatud Google'i tehnoloogiatest inspireerituna Spanner ja F1. TiDB kuulub hübriidsüsteemide HTAP (Hybrid Transactional/Analytical Processing) kategooriasse, mis suudab toetada nii reaalajas tehingute (OLTP) täitmist kui ka analüütiliste päringute töötlemist. Projekt on kirjutatud keeles Go ja GNU Üldine Avaliku litsentsi alusel. ainekood on litsentsitud Apache 2.0 all.

TiDB omadused:

  • SQL-i toetamist ja MySQL-protokolliga ühilduva kliendiliidese pakkumist, mis lihtsustab TiDB-le olemasolevate MySQL-i jaoks kirjutatud rakenduste kohandamist ning võimaldab kasutada levinud klienditeeke. Lisaks MySQL-protokollile saab andmebaasi pöördumiseks kasutada JSON-põhist API-t ja Spark'i ühendust.
  • SQL-i võimalustest toetatakse indekse, agregaatfunktsioone, GROUP BY, ORDER BY, DISTINCT väljendeid, liitumisi (LEFT JOIN / RIGHT JOIN / CROSS JOIN), vaateid, aknafunktsioone ja alam-päringuid. Pakutavad võimalused on piisavad TiDB-ga töötamise korraldamiseks sellistes veebirakendustes nagu PhpMyAdmin, Gogs ja WordPress;
  • Horisontaalse skaleeritavuse ja tõrke taluvuse võimalus: salvestusruumi ja arvutusvõimsust saab lihtsa uute sõlmede ühendamisega suurendada. Andmed jaotatakse sõlmede vahel üleliigsusega, mis võimaldab jätkata tööd üksikute sõlmede rikke korral. Rikete töötlemine toimub automaatselt.
  • Süsteem tagab järjepidevuse ja klientprogrammi jaoks näib see olevat üks suur andmebaas, hoolimata sellest, et tehingute täitmiseks kasutatakse andmeid paljusid sõlmi.
  • Andmete füüsiliseks salvestamiseks sõlmedes võivad kasutada erinevaid taustsüsteeme, näiteks lokaalset salvestusmootorit GoLevelDB ja BoltDB või enda loodud jaotatud salvestussüsteemi. TiKV.
  • Asünkroonse salvestusstruktuuri muundamise võimalus, mis võimaldab jooksvalt lisada veerge ja indekseid, peatamata käimasolevaid toimingute töötlemisi.

Peamised uuendused:

  • Tööd on tehtud jõudluse suurendamiseks. Testis Sysbench versioon 3.0 ületab haru 2.1 1,5 korda select ja update operatsioonide täitmisel ning TPC-C testis 4,5 korda. Optimeerimised hõlmasid erinevaid päringute tüüpe, sealhulgas alampäringuid 'IN', 'DO' ja 'NOT EXISTS', tabelite ühendamise operatsioone (JOIN), indeksite kasutamist ja palju muud;
    Väljaande hajutatud andmebaasist TiDB 3.0 Väljaande hajutatud andmebaasist TiDB 3.0
  • Lisatud on uus salvestusmootor TiFlash, mis võimaldab saavutada kõrgemat jõudlust analüütiliste ülesannete lahendamisel (OLAP) tänu veergude põhisele salvestamisele. TiFlash täiendab varem pakutud salvestust TiKV, mis säilitab andmeid ridade lõikes võtme/väärtuse formaadis ja on rohkem optimeeritud tehingutöötluse (OLTP) ülesannete jaoks. TiFlash töötab koos TiKV-ga ning andmed jätkavad replikeerimist TiKV-s, kasutades Raft-protokolli konsensuse saavutamiseks, kuid iga Rafti replika rühma jaoks luuakse täiendav replika, mida kasutatakse TiFlashis. Selline lähenemine võimaldab saavutada paremat ressursside jaotamist OLTP ja OLAP ülesannete vahel ning muudab tehinguandmed koheselt kergesti kättesaadavaks analüütiliste päringute jaoks;

    Väljaande hajutatud andmebaasist TiDB 3.0
  • Rakendatud on jaotatud prügikoguja, mis võimaldab märkimisväärselt suurendada prügikogumise kiiruset suurtes klustrites ja parandada töö stabiilsust;
  • Lisatud on eksperimentaalne rakendus rollipõhise juurdepääsu haldamise süsteem (RBAC). Samuti on tagatud võimalus määrata juurdepääsuõigused ANALYZE, USE, SET GLOBAL ja SHOW PROCESSLIST operatsioonidele;
  • Lisatud on võimalus kasutada SQL-i väljendeid aeglasete päringute logist valimiseks;
  • Rakendatud on kiiresti taastamisprotsess kustutatud tabelite jaoks, mis võimaldab taastada juhuslikult kustutatud andmeid;
  • Ühtlustatud on salvestatud logide formaat;
  • Lisatud on pessimistliku lukustusrežiimi tugi, mis muudab tehingute töötlemise sarnasemaks MySQL-ile;
  • Lisatud on toetused aknafunktsioonidele (aknafunktsioonid või analüütilised funktsioonid), mis on ühilduvad MySQL 8.0-ga. Aknafunktsioonid võimaldavad iga päringu reas teostada arvutusi, kasutades teisi reade. Erinevalt agregaatfunktsioonidest, mis koondavad rühmitatud rea kogumi üheks reaks, viiakse aknafunktsioonide abil aggregatsioon läbi 'aken' sisu põhjal, mis sisaldab ühte või enamat rida tulemuste kogumist. Rakendatud aknafunktsioonide hulka kuuluvad:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK ja ROW_NUMBER;
  • Lisatud on eksperimentaalne tugi vaadetele (VIEW);
  • Parandatud on sektsioonide haldamise süsteemi (partitsioneerimise), lisatud on võimalus jagada andmeid sektsioonideks väärtuste vahemike või hashide põhjal;
  • Lisatud on pistikprogrammide arendamise raamistik, näiteks on juba ette valmistatud pistikprogrammid IP valge nimekirja kasutamiseks või auditilogide pidamiseks;
  • Tagatud on eksperimentaalne tugi funktsioonile 'EXPLAIN ANALYZE' SQL-päringu täitmisplaani koostamiseks (SQL Plan Management);
  • Lisatud on käsk next_row_id järgmise rea identifikaatori saamiseks;
  • Lisatud on uued sisseehitatud funktsioonid JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK, COALESCE ja NAME_CONST.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster