Sobes.tech
Junior

Ի՞նչ է ռեպլիկացիան տվյալների բազաների համատեքստում։

sobes.tech AI

Պատասխան AI-ից

Ռեպլիկացիան այն գործընթացն է, երբ տվյալները պատճենվում են հիմնական տվյալների բազայից (մաստեր) մեկ կամ մի քանի երկրորդական տվյալների բազաներ՝ իրական ժամանակում կամ փոքր ուշացումով:

Ռեպլիկացիայի հիմնական նպատակները՝

  • Հասանելիության բարձրացում։ Մաստերը խափանման դեպքում, ռեպլիկան կարող է վերցնել բեռը:
  • Կարդալու արագության բարձրացում։ Կարդալու հարցումները բաշխվում են մաստեր և ռեպլիկաների միջև:
  • Անվտանգության պատճեն։ Ռեպլիկան կարող է օգտագործվել որպես տվյալների արդիական պատճեն:
  • Վերլուծություն։ Վերլուծական հարցումները կարող են կատարվել ռեպլիկաների վրա՝ առանց մաստերին ծանրաբեռնելու:

Ռեպլիկացիայի տեսակներ՝

  • Ասինխրոն։ Մաստերը չի սպասում ռեպլիկից հաստատում փոփոխությունների կիրառման մասին։ Փոքր ուշացում կարող է լինել տվյալներում:
  • Սինխրոն։ Մաստերը սպասում է ռեպլիկից հաստատում։ Համապատասխանությունը տվյալների ապահովում է, բայց կարող է դանդաղեցնել գրառումները:
  • Կեսասինխրոն։ Կոմպրոմիս է ասինխրոն և սինխրոն միջև։ Մաստերը սպասում է առնվազն մեկ ռեպլիկից հաստատում:

MySQL կոնֆիգուրացիայի օրինակ՝

// my.cnf մաստերում
[mysqld]
server-id = 1
log_bin = mysql-bin

// my.cnf ռեպլիկայում
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Կարող է լինել միայն ընթերցանության համար

Ռեպլիկի կարգավորումը՝

// Ռեպլիկայում
CHANGE MASTER TO
MASTER_HOST='<IP_մաստերի>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_ֆայլ>', // Գնում է show master status-ից
MASTER_LOG_POS=<պոզիցիա>; // Գնում է show master status-ից

START SLAVE;