Tôi định kỳ cần thực hiện các thay đổi đối với các bảng trong mysql 5.1, chủ yếu là thêm các cột. Rất đơn giản với lệnh bảng thay đổi. Nhưng các bảng của tôi hiện có tới 40 triệu hàng và chúng đang tăng nhanh ... Vì vậy, các lệnh bảng thay đổi đó mất vài giờ. Vài tháng nữa họ sẽ đoán.
Vì tôi đang sử dụng amazon RDS, tôi không thể có máy chủ nô lệ để chơi và sau đó quảng bá để thành thạo. Vì vậy, câu hỏi của tôi là nếu có một cách để làm điều này với thời gian chết tối thiểu? Tôi không ngại một hoạt động mất hàng giờ hoặc thậm chí vài ngày nếu người dùng vẫn có thể sử dụng db tất nhiên ... Ít nhất họ có thể đọc trong khi các cột được thêm vào không? Điều gì xảy ra nếu ứng dụng của tôi cố gắng viết? Chèn hay cập nhật? Nếu nó thất bại ngay lập tức thì điều đó thực sự không tệ lắm, nếu nó bị treo và gây ra sự cố cho máy chủ db thì đó là một vấn đề lớn ..
Đây phải là một vấn đề mở rộng khá phổ biến, mọi người cần thêm các cột .. Điều gì thường được thực hiện cho một db sản xuất? Nô lệ -> di cư chủ?
Cập nhật - Tôi quên đề cập đến việc tôi đang sử dụng công cụ lưu trữ innodb