Rhyddhau'r DBMS a ddosbarthwyd TiDB 3.0

Ar gael rhyddhau DBMS a ddosbarthwyd TiDB 3.0, a ddatblygwyd o dan ddylanwad technolegau Google stretsier и F1. Mae TiDB yn perthyn i'r categori systemau hybrid HTAP (Hybrid Transactional/Dadansoddol Prosesu), sy'n gallu darparu trafodion amser real (OLTP) a phrosesu ymholiadau dadansoddol. Mae'r prosiect wedi'i ysgrifennu mewn iaith Go a dosbarthu gan trwyddedig o dan Apache 2.0.

Nodweddion TiDB:

  • Cefnogaeth SQL a darparu rhyngwyneb cleient sy'n gydnaws â phrotocol MySQL, sy'n symleiddio'r broses o addasu cymwysiadau presennol a ysgrifennwyd ar gyfer MySQL i TiDB, a hefyd yn caniatáu defnyddio llyfrgelloedd cleientiaid cyffredin. Yn ogystal â'r protocol MySQL, gallwch ddefnyddio API seiliedig ar JSON a chysylltydd ar gyfer Spark i gael mynediad i'r DBMS.
  • Mae nodweddion SQL yn cefnogi mynegeion, swyddogaethau cyfanredol, GRŴP GAN, GORCHYMYN GAN, mynegiadau NODWEDDOL, yn uno (YMUNWCH CHWITH / YMUNWCH I'R DDE / YMUNWCH CROESO), golygfeydd, swyddogaethau ffenestr a subqueries. Mae'r galluoedd a ddarperir yn ddigonol i drefnu gwaith gyda TiDB ar gyfer cymwysiadau gwe fel PhpMyAdmin, gogls a WordPress;
  • Scalability llorweddol a goddefgarwch namau: gellir cynyddu maint storio a phŵer prosesu trwy gysylltu nodau newydd yn unig. Dosberthir data ar draws nodau gyda diswyddiad, gan ganiatáu i weithrediad barhau os bydd nodau unigol yn methu. Ymdrinnir â methiannau'n awtomatig.
  • Mae'r system yn gwarantu cysondeb ac ar gyfer meddalwedd y cleient mae'n edrych fel un DBMS mawr, er gwaethaf y ffaith, mewn gwirionedd, bod data o lawer o nodau yn cael ei ddenu i gwblhau'r trafodiad.
  • Er mwyn storio data'n gorfforol ar nodau, gellir defnyddio ôl-wynebau gwahanol, er enghraifft, peiriannau storio lleol GoLevelDB a BoltDB neu ein peiriant storio dosbarthedig ein hunain. TiKV.
  • Y gallu i newid y sgema storio yn anghydamserol, sy'n eich galluogi i ychwanegu colofnau a mynegeion ar y hedfan heb atal prosesu gweithrediadau parhaus.

Y prif arloesiadau:

  • Mae gwaith wedi'i wneud i gynyddu cynhyrchiant. Yn y prawf Sysbench, mae rhyddhau 3.0 2.1 gwaith yn gyflymach na'r gangen 1.5 wrth berfformio gweithrediadau dethol a diweddaru, ac yn y prawf TPC-C 4.5 gwaith. Mae optimeiddiadau wedi effeithio ar wahanol fathau o ymholiadau, gan gynnwys subqueries IN, DO and NOT EXISTS, gweithrediadau uno tablau (JOIN), y defnydd o fynegeion a llawer mwy;
    Rhyddhau'r DBMS a ddosbarthwyd TiDB 3.0Rhyddhau'r DBMS a ddosbarthwyd TiDB 3.0

  • Ychwanegwyd injan storio TiFlash newydd sy'n caniatáu perfformiad uwch wrth ddatrys problemau dadansoddol (OLAP) diolch i storio colofnog. Mae TiFlash yn ategu'r storfa TiKV a gynigiwyd yn flaenorol, sy'n storio data rhesi mewn fformat allwedd/gwerth ac sy'n fwy delfrydol ar gyfer tasgau prosesu trafodion (OLTP). Mae TiFlash yn gweithio ochr yn ochr â TiKV ac mae data'n parhau i gael ei ailadrodd i TiKV fel o'r blaen gan ddefnyddio'r protocol Raft i bennu consensws, ond ar gyfer pob grŵp o atgynyrchiadau Raft mae replica ychwanegol yn cael ei greu a ddefnyddir yn TiFlash. Mae'r dull hwn yn caniatáu ar gyfer rhannu adnoddau'n well rhwng tasgau OLTP ac OLAP, a hefyd yn sicrhau bod data trafodion ar gael ar unwaith ar gyfer ymholiadau dadansoddol;

    Rhyddhau'r DBMS a ddosbarthwyd TiDB 3.0

  • Mae casglwr sbwriel dosbarthedig wedi'i weithredu, a all gynyddu'n sylweddol gyflymder casglu sbwriel mewn clystyrau mawr a gwella sefydlogrwydd;
  • Mae gweithrediad arbrofol o Reoli Mynediad Seiliedig ar Rôl (RBAC) wedi'i ychwanegu. Mae hefyd yn bosibl gosod hawliau mynediad ar gyfer gweithrediadau DADANSODDI, DEFNYDDIO, GOSOD RHESTR BROSES BYDOL a DANGOS;
  • Ychwanegwyd y gallu i ddefnyddio ymadroddion SQL i dynnu ymholiadau araf o'r log;
  • Mae mecanwaith ar gyfer adfer tablau sydd wedi'u dileu yn gyflym wedi'i roi ar waith, sy'n eich galluogi i adfer data a ddilëwyd yn ddamweiniol;
  • Mae fformat y logiau wedi'u huno;
  • Cefnogaeth ychwanegol ar gyfer modd cloi pesimistaidd, sy'n gwneud prosesu trafodion yn debycach i MySQL;
  • Cefnogaeth ychwanegol ar gyfer swyddogaethau ffenestr (swyddogaethau ffenestr neu swyddogaethau dadansoddol) sy'n gydnaws â MySQL 8.0. Mae swyddogaethau ffenestr yn caniatáu ichi wneud cyfrifiadau ar gyfer pob rhes ymholiad gan ddefnyddio rhesi eraill. Yn wahanol i swyddogaethau cyfanredol, sy'n cwympo set o resi wedi'u grwpio yn un rhes, mae swyddogaethau ffenestr yn agregau yn seiliedig ar gynnwys “ffenestr,” sy'n cynnwys un rhes neu fwy o'r set canlyniadau. Ymhlith y swyddogaethau ffenestr a weithredwyd:
    NTILE, LEAD, LAG, PERCENT_RANK, NTH_VALUE, CUME_DIST, FIRST_VALUE, LAST_VALUE, RANK, DENSE_RANK a ROW_NUMBER;

  • Ychwanegwyd cefnogaeth arbrofol ar gyfer safbwyntiau (VIEW);
  • Mae'r system rannu wedi'i wella, mae'r gallu i ddosbarthu data yn adrannau yn seiliedig ar ystod o werthoedd neu hashes wedi'i ychwanegu;
  • Mae fframwaith ar gyfer datblygu ategion wedi'i ychwanegu, er enghraifft, mae ategion eisoes wedi'u paratoi ar gyfer defnyddio rhestr wen IP neu gynnal log archwilio;
  • Mae cymorth arbrofol wedi'i ddarparu ar gyfer y swyddogaeth “DADANSODDIAD ESBONIADOL” ar gyfer llunio cynllun gweithredu ar gyfer ymholiad SQL (Rheoli Cynllun SQL);
  • Ychwanegwyd gorchymyn next_row_id i gael ID y rhes nesaf;
  • Ychwanegwyd swyddogaethau adeiledig newydd JSON_QUOTE, JSON_ARRAY_APPEND, JSON_MERGE_PRESERVE, BENCHMARK , COALESCE ac NAME_CONST.

Ffynhonnell: opennet.ru

Ychwanegu sylw