Thiết lập HyperDB để mở rộng Database cho WordPress (Phần 1)

2
501
(Last Updated On: Th8 12, 2018) Ở bài viết trước cách đây khá lâu: Mở rộng, chuyển đổi dự phòng, cân bằng tải, và phân vùng cơ sở dữ liệu cho blog WordPress. Mình có đề cập đến mở rộng cơ sở dữ liệu cho WordPress nằm rải rác trên các server – sau này mỗi khi cần mở rộng cơ sở dữ liệu (rất lớn) các bạn chỉ cần thêm máy chủ vào và cấu hình là được. Tuy nhiên nếu nói về mô hình lớn và yêu cầu uyển chuyển hơn thì các bạn có một lựa chọn đó là MySQL Cluster. Tuy nhiên đó là đối với những hệ thống yêu cầu Database khá lớn và I/O cao. Mình đã sử dụng MySQL Cluster trong một thời gian, thấy cũng khá ổn định nhưng để thiết lập nên một hệ thống MySQL Cluster cũng khá mất thời gian, chưa kể là mình chưa tận dụng được tối đa tính năng và sức mạnh của hệ lưu trữ MySQL Cluster nên thành ra mình đến với HyperDB. HyperDB là một Plugin của WordPress được phát triển bởi Automattic, đây là công ty sở hữu WordPress.com: Dịch vụ tạo Blog miễn phí và trả phí chuyên nghiệp sử dụng mã nguồn WordPress làm nền tảng. Bạn có thể thấy WordPress.com là một tập hợp các Website con với tên miền phụ kiểu như:
  • blog1.wordpress.com
  • blog2.wordpress.com
  • blog3.wordpress.com
Những miền phụ này nằm trong hệ thống Multisite WordPress. Với hệ thống nhiều site con. Có tới hàng triệu site con cho nên vấn đề đó là phải phân chia các database đồng đều ra các máy chủ phân tán. Và chính WordPress.com cũng sử dụng HyperDB để làm điều này. (Không biết hiện tại họ sử dụng mô hình gì nhưng trước đây là sử dụng HyperDB). Chính vì thế nên mình xin bắt đầu luôn vào trọng tâm. Trước tiên là về cấu trúc của Plugin HyperDB:
Plugin có cấu trúc đơn giản (nhỏ nhưng mà có võ) gồm 2 tập tin chính là db.phpdb-config.php. Tập tin còn lại là readme.txt thì bạn có thể đọc để biết thêm chi tiết chứ chúng ta không động vào.
Nhưng dẫu sao cũng nên đọc sơ qua, tập tin readme coi có vẻ không cần thiết nhưng nếu bạn nào siêng năng chịu khó tìm hiểu thì sẽ giúp ích cho bạn khá nhiều đấy. Ngày xưa mình nhớ mỗi lần mua đĩa CD về cài Game, lúc mới đầu thấy tập tin này chẳng thèm đọc, cuối cùng cài xong rồi, làm vài “thủ thuật” nho nhỏ để chơi game thì không tài nào làm được. Cuối cùng mở tập tin readme ra mới té ngửa đó là trò đó phải cài trên ổ C thì mới chơi được (lúc đó mình cài trên ổ D mới chết cơ chứ).
Điểm sơ qua một chút thông tin ở file readme.txt.
Như vậy, Plugin này có khả năng giúp chúng ta:
  • Đọc và ghi trên các máy chủ được thiết lập (nhân rộng)
  • Cấu hình ưu tiên để đọc và ghi cơ sở dữ liệu
  • Cho phép thiết lập Trung tâm dữ liệu cục bộ và từ xa (Database)
  • Mạng riêng và mạng công cộng
  • Các bảng khác nhau trên các cơ sở dữ liệu/máy chủ khác nhau: Đối với những Database lớn, nhiều bảng và cũng chứa lượng dữ liệu lớn, HyperDB cho phép cấu hình để chúng ta lưu trữ phân tán các bảng này có thể nằm trên các cơ sở dữ liệu khác nhau, các bảng này cũng có thể nằm trong các cơ sở dữ liệu (database) trên các máy chủ khác nhau, đây là tính năng cần thiết nhất mà mình đề cập đến trong bài viết này.
  • Bài đọc chủ viết thông minh
  • Chuyển đổi dự phòng cho máy chủ lưu trữ bị hỏng (lỡ có máy chủ lưu trữ dabase nào đó bị hỏng, bạn sẽ vẫn còn máy chủ dự phòng được thiết lập trước đó, tránh tình trạng gián đoạn).
  • Thống kê nâng cao cho hồ sơ
  • WordPress Multisite
Về cài đặt:
Đường dẫn rút gọn của bài viết: https://vngeek.com/4Dz9q

2 BÌNH LUẬN

BÌNH LUẬN

Please enter your comment!
Please enter your name here