Database mirroring là phần mềm giải pháp chính cho việc tăng tính sẵn sàng của cơ sở dữ liệu. Mirroring đƣợc thực hiện trên mỗi một cơ sở dữ liệu cơ bản và chỉ làm việc với cơ sở dữ liệu mà sử dụng mô hình phục hồi đầy đủ. Các mô hình phục hồi đơn giản và số lƣợng lớn đăng nhập không hỗ trợ database mirroring. Database mirroring đƣợc hỗ trợ trong SQL Server Standard và Enterprise.
Database mirroring phản ảnh tính sẵn sàng quan trọng và cung cấp một cách quản lý thay đổi dễ dàng và bổ sung đến failover clustering hoặc log shipping. Khi một phiên database mirroring đƣợc đồng bộ hóa, database mirroring cung cấp một hot standby server mà hỗ trợ failover nhanh chóng mà không mất dữ liệu từ commit giao dịch. Trong một phiên mirrioring thông thƣờng, sau khi một production server bị lỗi, ứng dụng client có thể phục hồi rất nhaanh bằng cách tái kết nối đến standby server.
Lợi ích của database mirroring
- Tăng tính sẵn sàng của cơ sở dữ liệu. Trƣơng trƣờng hợp xảy ra thảm họa, chế độ an toàn cao với failover tự động, failover nhanh chóng mang đến một bản sao sự phòng của cơ sở dữ liệu trực tuyến (không mất dữ liệu). Trong chế độ hoạt động khác, ngƣời quản trị cơ sở dữ liệu có thể thay thế dịch vụ bắt buộc (với sự mất mát dữ liệu có thể xảy ra) đến các bản sao dự phòng của cơ sở dữ liệu. - Tăng tính bảo vệ dữ liệu. Database mirroring cung cấp sự dƣ thừa hoàn toàn hoặc
gần nhƣ hoàn toàn của dữ, phụ thuộc vào chế độ hoạt động là an toàn cao hay hiệu năng cao.
- Cải thiện sự sẵn sàng của production database trong quá trình nâng cấp. Để giảm thiểu thời gian chết cho cơ sở dữ liệu nhân rộng, nâng cấp tuần tự các thể hiện của SQL server là hosting đối tác failover. Điều này sẽ bị thời gian chế chỉ ở một failover [22].
27
Hình 11: Giải pháp Database Mirroring cân bằng tải cho hệ quản trị CSDL SQL
Database mirroring trong SQL Server yêu cầu ba thể hiện: một thể hiện chính (principal role) quản lý cơ sở dữ liệu, một thể hiện phụ (mirror) đảm bảo việc sao lƣu cơ sở dữ liệu, một thể hiện giám sát (witness) kết nối với hai thể hiện chính và phụ để giám sát và đảm bảo tính sẵn sàng của cơ sở dữ liệu. Trong trƣờng hợp máy chủ chính gặp sự cố, máy chủ witness sẽ tự động chuyển máy chủ mirror thành máy chủ chính. Nếu sau đó, máy chủ chính hoạt động trở lại, máy chủ chính sẽ đảm nhận vai trò là máy chủ mirror (hai máy chủ giờ đổi vai trò cho nhau) cho đến khi có sự can thiệp của nhà quản trị (Hình 11).