Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Migrate Database from MySQL to Postgre
Anh Dũng ơi, em đang muốn migrate chuyển từ MySQL sang Postgre, dữ liệu ở MySQL cũng khoảng 1000- 1 triệu bản ghi 1 bảng, số table cũng khoảng 100 200. Có cách nào vừa migrate nhưng tránh tình trạng downtime/Zero downtime khi người dùng truy cập DB ở database mới nhưng chưa được migrate sang k ạ
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Professional
tvd12 Professional
Anh nghĩ cách đơn giản nhất là em thực hiện các bước sau:

  1. Vấn đễ bản chạy MySQL như bình thường, trong lúc đó migrate hết dữ liệu từ MySQL sang Postgre.
  2. Khi migrate xong (thời điểm dữ liệu đã đạt được mức tối đa từ MySQL) thì lúc này vẫn có những dữ liệu mới đẩy vào MySQL, vậy việc migrate sẽ tiếp tục diễn ra nhưng không nhiều.
  3. Tạo ra 1 phiên bản chạy với Postgre sau đó cho user kết nối đến cả 2 phiên bản MySQL và Postgre
  4. Tắt dần MySQL và vẫn cho batch chạy migrate tiếp tục đến khi hết dữ liệu từ MySQL thì thôi em ạ.

Tất nhiên việc code logic em cũng phải bắt chặt để tránh trường hợp dữ liệu bị thiếu nhất quán em ạ.

  • 1
  • Reply