Replication là gì?

Noun Database

Replication là việc sao chép liên tục các thay đổi dữ liệu từ cơ sở dữ liệu (database) này (publisher) sang cơ sở dữ liệu khác (subscriber). Hai cơ sở dữ liệu thường được đặt trên một máy chủ vật lý (physical server) khác nhau. Mục đích là cân bằng tải (load balancing) bằng cách phân phối các truy vấn (query) cơ sở dữ liệu và cung cấp khả năng chịu lỗi (failover). Máy chủ cho cơ sở dữ liệu của subscriber có thể được định cấu hình làm bản sao lưu (backup) trong trường hợp máy chủ cho cơ sở dữ liệu của publisher bị lỗi.

Sau khi dữ liệu được phân tán (distributed) giữa hai hoặc nhiều máy chủ, người dùng truy vấn không bắt buộc phải kết nối với cơ sở dữ liệu chính (primary database). Nếu replication được thiết lập chỉ định cơ sở dữ liệu chính là publisher, một số truy vấn có thể được chuyển hướng đến subscriber do dó nó giúp cân bằng tải, quá trình này hữu ích cho cơ sở dữ liệu có lưu lượng (traffic) người dùng cao.

Replication cũng có thể cung cấp khả năng chịu lỗi. Khi dữ liệu được lưu giữ trên hai máy chủ riêng biệt, một subscriber có thể được thiết lập làm cơ sở dữ liệu chính mặc định nếu publisher không khả dụng (unavailable).

Có ba phương pháp replication khác nhau:

  • Snapshot replication: Dữ liệu được sao chép từ publisher đến subscriber. Chú ý các thay đổi của subscriber phải đến từ publisher. Do đó, chỉ subscriber có thể được truy vấn; nhưng dữ liệu của nó không thể được chỉnh sửa bởi người dùng.
  • Merge replication: Dữ liệu được kết hợp từ hai hoặc nhiều cơ sở dữ liệu thành một cơ sở dữ liệu tổng thể, triển khai (implement) khó hơn so với sao snapshot replication.
  • Transactional replication: Cơ sở dữ liệu đầy đủ được sao chép, tiếp theo là các bản cập nhật của publisher được sao chép định kỳ tới (các) subscriber.

Nếu dữ liệu quan trọng vô tình bị xóa khỏi publisher, việc sao chép sẽ xóa cùng một dữ liệu khỏi (các) subscriber của nó. Replication không thay thế cho các bản sao lưu (backup).

Learning English Everyday