Technology sharing

Database cladis recuperatio |

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Apertum fontem ecosystem

Ut omnes novimus, mySQL databases primarias et secundarias (duos nodi) plerumque consequi altas notitias disponibilitatem per replicationem asynchronam et replicationem semi-synchronam (Semi-Sync). Primae et secundariae architecturae graves difficultates post HA mutandi occurrent. Probabilitas notitiarum inconstantiae erit (refertur ut RPO!=0).Quamdiu negotium notitia alicuius momenti est, non debes eligere productum datorum cum MySQL prima et secundaria architectura (duobus nodi).

MySQL communitas, quod attinet ad evolutionem multi-copi technologiae cum RPO=0:

  • MySQL fons publice apertus est et replicatio Group MySQL (MGR) summus promptitudinis solutionem secundum replicationem coetus fundavit.
  • Ali Cloud PolarDB-X , ex negotio poliendo et verificatione de Alibaba's e-commerce Duplex Undecies et multi-activitatis in diversis locis, in toto core mense Octobri 2021 fons apertus erit, MySQL apertum fontem ecosystematis plene complectens. PolarDB-X collocatur ut database centralizatum et distributum integratum. Eius notitia nodi Data Node (DN) adoptat se evoluta X-Paxos protocollo et valde compatitur cum MySQL 5.7/8.0 , sed etiam characteres maximi ponderis machinae transactionis, flexibilis operationis et conservationis calamitatis recuperationis habet, et notitia repositionis humilis sumptus: "PolarDB-X Patefacio |》。

PolarDB-X Notio integrationis centralised et distributae: nodi data DN sine forma adhiberi possunt ut forma centralised (vexillum versionis) quae plene compatitur cum forma database stanti-sola. Negotium cum crescit usque ad dilatationem distributa requiritur, architectura ad formam distributam in loco collocatur, et partes distributae compaginem cum notis originalibus adnexam habent et distributionem habere potes. Usability et scalabilitas hac formula, architecturae descriptione allata;"Centralized Distributed Integration"

MySQL's MGR et PolarDB-X norma versionis DN utraeque protocollo Paxos ab infimo principio utuntur. Hic articulus elaborat aspectibus comparationis architecturae, differentiarum clavis, et probatio comparationis.

MGR/DN abbreviationis descriptio: MGR significat technicam formae MySQL MGR, et DN technicam formam PolarDB-X repraesentat una DN centralised (vexilla versio).

TL, DR *

Analysis comparativa detailed respective longa est, ergo primam summam et conclusionem legere potes. Si summatim vis, summatim sequere et in articulis subsequentibus exquirere potes.

MySQL MGR non commendatur pro negotiis et societatibus generalibus quia technicam scientiam requirit et operationem et sustentationem quadrigis ut bene utatur. Hic articulus etiam tres "occultas foveas" de MySQL MGR imitatur, qui diu in industria versati sunt. :

  • Obscura Pit 1: MySQL MGR et XCOM protocolla plenam memoriam adhibent modum. Default not obviam datae constantiae spondet RPO=0 (forsit quaestio de notitia absentis in casu postea in hoc articulo). Proponere et configurare modulum ad id curandum.
  • Pitfall 2: Pauperes est effectus MySQL MGR cum mora retiacula est. Articulus probatus comparationem missionum retis 4-minutarum (including tres conclavia computatoria in eadem urbe et tria centra in duobus locis). parametri perficiendi civitatis, solum 1/5 illius in eadem urbe est.Ergo MySQL MGR aptior est usui in missione computatrali in eodem cubiculo, sed non aptus ad transversis computatorii cubiculum calamitatis recuperationis.
  • Fovea 3: In multi-copia architecturae MySQL MGR, defectus nodi standi causa negotiatio nodi domini Ducis ad 0 decidere faciet, quod communi sensui non congruit. Articulus intendit conatur ut modum unicum ducis MGR (praecedenti servi imaginis architecturae MySQL comparetur), duos actus temporis simulans et imaginem servi recuperandam Nodi (Dux) ut appareret. Negotiatio ad 0 (permans circiter 10 secundarum) delapsa est, et altiore operabilitatis et conservabilitas respective pauper erat.Ergo MySQL MGR relative altum requisita in operatione et sustentatione hospitii habet ac professionalem DBA manipulum requirit.

Comparatus cum MySQL MGR, PolarDB-X Paxos non habet foveas similes cum MGR secundum constantiam datae, cubiculi transversis computatris receptam calamitatem, et operationem nodi et sustentationem.

  • In missione simplici eiusdem cubiculi computatorii, lecta-tantum observantia sub humili concurrentia et munda scribentium observantia sub magno concursu paulo inferius quam MySQL MGR per circiter 5% locus est ulterioris vitae in effectu.
  • Commoda: 100% compatible cum lineamentis MySQL 5.7/8.0. Eodem tempore, meliores optimae optimizationes factae sunt in multi-exemplaribus standby database replicatione et viarum deficientium -minuta clade recuperatio missionis in industria.

1. Architecture comparationis

Glossarium

MGR/DN abbreviation description:

  1. MGR: Forma technica MySQL MGR, abbreviatio contentorum sequentium: MGR
  2. DN Alibaba Cloud PolarDB-X est forma technica centralised (nodi vexillum) DN data nodi distributa independenter a forma centralizata (versio vexillum) plene compatitur ut: DN

MGR

MGR unicum dominum et multi-dominium modos sustinet, et systematis replicationis MySQL plene reuses, inter Event, Binlog & Nullamlog, Applicare, Binlog Applicare Recuperationem, et GTID. Praecipua differentia a DN est quod aculeus punctum maioris negotii MGR ad consensum perveniendi est antequam negotium principale database committatur.

  • Dux
    1. Priusquam negotium committitur, antequam hamus committit munus sodalitatis_replicationis_trans_commissi vocatur ad maiorem replicationem ingredi MGR.
    2. MGR Paxos protocollo utitur ad synchronise Binlog Events conditivo in THD ad omnes nodos onlines
    3. Maiore responso accepto, MGR decernit transactionem subici posse
    4. THD intrat transactionis coetus submissionem processus incipit scribere loci Binlog update Redo respondeo clientem OK nuntius
  • sectator
    1. MGR's Paxos Engine pergit audire protocollum epistulae a Duce
    2. Post processum consensus Paxos completum, confirmatur hoc eventum (batch) maiorem in racemum pervenisse
    3. Event ut Nullam Stipes accepit scribere, IO Thread Applicare Nullam Log
    4. Nullam Log applicationem pertractat processum submissionis integram, et sto database demum suum documentum binlog generabit.

Causa quare MGR processum superius adoptat, est quia MGR in multi-domino modo defalta est, et uterque nodi scribere potest eam cum negotio scribenti accipit ut princeps ut se submittat, fasciculus binlogorum producitur ut rem finalem in duobus scenicis dimissionis processu submittat.

DN

DN reuses MySQL notae fundamentales structurae ac functionis codicis, sed arcte replicationem logam, administrationem stipes, logorum fabularum, et recuperationem ruinae cum protocollo X-Paxos formare suam partem maioris replicationis et status machinae mechanismum formare. Clavis differentia a MGR est quod punctum aculei maioris negotii ad DN ad consensum perueniendum est in principali negotii datorum processu submissionis.

  • Dux
    1. Intra coetus submissionis processum transactionis. In Flush periodo coetus submissionis, Eventus in singulis THD in tabella binlog scripta sunt, et tunc stipes asynchronously omnibus Sectatoribus per X-Paxos evulgatur.
    2. In Sync periodo coetus dicionis, Binlog primum perseveravit, deinde X-Paxos perseverantia renovata est.
    3. In Committe periodo coetus deditionis, primum exspecta X-Paxos ut maioris responsionis accipiatur, deinde coetui negotiorum submittere, et demum respondere cum OK nuntio e cliente.
  • sectator
    1. X-Paxos audire pergit epistulas a duce protocollo
    2. Eventus (group) scribe ad locorum Binlog et responde
    3. Proximus nuntius recipitur, qui defert indicem loci Commit ubi maior pars perventum est.
    4. Filum SQL Applicare pergit ut receptaculum Binlog in curriculo receptum applicare pergat, et solum pluribus ad summum locum applicat.

Causa huius consilii est quia DN in praesenti modo unicum dominum modum sustinet, ergo stipes in gradu X-Paxos est ipsum binlogum pari pretio.

2. Key differences

2.1.

MGR

  • MGR Paxos protocollum perficiendum est ex protocollo Mencii, quod pertinet ad theoriam Multi-Paxos.
  • MGR Paxos protocollum perficitur per XCOM partes et sustinet multi-dominum et singularem dominum modum instruere vexillum Multi-Paxos processum.
  • Ut pluribus de transactionibus satisfaciat, XCOM necesse est ut per tres saltem nuntium interationes de Accipe+AckAccept+ Disce, hoc est,Saltem 1.5 rtt supra caput.Postulat ut plurimum tres interationes nuntiorum: Para+AckPrepare+accipe+AckAccept+disce.Hoc est, maximum capitis 2.5 RTT in total
  • Cum Paxos protocollum perfectum sit cum summa cohaesione in XCOM moduli et replicationis systematis MySQL nesciente, Dux expectare debet processum Paxos integrum perficiendum antequam negotium localiter commiserit, etiam Binlog perseverantia et coetus submissionis.
  • Post plures obsequium sectator perficiet, eventus asynchrone perseverabit ad Nullam Log, et deinde applicationis sequela SQL et coetus productionem Binlog subiciet.
  • Cum truncus a Paxos synchronus est binlogus qui ante processum subiectionis ingredi non disponitur, ordo eventuum Binlog in Duce non idem esse potest ac ordo eventuum in Nullam Log in nodi sequentis.

DN

  • Protocollum DN Paxos fundatur in protocollo Raft et etiam pertinet ad theoriam Multi-Paoxs.
  • DN Paxos protocollum per X-Paoxs componentium completur. Defectus modus singularis est .
  • Ad maiorem partem negotii satisfaciendum, X-Paoxs tantum opus est ut per duas epistulas commercii Append+AckAppend ire, et solumI RTT caput
  • Postquam Dux trabem ad Sectantem mittit, dum maior pars satisfactum est, transactionem committit, non expectato Indice Committe in secundo stadio iaci.
  • Priusquam Sectator maioritatis obsequium implere potest, omnia transactiones perseverare debent. Hoc signanter differt a MGR scriptor XCOM.
  • Index Commit in subsequentibus nuntiis ac pulsationibus nuntiis traducitur et Eventus Applicatio Secuta peragit postquam CommitIndex sursum mittitur.
  • Binlog contenta Ducis et Sequentis in eodem ordine sunt, trabes Raft foramina non habent, et mechanismus Batching/Pipeline ad replicationem perput augendam adhibetur.
  • Comparatus cum MGR, Dux semper unam moram rotunditatem habet cum transactione committitur.maximo discrimine applicationes pro mora-sensitivo distributae

2.2. RPO

Theoretice sive Paxos et Raft notitias constantiae efficere possunt et tigna quae ad maiorem partem pervenerunt post Crash Recuperatio non amittetur, sed adhuc differentiae sunt in inceptis specificis.

MGR

XCOM protocollo Paxos perfecte encapsulat, et omnia eius protocollo in memoria primo condiuntur. In casu ubi plerique pies decedunt et dux deficit, grave problema erit de RPO!=0.Summam sem:

  1. Botrus MGR tribus nodis ABC constat, e quibus AB locus computatorii sui iuris in eadem urbe est et C nodi crucis est. A est Dux, BC est nodi imitator
  2. Initium negotii 001 in ducem A nodi. Sectio AB plures formavit, et nodi C trabem transactionis 001 ob moras retis transversis non recepit.
  3. Insequenti momento Dux A rem gestam 001 submittit et eventum Client redit, quod significat transactionem 001 datorum exhibitam esse.
  4. Hoc momento, in nodi Secta B, index transactionis 001 adhuc in XCOM cache est et tempus non rubicundum ad NullamLog habuit; a duce nodi A log.
  5. Hoc tempore, nodi AB descendit, nodi A deficit et diu recuperari non potest, node B sileo ac cito recuperat, nodi BC pergunt ad operas legendas et scribendas.
  6. Cum negotium 001 stipes 001 ad NullamLog nodi B in down tempore non perstitit neque a nodo C receptus est, ergo hoc momento, nodi BC 001 transactionem amisit et recuperare non potest.
  7. In hoc missione ubi maior pars descendit, RPO!=0

Sub ambitu defalta communitatis, plures negotiorum pertinaciam logam non requirit nec spondet RPO=0. Hoc considerari potest mercatura-off ad effectum deducendi in exsequenda propositi XCOM. Ut absolutum RPO=0, configurare debes parametri group_replication_ constantiam quae moderatur legere et scribere constantiam in POST. et effectus pauperrimus erit.

DN

PolarDB-X DN utitur X-Paxos ad protocollum distributum efficiendum et ad processum committendum coetus MySQL ne- que tenetur. Pleraque orbis collocatio hic refert ad collocationem Binlog bibliothecae principalis. Itaque, etiamsi omnes nodi in extremis missionibus deficiunt, notitia non amittetur et RPO=0 praestari potest.

2.3. RTO

Tempus RTO intime coniungitur cum tempore supra caput frigoris ipsius systematis sileo, quod in peculiaribus functionibus fundamentalibus resultat;Culpa detectio mechanism-> ruina recuperatio mechanism-> dominus lectio mechanism-> stipes libratio

2.3.1.

MGR

  • Singulis nodi periodice pulsus cordis pulsationem ad alios nodi mittit ad reprimendam utrum alii nodi sani sint.
  • Si nodi currentes reperit alios nodi non respondisse post group_replication_member_expel_timeout (default 5s), nodi incassum reputabitur et e botro proiciendus erit.
  • Propter exceptiones ut retis interruptionem vel sileo abnormes, postquam reticulum restitutum est, una nodi defecit nodi conabitur sponte botrum iungere ac deinde truncum ligare.

DN

  • Dux nodi per intervalla pulsationem nodi mittit ad alios nodi ad reprimendum utrum alii nodi sani sint. Electio timeout per consensum_election_timeout parametri regitur. Defalta 5s est, sic dux nodi pulsationis temporis defaltam facit ad 1s.
  • Si Dux alios nodi esse offline invenerit, perget ut periodice pulsus pulsationem omnibus aliis nodi mittat, ut alii nodi accedere possint tempore postquam fragores et convalescant.Dux tamen nodi acta acta ad nodi offline iam non mittit.
  • Nodi non-ductoris deprehensionis pulsationes cordis pulsationes non mittent, sed si nodi non-ductor invenerit quod pulsatio cordis a nodo duce post consensum_election_timeout non receperit, re-electio Urguet.
  • Propter exceptiones ut retis interruptio vel sileo abnormalis, retis restituto, nodi vitiosa sponte botrum iungent.
  • Ergo, in verbis culpae deprehensionis, DN maiorem operationem et conservationem configurationis interfacies praebet, et identificatio vitiorum in transversis urbis missionibus accuratior erit.

2.3.2.

MGR

    • Protocollum Paxos effectum per XCOM in statu memoriae est. Pluris consecutio perseverantiam non requirit.Si omnes nodi pendent, protocollum restitui non potest.
    • Si una tantum nodi inruerit et recuperatur, sed nodi sequentis post nodi ducem cum pluribus transactionibus lignis demittit, et XCOM acta acta in Duce reclusa sunt, sola optio est ut processus Globale Recuperatio vel Clone.
    • XCOM magnitudo cache regitur ab group_replication_message_cache_size, defalta 1GB
    • Global Recuperatio significat cum nodi botrum coniungit, datam recuperare impetrando acta absentis transactionis (Binarii Log) ex aliis nodis.Hic processus nititur saltem unus nodi in botro omnia requisita transactiones retinens
    • Clone innititur in Clone Plugin, quae ad recuperationem adhibetur cum copia notitiarum magnae vel multae iniuriae desunt.Operatur exscribendo snapsum totius datorum ad nodi crepitum, quem sequitur finale sync cum stipes recentissimae transactionis
    • Global Recuperatio et Clone processus plerumque automati sunt, sed in aliquibus casibus specialibus, ut problemata retis vel XCOM aliorum duorum nodi eiectata est, interventus manualis requiritur.

DN

    • Protocollum X-Paxos pertinacia Binlog utitur. Pro transactionibus pendentibus, debes expectare XPaxos tabulatum protocollum ut concordiam attingas ad constituendum dominum-tergum relationem antequam negotium committat vel revolvat. Totum processum plene automated est.Etsi omnes nodi descendunt, botrus statim post restarting recuperare potest.
    • Pro missionibus ubi nodi pedis post ducem nodi pigri sunt in multis transactionibus congestis, dum fasciculus binlogorum in ducem non deletur, nodi sequentis certum assequuntur.
    • Ergo, in terminis recuperationis ruinae, DN interventus manualis omnino non requirit.

2.3.3.

In uno-magistri modo, MGR scriptor XCOM et DN X-Paxos, modus ducis fortis, idem principium principale ad eligendum ducem - tigna quae ab botro pacta sunt revolvi non possunt. Sed quantum ad inconsensum, sunt differentiae

MGR

  • Dux selectio magis est de qua nodi servient, quam dux servitii proximus.Hic Dux non necessario habet novissimum consensum cum eligitur, ideo necesse est ut tabulas recentissimas e nodis aliis in botro synchronas habere, et operas legere et scribere post tigna ligata praebere.
  • Commodum huius rei est quod electio ipsius ducis est opportuna producta, ut pondus et ordo. MGR moderatur pondus uniuscuiusque nodi per parametri group_replication_member_weight
  • Incommodum est quod ipse Dux noviter electus magnam moram replicationis habere potest et debet pergere ad stipitem adsequi, vel magnam moram applicationis habere ac pergere pergere ad applicationem cum sextario antequam legere et praebere possit. operas scribere.Hoc evenit longiore RTO tempore

DN

  • Electio ducis in sensu protocolli est. Quicquid nodi habet tigna omnium plurium partium in botro, princeps eligi potest, ut hic nodi assecla vel caespes ante fuerit.
  • Logger non potest legere et scribere officia.
  • Ut nodi designatus fiat dux, DN utitur consilio ponderis optimistici + mandatorii ponderis militarium ad modum ordinis ducendi, et utitur mechanismo opportuna maioritatis, ut novus dominus statim legere et scribere possit providere. officia nulla mora.
  • Itaque, secundum electionem ducis, DN non solum eandem electionem opportunam quam MGR sustinet, sed etiam pondus strategies mandatarium sustinet.

2.3.4.

Coaequatio log significat moram replicationis esse in lignis inter databases primarium et secundarium, et secundarium datorum opus est ligna aequare. Nodi enim, qui sileo et restituti sunt, recuperatio plerumque cum sto database incepit, et replicatio dilatio iam facta est cum principali database, et ligna cum database principali rapienda sunt. Nodi enim illi qui corporaliter longe sunt a Duce, plures attingentes nihil habent quod cum illis faciant. Hae condiciones specificas exsecutionem machinarum requirunt ad solutionem opportunam retolutione morarum.

MGR

  • Acta acta omnia in XCOM cella sunt, et cella tantum 1G defalta est. Ideo cum nodi assecla qui longe post sunt in petitionibus replicandis trabes, cella purgari facile est.
  • Hoc tempore, sequitor pigri sponte e botro proicietur, et tum Recuperatio Global seu Clone processum supra memoratum ad ruinam recuperandi utere, et tunc sponte botrum post captas iunget.Si occurrantExempli gratia, problemata retis, vel cella XCOM aliorum duorum nodi purgatur, in quo casu interventus manualis quaestionem solvere requiritur.
  • Cur primum botrum calcitrare debemus? Quia vitiosa nodi in multi- scriptione modum effectus magnopere afficit, et cella ducis in eo nihil habet.
  • Cur non possumus directe legere file loci ducis Binlog?

DN

  • Data omnia in fasciculo binlog.
  • Ad redigendum IO jitter causata bibliotheca principalis legendi acta vetusta acta e file binlog, DN prioritatem praebet ut recentissima acta conditivorum transactionis e FIFO Cache est 64M
  • Si vetus transactionis stipes in FIFO Cache ablatae sunt per logam transactionis renovatae, DN conabimur legere transactionem antea conditivorum e Prefetch Cache.
  • Si iniuriarum vetus transactionis in Praefetch Cache non requiritur, DN conabitur inchoare negotium asynchronum IO, plures ante et post tigna continuata legere ante et post certa transactionis stipes ex fasciculo binlogorum in batches, pone in Prefetch Cache, et expecta ad Dn's next Retry reading
  • Ergo DN non omnino requirit interventum manualem cum ad omnia conpensationem.

2.4.

Mora sto database playback est mora inter tempus quo idem negotium perficitur in principali datorum et tempore quo negotium applicatur in sto database. Afficit quousque sumpsit ut database sto ad perficiendum data applicatione sua et operas legendas et scribendas praebeat cum exceptione occurrat.

MGR

  • MGR sto datorum datorum NullamLog fasciculum ex principali datorum accipit. Cum applicatione applicando, opus est ut NullamLog iterum legas, per processum submissionis completi duo coetus stadii, et data debita et binlog fasciculas efficies.
  • Negotium applicationis efficientiae hic idem est ac efficientia transactionis submissionis in principali database. Default unius configurationis duplices (innodb_flush_log_at_trx_commit, sync_binlog) idem auxilium faciet supra caput standby applicationis datorum ut magnum sit.

DN

  • DN tergum datorum Binlog fasciculum datorum praecipuorum accipit. Cum applicando, Binlog iterum legi debet.
  • Cum DN subsidia integram Crash Recupera, standum applicationis datorum non indiget ut innodb_log_at_trx_commit=1, ideo non actu duplici configuratione afficitur.
  • Ergo, secundum moram playback datorum standby, DN sto- lorum playback datorum efficientia multo maior erit quam MGR.

2.5.

Magnae transactiones non solum ad obsequium ordinariarum transactionum afficiunt, sed etiam stabilitatem totius protocolli in systemate distributo affecto afficiunt.

MGR

  • MGR Optimization nullam habet ad magnas transactiones sustinendas. Modo addit modulum group_replication_transaction_size_limes ad modum superiorem rerum magnarum refrenans.
  • Cum transactionis index magnum transactionis modum excedit, error directe nuntiabitur et transactio subici non potest.

DN

  • Ut inconstantiam solvendam problema systematum distributorum ex magnis negotiis causatis, DN solutionem magnarum transactionis scindendi + capacis obiecti scindendi ad problema solvendum scindet parvis caudices, sulum parvum truncum transactionis stipes plenum Paxos adhibet fideiussorem
  • Fundata solutione magnarum transactionum scindendi, DN restrictiones aliquas non imponit in rerum magnarum magnitudine.
  • Ad singula mandata vide"PolarDB-X Engine Core Technology | Large Transaction Optimization"
  • Ergo DN res magnas pertractare potest quin magnis rebus afficiatur.

2.6

MGR

  • MGR unicum dominum ac multi-magistri modos instruere sustinet. In modo multi-domino, uterque nodi legi et scribi potest. unicus.
  • MGR summus disponibilitas instruere saltem tres nodi instruere requirit, hoc est, tria saltem exemplaria datarum et lignorum.
  • MGR expansionem nodis lectitant non sustinet, sed MGR + servili replicationem modo ad similes topologiam expansionem assequendam sustinet.

DN

  • DN unicum dominum modum instruere sustinet. In uno magistro modo, principale datorum legi et scribi potest, et standum datorum solum solum legi potest.
  • Dn summus disponibilitas instruere tres saltem nodos requirit, sed exemplum Logger forma, id est Dux et Secta, exemplaria plena sunt creati sunt. In hoc casu, tres nodi summus disponibilitas instruere solum requirit reposita supra caput 2 exemplarium notitiarum + 3 exemplarium lignorum, instruere parvo pretio.
  • DN subsidia solum nodi instruere et legere-solum exemplum discenti forma.

2.7.

MGR

DN

Protocol efficientiam

Re deditionem tempus

1.5~2.5 RTT

1 RTT

Maioritas Perseverantia

XCOM nisi memoria

Binlog perseverantia

reliability

RPO=0

Non praestatur per defaltam

plene praestatur

Culpa deprehensio

Omnes nodi se invicem reprehendo, onus retis altum est

Cordis exolvuntur non urna

Dominus nodi periodice alias lymphaticorum

Cordis exolvuntur parametri Novifacta

Plures Collapse Recuperatio

manual interventu

Lorem recuperatio

Minoritas Credo Recuperatio

Recuperatio automatic in pluribus, interventus manualis in specialibus adiunctis

Lorem recuperatio

Elige dominum

Libere ordinem electionis

Libere ordinem electionis

Log tie

Tigna pigri non excedunt XCOM 1GB cache

BInlog files non sunt deleta

Sto database playback mora

Duo gradus + duplex unum, tardissimum

Unus scaena + duplex nulla, velocior

Magnum negotium

Congue modus est ultra 143MB

Nulla mole modus

forma

Princeps disponibilitate pretium

Plene tria exemplaria operata sunt, 3 exemplaria datarum repositionum supra caput

Logger log copy, 2 exemplaria data storage

legere solum nodi

Impleri cum domino servo replicationem

Protocollum venit cum Leaner legere solum effingo implementation

3. Test comparationis

MGR in MySQL 5.7.17 introducta est, sed plures lineamenta MGR relatas in MySQL 8.0 tantum in promptu sunt, et in MySQL 8.0.22 et in recentioribus versionibus altiore effectus stabilior et certior erit. Ideo postremam versionem 8.0.32 utriusque partis pro probatione comparativa delegimus.

Considerans differentias in ambitibus testium, compilationem methodi, methodos instruere, parametris operandi, methodos tentare in probatione comparativa PolarDB-X DN et MySQL MGR, quae ad inaccuratam probationem comparationis datam ducere possunt, hic articulus varias in singulas partes collocabit. .

test praeparatio

PolarDB-X DN

MySQL MGR[1]

Hardware environment

Eadem physica machina cum 96C 754GB memoria et SSD orbis

sistema operatum

Linux 4.9.168-019.ali3000.alios7.x86_64

Kernel version

Usus baseline nucleo in communi versione 8.0.32 . fundatur

Compilation methodo

Compilare cum eodem RelWithDebInfo

Operating parametri

Eodem PolarDB-X utere , ut 32C128G venderet cum eisdem specificationibus et parametris

Modum instruere

Unius dominus modus

Nota:

  • MGR imperium influit per defaltam, cum PolarDB-X DN fluxus dominii per defaltam avertit.Ergo separatim MGR configuratur coetus_replicationis modus, ut optimus effectus MGR erit.
  • MGR manifestam habet lectionem bottleneck in enumeratione, ita MGR replicatio seorsim configuratur et efficit, ut MGR legentis solum effectus sit optimus.

3.1.

Euismod probatio prima est, quisque attendit datorum deligendo. Hic utimur instrumento officiali sysbench ad aedificandas XVI tabulas, unaquaeque cum X milliones datarum, ut perficiat experimentum in missionibus OLTP, et probamus et comparamus effectum duarum sub diversis condicionibus concurrentiae in diversis missionibus OLTP.Variis instituti condicionibus consideratis, quattuor sequentes missiones respective instruere simulamus:

  1. Tres nodi in eodem cubiculo computatorio explicantur. Est mora retis 0.1ms cum machinae se invicem pingunt.
  2. Tres centra in eadem urbe et tres cubicula computatoria in eadem regione tres nodos explicant. Est mora retis 1ms pingendi inter conclavia computatoria (exempli gratia: tres conclavia computatoria in Shanghai)
  3. Tres centra in duobus locis, tres nodi in tribus cubiculis computatoriis in duobus locis explicantur, 1ms retis inter cubicula computatoria in eadem urbe, 30ms retis mora inter eandem urbem et alium locum (exempli gratia: Shanghai/Shanghai/Shenzhen)
  4. Tres centra in tribus locis, tres nodi in tribus cubiculis computatoriis in tribus locis explicantur (exempli gratia: Shanghai/Hangzhou/Shenzhen), mora retiacula inter Hangzhou et Shanghai circiter 5ms est, et longissima distantia ab Hangzhou/Shanghai ad Shenzhen est 30ms. .

illustrare;

a.

b sem instruere.

  • MGR_0 repraesentat notitia pro casu MGR RPO = 0
  • MGR_1 significat data pro casu MGR RPO <> 0
  • DN repraesentet data pro DN RPO = 0

3.1.1

1

4

16

64

256

oltp_read_only

MGR_1

688.42

2731.68

6920.54

11492.88

14561.71

MGR_0

699.27

2778.06

7989.45

11590.28

15038.34

DN

656.69

2612.58

7657.03

11328.72

14771.12

MGR_0 nobis MGR_1

1.58%

1.70%

15.45%

0.85%

3.27%

DN nobis MGR_1

-4.61%

-4.36%

10.64%

-1.43%

1.44%

DN nobis MGR_0

-6.09%

-5.96%

-4.16%

-2.26%

-1.78%

oltp_read_write

MGR_1

317.85

1322.89

3464.07

5052.58

6736.55

MGR_0

117.91

425.25

721.45

217.11

228.24

DN

360.27

1485.99

3741.36

5460.47

7536.16

MGR_0 nobis MGR_1

-62.90%

-67.85%

-79.17%

-95.70%

-96.61%

DN nobis MGR_1

13.35%

12.33%

8.00%

8.07%

11.87%

DN nobis MGR_0

205.55%

249.44%

418.59%

2415.07%

3201.86%

oltp_write_only

MGR_1

761.87

2924.1

7211.97

10374.15

16092.02

MGR_0

309.83

465.44

748.68

245.75

318.48

DN

1121.07

3787.64

7627.26

11684.37

15137.23

MGR_0 nobis MGR_1

-59.33%

-84.08%

-89.62%

-97.63%

-98.02%

DN nobis MGR_1

47.15%

29.53%

5.76%

12.63%

-5.93%

DN nobis MGR_0

261.83%

713.78%

918.76%

4654.58%

4652.96%

Ex probatis eventibus videri potest:

  • In missione tantum legitur, sive comparet MGR_1 (RPO<>0) vel MGR_0 (RPO=0), differentia inter DN et MGR stabilis est inter -5% et 10%, quae basically eadem considerari potest. Utrum RPO sit = 0 effectum non habet in lege solum transactions
  • In mixtis lectis-scribendis et scribendo solum transactionem missionis, effectus DN (RPO=0) emendatur per 5% ad 47% comparatus cum MGR_1 (RPO<>0), et utilitas DN efficiendi perspicuum est cum in concursus est humilitas, et utilitas cum con- sensus alta est inobviois lineamentis. Causa est, quia protocollum efficientia DN altior est cum concursus humilis est, sed effectus hotspotum DN et MGR sub magno concursu omnes in purgando sunt.
  • Sub eadem praemissa RPO=0, in missionibus mixtis legendis scribe et scribendo-modo transactiones, perficiendum DN emendatur per 2 vicibus ad 46 tempora cum MGR_0, et, cum concursus crescit, utilitas DN augetur effectus. Minime mirum MGR etiam RPO=0 perficiendi per defaltam deserit.

3.1.2.

TPS comparationis

1

4

16

64

256

oltp_read_only

MGR_1

695.69

2697.91

7223.43

11699.29

14542.4

MGR_0

691.17

2708.6

7849.98

11636.94

14670.99

DN

645.11

2611.15

7628.39

11294.36

14647.22

MGR_0 nobis MGR_1

-0.65%

0.40%

8.67%

-0.53%

0.88%

DN nobis MGR_1

-7.27%

-3.22%

5.61%

-3.46%

0.72%

DN nobis MGR_0

-6.66%

-3.60%

-2.82%

-2.94%

-0.16%

oltp_read_write

MGR_1

171.37

677.77

2230

3872.87

6096.62

MGR_0

117.11

469.17

765.64

813.85

812.46

DN

257.35

1126.07

3296.49

5135.18

7010.37

MGR_0 nobis MGR_1

-31.66%

-30.78%

-65.67%

-78.99%

-86.67%

DN nobis MGR_1

50.17%

66.14%

47.82%

32.59%

14.99%

DN nobis MGR_0

119.75%

140.01%

330.55%

530.97%

762.86%

oltp_write_only

MGR_1

248.37

951.88

2791.07

5989.57

11666.16

MGR_0

162.92

603.72

791.27

828.16

866.65

DN

553.69

2173.18

5836.64

10588.9

13241.74

MGR_0 nobis MGR_1

-34.40%

-36.58%

-71.65%

-86.17%

-92.57%

DN nobis MGR_1

122.93%

128.30%

109.12%

76.79%

13.51%

DN nobis MGR_0

239.85%

259.96%

637.63%

1178.61%

1427.92%

Ex probatis eventibus videri potest:

  • In missione tantum legitur, sive comparet MGR_1 (RPO<>0) vel MGR_0 (RPO=0), differentia inter DN et MGR stabilis est inter -7% et 5%, quae basically eadem considerari potest. Utrum RPO sit = 0 effectum non habet in lege solum transactions
  • In mixto lectu-scribo et scribendo solum negotium missionem, effectus DN (RPO=0) emendatur per 30% ad 120% comparatus cum MGR_1 (RPO<>0), et utilitas DN effectus manifesta est cum concursus humile est, et cum in alto est concursus, effectus melioris notae inobvia. Causa est, quia protocollum efficientia DN altior est cum concursus humilis est, sed effectus hotspotum DN et MGR sub magno concursu omnes in purgando sunt.
  • Sub eadem praemissa RPO=0, in missionibus mixtis legentibus et scribentibus solum gestum est, effectus DN emendatur per 1 ad 14 tempora cum MGR_0, et, cum concursus crescit, utilitas DN augetur. Minime mirum MGR etiam RPO=0 perficiendi per defaltam deserit.

3.1.3.

TPS comparationis

1

4

16

64

256

oltp_read_only

MGR_1

687.76

2703.5

7030.37

11580.36

14674.7

MGR_0

687.17

2744.41

7908.44

11535.35

14656

DN

657.06

2610.58

7591.21

11174.94

14545.45

MGR_0 nobis MGR_1

-0.09%

1.51%

12.49%

-0.39%

-0.13%

DN nobis MGR_1

-4.46%

-3.44%

7.98%

-3.50%

-0.88%

DN nobis MGR_0

-4.38%

-4.88%

-4.01%

-3.12%

-0.75%

oltp_read_write

MGR_1

29.13

118.64

572.25

997.92

2253.19

MGR_0

26.94

90.8

313.64

419.17

426.7

DN

254.87

1146.57

3339.83

5307.85

7171.95

MGR_0 nobis MGR_1

-7.52%

-23.47%

-45.19%

-58.00%

-81.06%

DN nobis MGR_1

774.94%

866.43%

483.63%

431.89%

218.30%

DN nobis MGR_0

846.07%

1162.74%

964.86%

1166.28%

1580.79%

oltp_write_only

MGR_1

30.81

145.54

576.61

1387.64

3705.51

MGR_0

28.68

108.86

387.48

470.5

476.4

DN

550.11

2171.64

5866.41

10381.72

14478.38

MGR_0 nobis MGR_1

-6.91%

-25.20%

-32.80%

-66.09%

-87.14%

DN nobis MGR_1

1685.49%

1392.13%

917.40%

648.16%

290.73%

DN nobis MGR_0

1818.10%

1894.89%

1413.99%

2106.53%

2939.12%

Ex probatis eventibus videri potest:

  • In missione tantum legitur, sive comparet MGR_1 (RPO<>0) sive MGR_0 (RPO=0), differentia inter DN et MGR stabilis est inter -4% et 7%, quae basically eadem considerari potest. Utrum RPO sit = 0 effectum non habet in lege solum transactions
  • In mixtis lectis-scribendis et scribendo solum transactionem missionis, effectus DN (RPO=0) emendatur a 2 vicibus ad 16 vicibus cum MGR_1 (RPO<>0), et utilitas DN effectus manifesta est cum concursus humile, commodumque cum concurrit alte Inobviois. Causa est, quia protocollum efficientia DN altior est cum concursus humilis est, sed effectus hotspotum DN et MGR sub magno concursu omnes in purgando sunt.
  • Sub eadem praemissa RPO=0, in missionibus mixtis legentibus et scribentibus solum transactionem, DN effectus per 8 vicibus ad 29 vicibus MGR_0 comparatus emendatur, et, cum concursus crescit, utilitas DN augetur. Minime mirum MGR etiam RPO=0 perficiendi per defaltam deserit.

3.1.4.

TPS comparationis

1

4

16

64

256

oltp_read_only

MGR_1

688.49

2747.69

7853.91

11722.71

15292.73

MGR_0

687.66

2756.3

8005.11

11567.89

15055.69

DN

656.06

2600.35

7657.85

11227.56

14562.86

MGR_0 nobis MGR_1

-0.12%

0.31%

1.93%

-1.32%

-1.55%

DN nobis MGR_1

-4.71%

-5.36%

-2.50%

-4.22%

-4.77%

DN nobis MGR_0

-4.60%

-5.66%

-4.34%

-2.94%

-3.27%

oltp_read_write

MGR_1

26.01

113.98

334.95

693.34

2030.6

MGR_0

23.93

110.17

475.68

497.92

511.99

DN

122.06

525.88

1885.7

3314.9

5889.79

MGR_0 nobis MGR_1

-8.00%

-3.34%

42.02%

-28.19%

-74.79%

DN nobis MGR_1

369.28%

361.38%

462.98%

378.11%

190.05%

DN nobis MGR_0

410.07%

377.34%

296.42%

565.75%

1050.37%

oltp_write_only

MGR_1

27.5

141.64

344.05

982.47

2889.85

MGR_0

25.52

155.43

393.35

470.92

504.68

DN

171.74

535.83

1774.58

4328.44

9429.24

MGR_0 nobis MGR_1

-7.20%

9.74%

14.33%

-52.07%

-82.54%

DN nobis MGR_1

524.51%

278.30%

415.79%

340.57%

226.29%

DN nobis MGR_0

572.96%

244.74%

351.15%

819.15%

1768.36%

Ex probatis eventibus videri potest:

  • In missione tantum legitur, sive comparet MGR_1 (RPO<>0) vel MGR_0 (RPO=0), differentia inter DN et MGR stabilis est inter -5% et 0%, quae basically eadem censeri potest. Utrum RPO sit = 0 effectum non habet in lege solum transactions
  • In mixtis lectis-scribendis et scribendo solum transactionem missionis, effectus DN (RPO=0) emendatur a 2 vicibus ad 5 vicibus cum MGR_1 (RPO<>0), et utilitas DN effectus manifesta est cum concursus humile, commodumque cum concurrit alte Inobviois. Causa est, quia protocollum efficientia DN altior est cum concursus humilis est, sed effectus hotspotum DN et MGR sub magno concursu omnes in purgando sunt.
  • Sub eadem praemissa RPO=0, in missionibus mixtis legentibus et scribentibus solum gestum, perficiendum DN emendatur per 2 vicibus ad 17 vicibus MGR_0 comparatum, et, cum concursus crescit, utilitas DN augetur. Minime mirum MGR etiam RPO=0 perficiendi per defaltam deserit.

3.1.5.

Ut clare comparemus mutationes perficientur sub diversis methodis instruere, TPS notitias MGR et DN sub diversis rationibus instruere sub modo s Comparavit TPS notitia diversorum instituti methodorum. Rationem collocare ad perspiciendam differentiam in mutationibus in transversis urbis instruere

MGR_1 (256 concurrente)

DN (256 concurrente)

Commoda DN cum MGR . comparati

Eodem computatrum locus

16092.02

15137.23

-5.93%

Tres centra in eadem civitate

11666.16 (72.50%)

13241.74 (87.48%

+13.50%

Duo loca et tria centra

3705.51 (23.03%)

14478.38 (95.64%)

+290.72%

Tria loca et tria centra

2889.85 (17.96%)

9429.24 (62.29%)

+226.28%

Ex probatis eventibus videri potest:

  • Dilatatione instituti methodi, TPS of MGR_1 (RPO<>0) signanter decidit crucis-urbis (tria centra in duobus locis, tria centra in tribus locis) decre- mentum 77%~82% instruere, quod ob augmentum instruere in transversis RT.
  • DN (RTO=0) est relative stabilis. Comparatum cum instruere in eodem conclavi computatorio, instruere cubicula transversalis computatri in eadem urbe et instruere trium centra in duobus locis a 4% ad 12% omissis. . Executio instruere tria centra in tribus locis emissis 37% sub alta retiacula latency.Nihilominus, per mechanismum DN Batch & Pipeline, impetus crucis civitatis solvi potest concurrentia augendo. Exempli gratia, sub tribus locis et tribus centri architectura, cum >=512 concurrentia, in eadem urbe et duobus effectibus perput. loca et tria centra basically aligned possunt.
  • Videri potest instruere crucem-civitatem magnam momenti in MGR_1 (RPO<>0)

3.1.6

In usu ipso, non solum operam ad notitias faciendas, sed etiam operam ad jitter faciendum attendere oportet. Ceterum, si jitter similis est cylindro coaster, experientia ipsa usoris pauperrimus erit. Monitor nos et TPS real-time output data propono.

  • Coefficiens variationis (CV): Coefficiens variationis est vexillum declinationis a medio divisum. Solet comparare ambigua notitiarum diversorum, praesertim cum differentiae mediae magnae sunt. Quanto maior CV, maior fluctuatio notitiae ad medium.

Assumpto exemplo missionis 256 concurrentibus oltp_read_Scribe, peraeque TPS ipsius MGR_1 (RPO<>0) et DN (RPO=0) in eodem conclavi computandi, tria centra in eadem urbe, tria centra in duobus locis et tria sedium, in three places. Ipsum graphi jitterae sic se habet, et indicatio actualis indicativi cuiusque missionis hoc modo est:

CV

Eodem computatrum locus

Tres centra in eadem civitate

Duo loca et tria centra

Tria loca et tria centra

MGR_1

10.04%

8.96%

6.02%

8.63%

DN

3.68%

3.78%

2.55%

4.05%

MGR_1/DN

272.83%

237.04%

236.08%

213.09%

Ex probatis eventibus videri potest:

  • MGR TPS in statu instabili in missione scribenda est, et sine causa repente acriter cadit. Prae DN valde firmum est.
  • Coaefficiens variationis CV, MGR CV maxima est, 6% ad 10%, atque etiam maximum valorem 10% attingit, cum mora in eodem cubiculi computatro minima est, dum DN CV stabilis est relative, 2% ad 4 %, et actio DN stabilior est quam MGR
  • Videri potest quod jitterae MGR_1 (RPO<>0) perficiendam esse magnam

3.2. RTO

In nucleo notae datorum distributae prompta promptitudo est. Defectus nodi cuiuslibet in botro non afficit promptitudinem altiorem. Ad formam instruere typicam 3 nodis cum uno magistro et duobus tergum in eodem conclavi explicantibus, usabilitatis probationes in tribus sequentibus missionibus gerere conati sumus;

  • Interpella database principale, deinde sileo illud, et serva RTO tempus botri ad disponibilitatem in processu restituendi.
  • Interpellare aliquem sto- datorum ac deinde sileo illud ut observare disponibilitatem perficiendi primariae datorum in processu.

3.2.1.

Cum non est onus, interfice ducem et monitor status vices cuiusque nodi in botro et sive sit writable.

MGR

DN

Satus Northmanni

0

0

princeps occidere

0

0

Abnormes nodi tempus invenerunt

5

5

Tempus ad redigendum III lymphaticorum ad II lymphaticorum

23

8

MGR

DN

Satus Northmanni

0

0

occidere ducem, automatice sursum trahere

0

0

Abnormes nodi tempus invenerunt

5

5

Tempus ad redigendum III lymphaticorum ad II lymphaticorum

23

8

II nodi restituat III nodi tempore

37

15

Videri potest e euentu euentuum nulla pressione condiciones:

  • RTO of DN est 8-15s, accipit octo s nodos reducere ad 2 nodos, et 15s ad tres nodos restituendos;
  • RTO of MGR est 23-37s. Capit 23s ad descendendum ad 2 nodos et 37s ad restituendum 3 nodos.
  • RTO perficiendi DN altiore melius MGR

3.2.2.

Utere sysbench ut concurrentem accentus experimentum 16 staminum in missionis oltp_read_scribit.

Ex testi eventus chart videri potest:

  • Post standby database interpolatum, MGR principale datorum TPS significanter decidit, et circiter XX secundis ante reditum ad gradus normales duravit. Secundum analysin logam, duo hic sunt processus: detecte nodi vitiosus factus esse impossibile et nodi vitiosus e glomerulo MGR calcitrantes. Haec probatio vitium confirmavit, quod in MGR communitate diu grassabatur.Totus botrus graves Jitteras per aliquod temporis spatium expertus est ac pervulgatus factus est.
  • Ad quaestionem solvendam unius magistri MGR cum defectu nodi unici et instantia tota pervulgata, communitas MGR paxos unici ducis munus ab 8.0.27 ad solvendum quaestionem induxit, sed per defaltam avertit. Hic convertimus in group_replication_paxos_single_leader et pergo cognoscere. Intermisso sto datorum hoc tempore, exsecutio database principalis manet stabilis et leviter emendavit.
  • Nam DN, postquam intermissum est sto- datorum datorum, principale datorum TPS statim per circiter 20% auctum est, et tunc stabilis mansit, et botrus semper in promptu fuit.Hoc est contrarium MGR. Ratio est quia, intermisso sto database, principale database tantum opus est ut ligna mittat ceteris standby datorum singulis diebus, et retis fasciculus mittens et recipiens processus efficacior est.

Continuantes probationem, sileo ac stolidorum datorum restituimus et observamus mutationes in TPS notitia principalis datorum.

Ex testi eventus chart videri potest:

  • MGR recepit ab 2 nodi ad 3 nodi in 5 secundis.Sed locus quoque est ubi bibliotheca principalis perpendat, quae circiter XII secundis durat.Etsi nodi sto tandem botri coniuncti sunt, status MEMBER_STATE RECEPTUS semper fuit, significans notitias hoc tempore sequi.
  • In missione post group_replication_paxos_single_leader efficiatur, sileo datorum standum etiam verificatur.Sed adhuc tempus pervulgatum fuit circa 7 seconds perdurans.Videtur hunc modulum problema unius magistri MGR omnino solvere non posse, unicum nodi defectum et totam instantiam pervulgatum.
  • Pro DN, standby database a 2 nodi ad 3 nodi in 10 secundis recuperat, et primarium database in promptu manet. Fluctuationes breves in TPS hic erunt. Hoc est, quia mora replicationis stipes e stando datorum demissa est, et tigna pigri opus e database principali evelli debent principale database.

3.3. RPO

Ad maiorem defectum RPO<>0 missionis construendam, propria MTR Casus communitatis methodo ad culpam injectionem probandam in MGR faciendam. Casus designatus sic est:

  1. --echo
  2. --echo ############################################################
  3. --echo # 1. Deploy a 3 members group in single primary mode.
  4. --source include/have_debug.inc
  5. --source include/have_group_replication_plugin.inc
  6. --let $group_replication_group_name= aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
  7. --let $rpl_group_replication_single_primary_mode=1
  8. --let $rpl_skip_group_replication_start= 1
  9. --let $rpl_server_count= 3
  10. --source include/group_replication.inc
  11. --let $rpl_connection_name= server1
  12. --source include/rpl_connection.inc
  13. --let $server1_uuid= `SELECT @@server_uuid`
  14. --source include/start_and_bootstrap_group_replication.inc
  15. --let $rpl_connection_name= server2
  16. --source include/rpl_connection.inc
  17. --source include/start_group_replication.inc
  18. --let $rpl_connection_name= server3
  19. --source include/rpl_connection.inc
  20. --source include/start_group_replication.inc
  21. --echo
  22. --echo ############################################################
  23. --echo # 2. Init data
  24. --let $rpl_connection_name = server1
  25. --source include/rpl_connection.inc
  26. CREATE TABLE t1 (c1 INT PRIMARY KEY);
  27. INSERT INTO t1 VALUES(1);
  28. --source include/rpl_sync.inc
  29. SELECT * FROM t1;
  30. --let $rpl_connection_name = server2
  31. --source include/rpl_connection.inc
  32. SELECT * FROM t1;
  33. --let $rpl_connection_name = server3
  34. --source include/rpl_connection.inc
  35. SELECT * FROM t1;
  36. --echo
  37. --echo ############################################################
  38. --echo # 3. Mock crash majority members
  39. --echo # server 2 wait before write relay log
  40. --let $rpl_connection_name = server2
  41. --source include/rpl_connection.inc
  42. SET GLOBAL debug = '+d,wait_in_the_middle_of_trx';
  43. --echo # server 3 wait before write relay log
  44. --let $rpl_connection_name = server3
  45. --source include/rpl_connection.inc
  46. SET GLOBAL debug = '+d,wait_in_the_middle_of_trx';
  47. --echo # server 1 commit new transaction
  48. --let $rpl_connection_name = server1
  49. --source include/rpl_connection.inc
  50. INSERT INTO t1 VALUES(2);
  51. # server 1 commit t1(c1=2) record
  52. SELECT * FROM t1;
  53. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  54. --echo # server 1 crash
  55. --source include/kill_mysqld.inc
  56. --echo # sleep enough time for electing new leader
  57. sleep 60;
  58. --echo
  59. --echo # server 3 check
  60. --let $rpl_connection_name = server3
  61. --source include/rpl_connection.inc
  62. SELECT * FROM t1;
  63. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  64. --echo # server 3 crash and restart
  65. --source include/kill_and_restart_mysqld.inc
  66. --echo # sleep enough time for electing new leader
  67. sleep 60;
  68. --echo
  69. --echo # server 2 check
  70. --let $rpl_connection_name = server2
  71. --source include/rpl_connection.inc
  72. SELECT * FROM t1;
  73. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  74. --echo # server 2 crash and restart
  75. --source include/kill_and_restart_mysqld.inc
  76. --echo # sleep enough time for electing new leader
  77. sleep 60;
  78. --echo
  79. --echo ############################################################
  80. --echo # 4. Check alive members, lost t1(c1=2) record
  81. --echo # server 3 check
  82. --let $rpl_connection_name= server3
  83. --source include/rpl_connection.inc
  84. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  85. --echo # server 3 lost t1(c1=2) record
  86. SELECT * FROM t1;
  87. --echo
  88. --echo # server 2 check
  89. --let $rpl_connection_name = server2
  90. --source include/rpl_connection.inc
  91. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  92. --echo # server 2 lost t1(c1=2) record
  93. SELECT * FROM t1;
  1. !include ../my.cnf
  2. [mysqld.1]
  3. loose-group_replication_member_weight=100
  4. [mysqld.2]
  5. loose-group_replication_member_weight=90
  6. [mysqld.3]
  7. loose-group_replication_member_weight=80
  8. [ENV]
  9. SERVER_MYPORT_3= @mysqld.3.port
  10. SERVER_MYSOCK_3= @mysqld.3.socket

Causae cursus eventus sunt haec:

  1. ############################################################
  2. # 1. Deploy a 3 members group in single primary mode.
  3. include/group_replication.inc [rpl_server_count=3]
  4. Warnings:
  5. Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
  6. Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
  7. [connection server1]
  8. [connection server1]
  9. include/start_and_bootstrap_group_replication.inc
  10. [connection server2]
  11. include/start_group_replication.inc
  12. [connection server3]
  13. include/start_group_replication.inc
  14. ############################################################
  15. # 2. Init data
  16. [connection server1]
  17. CREATE TABLE t1 (c1 INT PRIMARY KEY);
  18. INSERT INTO t1 VALUES(1);
  19. include/rpl_sync.inc
  20. SELECT * FROM t1;
  21. c1
  22. 1
  23. [connection server2]
  24. SELECT * FROM t1;
  25. c1
  26. 1
  27. [connection server3]
  28. SELECT * FROM t1;
  29. c1
  30. 1
  31. ############################################################
  32. # 3. Mock crash majority members
  33. # server 2 wait before write relay log
  34. [connection server2]
  35. SET GLOBAL debug = '+d,wait_in_the_middle_of_trx';
  36. # server 3 wait before write relay log
  37. [connection server3]
  38. SET GLOBAL debug = '+d,wait_in_the_middle_of_trx';
  39. # server 1 commit new transaction
  40. [connection server1]
  41. INSERT INTO t1 VALUES(2);
  42. SELECT * FROM t1;
  43. c1
  44. 1
  45. 2
  46. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  47. CHANNEL_NAME MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION MEMBER_COMMUNICATION_STACK
  48. group_replication_applier 127.0.0.1 13000 ONLINE PRIMARY 8.0.32 XCom
  49. group_replication_applier 127.0.0.1 13002 ONLINE SECONDARY 8.0.32 XCom
  50. group_replication_applier 127.0.0.1 13004 ONLINE SECONDARY 8.0.32 XCom
  51. # server 1 crash
  52. # Kill the server
  53. # sleep enough time for electing new leader
  54. # server 3 check
  55. [connection server3]
  56. SELECT * FROM t1;
  57. c1
  58. 1
  59. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  60. CHANNEL_NAME MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION MEMBER_COMMUNICATION_STACK
  61. group_replication_applier 127.0.0.1 13002 ONLINE PRIMARY 8.0.32 XCom
  62. group_replication_applier 127.0.0.1 13004 ONLINE SECONDARY 8.0.32 XCom
  63. # server 3 crash and restart
  64. # Kill and restart
  65. # sleep enough time for electing new leader
  66. # server 2 check
  67. [connection server2]
  68. SELECT * FROM t1;
  69. c1
  70. 1
  71. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  72. CHANNEL_NAME MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION MEMBER_COMMUNICATION_STACK
  73. group_replication_applier 127.0.0.1 13002 ONLINE PRIMARY 8.0.32 XCom
  74. group_replication_applier 127.0.0.1 13004 UNREACHABLE SECONDARY 8.0.32 XCom
  75. # server 2 crash and restart
  76. # Kill and restart
  77. # sleep enough time for electing new leader
  78. ############################################################
  79. # 4. Check alive members, lost t1(c1=2) record
  80. # server 3 check
  81. [connection server3]
  82. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  83. CHANNEL_NAME MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION MEMBER_COMMUNICATION_STACK
  84. group_replication_applier NULL OFFLINE
  85. # server 3 lost t1(c1=2) record
  86. SELECT * FROM t1;
  87. c1
  88. 1
  89. # server 2 check
  90. [connection server2]
  91. select CHANNEL_NAME,MEMBER_HOST,MEMBER_PORT,MEMBER_STATE,MEMBER_ROLE,MEMBER_VERSION,MEMBER_COMMUNICATION_STACK from performance_schema.replication_group_members order by MEMBER_PORT;
  92. CHANNEL_NAME MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION MEMBER_COMMUNICATION_STACK
  93. group_replication_applier NULL OFFLINE
  94. # server 2 lost t1(c1=2) record
  95. SELECT * FROM t1;
  96. c1
  97. 1

Logica approximata casus qui numerorum absentium exprimit talis est:

  1. MGR constat ex 3 nodi in uno magistro modo, Servo 1/2/3, ubi Servo 1 est principale datorum et initializes 1 record c1 = 1
  2. Culpa iniectio Servo 2/3 pendet, cum scribens Nullam Log
  3. Servo 1 nodi connexus, testimonium c1=2 scripsit, et gesta committens etiam successus reddidit.
  4. Tunc Mock server1 enormis inruerit (machina defectio, reparari non potest et accedere non potest).
  5. Servo sileo 2/3 normaliter (recepto recuperato), sed Servo 2/3 botrum ad statum utibile restitui non potest.
  6. Servo ad 2/3 nodi coniunge et in monumentis database quaesitis.

Secundum casum superius, pro MGR, cum maior pars ministrantium descendit et principale datorum perpendat, post restautionem datorum sto, notitia damna RPO<>0 erit, et recordum prosperi committendi quod erat. primum ad clientem rediit periit.

Nam DN maioris consecutio requirit ut trabes in pluribus perseverent, ne in superiori quidem missione, notitia non amittetur et RPO=0 praestari potest.

3.4.

In tradito modo activo-statis MySQL, the standby database plerumque continet IO fila et stamina applica pendent in caput Applicare playback of the standby database.

Sysbench utimur ad probationem missionis oltp_write_ tantum, et probamus durationem morae in stabulo playback datorum sub 100 concurrentia et numero eventuum diversorum.In standby database playbacks mora tempus determinari potest per vigilantiam APPLYING_TRANSACTION_ORIGINAL_COMMIT_TIMESTAMP columnae perficiendi_schema.replication_applier_status_by_ operarii mensae ad videndum num unusquisque operarius tempore reali laborat ad determinare an replicatio finiatur.
 

Ex testi eventus chart videri potest:

  • Sub tantundem scriptionum notitiarum, tempus DN stadii activitatis datorum omnium lignorum perfectio longe melior est quam MGR. Hoc criticum est ad opportunitatem activae/sto switchover.
  • Cum numerus scriptorum crescit, DN standby datorum lusorum latency commodum super MGR conservari pergit et valde stabilis est.
  • Rationes analyses pro mora playback datorum standby, MGR standby database playbacks belli inducit group_replication_consistentiam cum valore default eventuali, id est, RO et RW negotiorum applicationem priorum transactionum ante executionem non exspectans. Hoc efficere potest maximam scribendi observantiam praecipuorum datorum, sed mora stolidorum datorum erit relative magna (sacrificans standby moram datorum et RPO=0 in commutatione ad summam scribendi observantiam datorum principalis, quod versatur in hodierno limite functionis. of MGR aequare potest effectus et The standby database moratur, sed effectus datorum principalis decipi potest)

3.5.

MGR

DN

perficientur

Legere transaction

plana

plana

scribentes injustitiam transaction

Effectum non tam bonum quam DN cum RPO<>0

Cum RPO = 0, effectus longe inferior DN

Crucem-civitatis deployment perficientur gravissime excidit per XXVII% ~ LXXXII%

Scribere transaction perficientur multo altior quam MGR

Crux urbis instruere perficiendi decrescit per 4% ad 37%.

Jitter

Euismod jitter gravis est, jitter range est VI ~ X%

Relative stabulum ad 3%, dimidium tantum MGR

RTO

Pelagus database quod descendit

Abnormitas in 5s deprehensa est, et ad duos nodi in 23s redacta.

Abnormitas in 5s deprehensa est et ad duos nodos redacta in octo s.

Sileo pelagus bibliotheca

Abnormitas in secundis quinque deprehensa est, et tres nodi in 37 secundis restituti sunt.

Abnormitas in secundis quinque deprehensa est, et tres nodi in 15 secundis restituuntur.

Tergum database downtime

Negotiatio datorum principalis omissa ad 0 pro 20 secundis.

Sublevari potest per expressam conversionem in coetus_replication_paxos_single_ductoris.

Continua alta dispositis principalis database

Standby database sileo

Negotiatio datorum principalis omissa ad 0 pro 10 secundis.

Diserte conversus in group_replication_paxos_single_leader quoque effectum non habet.

Continua alta dispositis principalis database

RPO

Casum recursu

RPO <> 0 cum pars maioris descenderit

Euismod et RPO=0 utrumque habere non potest.

RPO = 0

Standby database mora

Tergum database playback tempus

Mora inter activam et standby maxima est.

Latentia prima et prima-tergum simul fieri non potest.

Totum tempus in altiore stabulo playback datorum consumptum est 4% of MGR, quod est 25 temporibus illius MGR.

modulus

key parametri

  • moderatio influxus group_replication_flow_control_ modus est capacitatis per defaltam et necessitates configurandi ad eam convertendi ad meliorem effectum deducendi.
  • replicatio_optimize_for_static_plugin_config static obturaculum-in optimization vertitur per defaltam et debet verti in meliorem perficientur
  • group_replication_paxos_single_leader avertitur per defaltam et verti debet ad stabilitatem datorum principalis, quando standby datorum est deorsum.
  • group_replication_consistentia per defaltam avertit et RPO=0 non praestat.
  • Defectus sodalitatis_replication_transaction_size_limitatio 143M est, quae augeri debet cum magnas transactiones invenit.
  • binlog_transaction_dependency_tracking defaltis ad COMMIT_ORDER

Default configuration, nullum opus doctorum conformationem customize

4. Libri

Postquam altius technica analysis et effectus comparationis;PolarDB-X Cum suo evoluta X-Paxos protocollo et serie consiliorum optimized, DN multa commoda in MySQL MGR demonstravit in terminis faciendis, rectitudinis, promptitudinis et facultatis supra caput. Tamen, MGR etiam in MySQL oecosystematis situm obtinet , variae condiciones ut eu eu jitter datorum sto, machinae cella calamitatis recuperatio ambigua perficiendi, ac stabilitas considerari debes suscipio.

Adversus magnas scalas, altae concurrentias et necessariae promptitudinis requisita, machina reposita PolarDB-X singulares technicas commoda et praestantes effectus habet.PolarDB-XDN-substructio centralised (versio mensurae) bonam proportionem inter functiones et effectus habet, eamque solutionem datorum competitive maxime facit.