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;