Mở rộng quy mô trong MySQL là gì
Hướng dẫn này mô tả cách chia tỷ lệ theo chiều dọc (tăng và giảm tỷ lệ) triển khai cụm cơ sở dữ liệu MySQL có tính sẵn sàng cao (cơ sở dữ liệu chính và bản sao). Quá trình này bao gồm tăng và giảm quy mô phiên bản Compute Engine cũng như mở rộng ổ đĩa của chúng Show
Lý do thông thường để mở rộng dung lượng đĩa là để đáp ứng sự gia tăng dữ liệu được quản lý Có một số lý do khiến các phiên bản Compute Engine thay đổi quy mô theo chiều dọc thực thi MySQL. Sau đây là một số lý do để mở rộng quy mô (và những lý do ngược lại để giảm quy mô)
Hướng dẫn hữu ích cho các vai trò sau
Sơ đồ sau đây cho thấy kiến trúc tổng thể của cụm MySQL có tính sẵn sàng cao. Hướng dẫn sử dụng kiến trúc này làm cơ sở để mô tả quy trình chia tỷ lệ theo chiều dọc Hướng dẫn này giả định rằng bạn đã quen thuộc với những điều sau đây
mục tiêu
chi phíHướng dẫn này sử dụng các thành phần có thể thanh toán sau của Google Cloud
Để tạo ước tính chi phí dựa trên mức sử dụng dự kiến của bạn, hãy sử dụng công cụ tính giá. Người dùng Google Cloud mới có thể đủ điều kiện dùng thử miễn phí Khi bạn hoàn thành hướng dẫn này, bạn có thể tránh tiếp tục thanh toán bằng cách xóa các tài nguyên bạn đã tạo. Để biết thêm thông tin, xem Trước khi bắt đầu
Bước đầu tiên của bạn là tạo một cụm MySQL đang chạy. Bạn điền vào cụm này một số dữ liệu được sử dụng để minh họa và xác minh. Để xác minh dữ liệu, hướng dẫn cung cấp các hướng dẫn truy vấn cơ sở dữ liệu chính và bản sao MySQL Các hướng dẫn sau để thiết lập cụm MySQL được lấy từ hướng dẫn liên quan, Di chuyển cụm MySQL sang Công cụ tính toán bằng HAProxy và được sửa đổi một chút tại đây để thuận tiện Trong bảng điều khiển Google Cloud, hãy mở Cloud Shell MỞ Cloud Shell Đặt biến môi trường cho tên bộ chứa Cloud Storage Tạo nhóm Lưu trữ đám mây (đa khu vực theo mặc định) Bộ chứa sẽ chứa các tập lệnh tạo và tập lệnh khởi động được sử dụng cho cả MySQL chính và tạo bản sao Sao chép kho lưu trữ GitHub và truy xuất tập lệnh mà bạn sử dụng để thiết lập môi trường Từ thư mục
Tập lệnh này cũng tạo một phiên bản Máy khách MySQL Compute Engine Cho phép truy cập root từ xa vào phiên bản chính từ phiên bản máy khách
Xác minh rằng cơ sở dữ liệu có thể truy cập được từ máy khách. Trong bảng điều khiển Google Cloud, hãy sử dụng ssh để kết nối với phiên bản 4 Compute Engine. Khi có vỏ bảo mật, hãy làm như sau
Tại thời điểm này, ba phiên bản Compute Engine đang chạy
Loại máy cho mỗi phiên bản Compute Engine là 1 (1 vCPU, 0. 6 GB) và khả năng mở rộng quy mô là loại máy 2 (1 vCPU, 3. bộ nhớ 75 GB). Kích thước của ổ đĩa là 10 GB và được nhân đôi lên 20 GB. Các lựa chọn này chỉ là ví dụ và có thể được thay đổi theo nhu cầu triển khai cụ thểMở rộng quy mô theo chiều dọc các phiên bản Compute Engine (không chuyển đổi dự phòng)Phần này mô tả cách mở rộng các phiên bản Compute Engine đang chạy MySQL chính và bản sao. Bạn tăng quy mô CPU và bộ nhớ cùng lúc bằng cách thay đổi loại máy của phiên bản Compute Engine. Để thay đổi loại máy, bạn phải dừng phiên bản Compute Engine và sau khi thay đổi, hãy khởi động lại nó Để đảm bảo khả năng xử lý như nhau, chúng tôi khuyên bạn nên định cấu hình cả hai phiên bản Compute Engine để sử dụng cùng một loại máy Bản sao MySQL được mở rộng trước và mọi sự cố được phát hiện sẽ không làm gián đoạn quá trình thực thi bản chính của MySQL. Nếu xảy ra sự cố, bạn có thể giải quyết nó mà không cần thời gian ngừng hoạt động chính. Hơn nữa, bạn có thể đánh giá xem sự cố này là tạm thời hay giả mạo hay là sự cố chung mà bạn cần giải quyết trước khi cơ sở dữ liệu chính sẽ được mở rộng Một cách tiếp cận khác (vẫn yêu cầu khởi động lại các phiên bản Compute Engine) liên quan đến việc chuyển đổi dự phòng từ phiên bản chính sang phụ để giảm thiểu thời gian ngừng hoạt động. Bạn xem qua phương pháp này trong các phần sau Mở rộng quy mô bản sao MySQLĐầu tiên, dừng phiên bản Compute Engine đang chạy bản sao MySQL
Bạn có thể sử dụng các lệnh 0 xác minh đã đề cập trước đó để kiểm tra xem bản sao MySQL có được thiết lập và chạy lại sau khi thao tác mở rộng quy mô hay khôngMở rộng quy mô chính của MySQLĐầu tiên, dừng phiên bản Compute Engine đang chạy MySQL chính
Bạn có thể sử dụng các lệnh 0 xác minh đã đề cập trước đó để kiểm tra xem MySQL chính có hoạt động và chạy lại sau khi thao tác mở rộng quy mô hay khôngThu nhỏ theo chiều dọc các phiên bản Compute Engine (không chuyển đổi dự phòng)Phần này mô tả cách thu nhỏ các phiên bản Compute Engine đang chạy MySQL chính và bản sao. Bạn thu nhỏ CPU và bộ nhớ cùng lúc bằng cách thay đổi loại máy của phiên bản Compute Engine. Để thay đổi loại máy, bạn phải dừng phiên bản Compute Engine và sau khi thay đổi, hãy khởi động lại nó Để đảm bảo khả năng xử lý như nhau, chúng tôi khuyên bạn nên định cấu hình cả hai phiên bản Compute Engine để sử dụng cùng một loại máy. Các bước tương tự như mở rộng quy mô. Tuy nhiên, để cho đầy đủ, phần tiếp theo sẽ nêu rõ chúng Thu nhỏ bản sao MySQLĐầu tiên, dừng phiên bản Compute Engine đang chạy bản sao MySQL
Bạn có thể sử dụng các lệnh 0 xác minh đã đề cập trước đó để kiểm tra xem bản sao MySQL có được thiết lập và chạy lại sau khi thao tác mở rộng quy mô hay khôngThu nhỏ quy mô chính của MySQLĐầu tiên, dừng phiên bản Compute Engine đang chạy MySQL chính
Bạn có thể sử dụng các lệnh 0 xác minh đã đề cập trước đó để kiểm tra xem MySQL chính có hoạt động và chạy lại sau khi thao tác mở rộng quy mô hay khôngMở rộng quy mô theo chiều dọc các phiên bản Compute Engine (có chuyển đổi dự phòng)Tắt, mở rộng quy mô và khởi động lại cơ sở dữ liệu MySQL có thể mất quá nhiều thời gian trong môi trường sản xuất. Quá trình nhanh hơn dựa trên chuyển đổi dự phòng. Trước tiên, bạn mở rộng quy mô bản sao và ngay sau khi bản sao được thiết lập và chạy lại, bạn dừng bản chính hiện có và bản sao trở thành bản chính (mới). Tổng thời gian ngừng hoạt động là thời gian cần thiết để chuyển đổi dự phòng cơ sở dữ liệu MySQL sang bản sao được mở rộng quy mô Ở cấp độ cao, quy trình như sau
Sau khi quá trình này hoàn tất, cả hai hệ thống MySQL đều được mở rộng quy mô và nằm trong mối quan hệ chính/bản sao. bản chính cũ là bản sao mới và bản sao cũ là bản chính mới. Các lệnh được phác thảo chi tiết trong các phần sau Dự phòng không nhất thiết phải có trong trường hợp chung vì cả máy chính và bản sao đều là cùng loại máy với cùng loại và dung lượng ổ đĩa. Dự phòng sẽ gây ra sự cố ngừng hoạt động trong thời gian dự phòng. Tuy nhiên, nếu dự phòng là bắt buộc, bạn phải thực hiện các bước chuyển đổi dự phòng lần thứ hai Mở rộng quy mô bản sao MySQL hiện cóMở rộng quy mô bản sao như được nêu trong. Trong thời gian này, chính vẫn có sẵn không bị gián đoạn Chuyển đổi dự phòng chính sang bản sao mở rộngGhi chú. Tài liệu hoặc phần này bao gồm các tham chiếu đến một hoặc nhiều thuật ngữ mà Google cho là thiếu tôn trọng hoặc xúc phạm. Các thuật ngữ được sử dụng vì chúng là các từ khóa trong phần mềm được mô tả trong tài liệuCác lệnh sau thực hiện chuyển đổi dự phòng từ bản chính sang bản sao
Lớp học chính mới đã sẵn sàng Mở rộng quy mô bản sao MySQL mớiBản sao cũ hiện là bản chính và khách hàng có thể truy cập nó để thực hiện các thao tác đọc và ghi Mở rộng quy mô bản sao (bản chính cũ) bằng cách làm theo hướng dẫn như được hiển thị trước đó, sau đó khởi động bản sao Kết nối bản sao với bản chính để sao chép
Phiên bản MySQL chính hiện đang sao chép thành bản sao của nó Kiểm tra sao chép từ bản chính sang bản saoThử nghiệm sau đây thêm một hàng vào bảng 26 trên phiên bản MySQL chính 7. Bạn có thể quan sát phần bổ sung trong phiên bản MySQL bản sao 2
Điều này kết thúc thủ tục cần thiết cho quá trình chuyển đổi dự phòng. Bạn sử dụng quy trình tương tự để thu nhỏ quy mô kết hợp với chuyển đổi dự phòng Tăng kích thước đĩa của phiên bản Compute EnginePhần này mô tả cách tăng kích thước của đĩa phiên bản Compute Engine, cho cả phiên bản Compute Engine đang lưu trữ MySQL chính và phiên bản Compute Engine đang lưu trữ bản sao MySQL. Đĩa chỉ có thể được tăng kích thước, không giảm Để mở rộng đĩa, có hai cách tiếp cận và cả hai đều được phác thảo trong các phần tiếp theo. Khả năng thay đổi kích thước ổ đĩa một cách linh hoạt là một tính năng không yêu cầu bạn phải tạo lại các phiên bản Compute Engine. Để biết thêm chi tiết, hãy xem bài đăng trên blog này. Một cách tiếp cận là dừng các phiên bản Compute Engine trước khi tăng kích thước đĩa rồi khởi động lại chúng. Khởi động lại các phiên bản sẽ tự động thay đổi kích thước phân vùng gốc lưu trữ các tệp dữ liệu MySQL Phương pháp thay thế không yêu cầu dừng và khởi động lại các phiên bản Compute Engine. Thay vào đó, nó yêu cầu bạn thực thi các câu lệnh dòng lệnh trong Cloud Shell và trong các vỏ bảo mật của các phiên bản Để xác nhận, bạn có thể sử dụng lệnh 42 trước và sau khi tăng kích thước ổ đĩa để kiểm tra kích thước trước và sauChúng tôi khuyên bạn nên thực hiện tốt nhất việc chụp ảnh nhanh từng ổ đĩa trước khi thay đổi kích thước chúng. Biện pháp phòng ngừa này đảm bảo rằng bạn có thể phục hồi trạng thái của từng đĩa từ trước khi thay đổi kích thước Tăng kích thước đĩa của bản sao MySQL (có tắt máy)Trước tiên, hãy tăng kích thước ổ đĩa của phiên bản Compute Engine đang lưu trữ bản sao MySQL
Bạn có thể sử dụng các lệnh 0 xác minh đã đề cập trước đó để xác minh xem MySQL chính có chạy như mong đợi sau khi tăng kích thước ổ đĩa hay khôngTăng kích thước đĩa của MySQL chính (khi tắt máy)Tăng kích thước đĩa của Công cụ tính toán đang lưu trữ MySQL chính
Bạn có thể sử dụng các lệnh 0 xác minh đã đề cập trước đó để xác minh xem MySQL chính có chạy như mong đợi sau khi tăng kích thước ổ đĩa hay khôngTăng kích thước đĩa của bản sao MySQL (tự động mà không cần tắt máy)Các bước sau đây cho thấy mức tăng kích thước đĩa động cho hệ thống tệp 71 và ổ đĩa có một phân vùng duy nhất. Các loại hệ thống tệp hoặc cấu hình phân vùng khác yêu cầu các bước khác nhau để thực hiện việc tăngNhư trước đây, trước tiên, bạn tăng kích thước ổ đĩa của phiên bản Compute Engine đang lưu trữ bản sao, sau đó bạn tăng kích thước ổ đĩa của phiên bản Compute Engine đang lưu trữ bản sao.
Tăng kích thước đĩa của MySQL chính (tự động mà không cần tắt máy)Quá trình tự động tăng kích thước đĩa cho bản chính cũng giống như đối với bản sao
Dọn dẹpSau khi hoàn thành hướng dẫn, bạn có thể dọn sạch các tài nguyên mà bạn đã tạo để chúng ngừng sử dụng hạn ngạch và phí phát sinh. Các phần sau mô tả cách xóa hoặc tắt các tài nguyên này Xóa dự án
Cái gì tiếp theoBạn có thể áp dụng những gì bạn đã học được trong hướng dẫn này cho các cụm MySQL trong môi trường sản xuất để thiết lập một quy trình và thói quen khi cần mở rộng quy mô. Để thực hành nội dung trước, hãy sao chép môi trường cụm MySQL sản xuất và chạy thử. Ghi lại bất kỳ bước quan trọng nào có thể ảnh hưởng đến những thay đổi về tỷ lệ theo chiều dọc tiếp theo trong môi trường sản xuất của bạn Xem xét việc phát triển các tập lệnh thực thi các bước được hiển thị trong hướng dẫn này. Bằng cách này, trong môi trường sản xuất của bạn, bạn có thể tự động thay đổi quy mô thay vì thay đổi quy mô theo cách thủ công Để đọc thêm, xem những Khám phá kiến trúc tham khảo, sơ đồ, hướng dẫn và các phương pháp hay nhất về Google Cloud. Hãy xem Trung tâm kiến trúc đám mây của chúng tôi Mở rộng quy mô trong SQL là gì?Thay đổi quy mô trong DBMS là khả năng mở rộng dung lượng của hệ thống cơ sở dữ liệu để hỗ trợ số lượng hoặc yêu cầu lớn hơn và/hoặc lưu trữ nhiều dữ liệu hơn mà không làm giảm hiệu suất.
MySQL có tốt cho việc mở rộng quy mô không?Nhiều tài sản web được buôn bán nhiều nhất trên thế giới như Facebook, Twitter, Zappos và Zynga dựa vào hiệu suất và khả năng mở rộng của MySQL để phục vụ hàng triệu người dùng và xử lý sự tăng trưởng theo cấp số nhân của họ. Sao chép MySQL là cách phổ biến và tiết kiệm chi phí nhất để mang lại hiệu suất và khả năng mở rộng .
Làm cách nào để mở rộng quy mô MySQL?Cách dễ nhất để tăng dung lượng của cơ sở dữ liệu MySQL là nâng cấp phần cứng máy chủ . Thông thường, điều này có nghĩa là thêm CPU và/hoặc RAM, nhưng cũng có thể bao gồm dung lượng I/O của đĩa. Mở rộng quy mô theo chiều dọc có thể được thực hiện bằng cách nâng cấp phần cứng máy chủ hiện có hoặc bằng cách chuyển sang máy chủ mới.
Mở rộng quy mô trong NoSQL là gì?Hầu hết các cơ sở dữ liệu SQL đều có thể mở rộng theo chiều dọc, nghĩa là bạn có thể tăng tải trên một máy chủ bằng cách tăng các thành phần như RAM, SSD hoặc CPU. Ngược lại, cơ sở dữ liệu NoSQL có khả năng mở rộng theo chiều ngang , nghĩa là chúng có thể xử lý lưu lượng truy cập gia tăng chỉ bằng cách thêm nhiều máy chủ hơn vào cơ sở dữ liệu. |