Sobes.tech
Junior

Veritabanı bağlamında replikasyon nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Replikasyon, verilerin ana veritabanından (ana) bir veya birkaç ikincil veritabanına gerçek zamanlı veya küçük gecikmeyle kopyalanması sürecidir.

Replikasyonun temel amaçları:

  • Erişilebilirliği artırmak. Ana veritabanı arızalanırsa, replikasyon yükü devralabilir.
  • Okuma hızını artırmak. Okuma sorguları, ana ve replikalar arasında dağıtılır.
  • Yedekleme. Replikasyon, verilerin güncel bir kopyası olarak kullanılabilir.
  • Analitik. Analitik sorgular, ana veritabanını yüklemeksizin replikalarda gerçekleştirilebilir.

Replikasyon türleri:

  • Asenkron. Ana, değişikliklerin uygulanmasıyla ilgili onay beklemez. Veri üzerinde küçük bir gecikme olabilir.
  • Senkrone. Ana, replikadan onay bekler. Veri tutarlılığını sağlar, ancak yazma hızını yavaşlatabilir.
  • Yarı senkron. Asenkron ve senkron arasında bir uzlaşmadır. Ana, en az bir replikadan onay bekler.

MySQL yapılandırması örneği:

// master'da my.cnf
[mysqld]
server-id = 1
log_bin = mysql-bin

// replikada my.cnf
[mysqld]
server-id = 2
relay_log = mysql-relay-bin
read_only = 1 // Sadece okuma için replikasyon yapılabilir

Replikasyon yapılandırması:

// Replikada
CHANGE MASTER TO
MASTER_HOST='<IP_ana>',
MASTER_USER='<repl_user>',
MASTER_PASSWORD='<repl_password>',
MASTER_LOG_FILE='<binlog_dosyası>', // show master status ile alınır
MASTER_LOG_POS=<pozisyon>; // show master status ile alınır

START SLAVE;