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

2
482
(Last Updated On: Th8 12, 2018) Đi kèm với các nút Master và slave có cấu hình với “write” và “read“. “write” là ghi (được phép ghi dữ liệu lên đó) và “read” là đọc (chỉ được phép đọc, không có quyền ghi). Nút Database chính có thể được thiết lập vừa được ghi và đọc: ‘write’ => 1, ‘read’ => 1, Giả sử như thiết lập là: ‘write’ => 1, ‘read’ => 0, có nghĩa là không được ghi nhưng có quyền đọc. Trong khi đó trên nút Slave (nút phụ – cũng có thể là Database phụ): ‘write’ => 0, ‘read’ => 1, Vì write là 0 lên không được phép ghi, read là 1 nên được phép đọc nhưng không được ghi. Tương tự như vậy, đối với hệ thống nhiều node, bạn cũng có thể thiết lập sự ưu tiên để đọc hay ghi. Chẳng hạn chúng ta có mô hình như sau:
  • Local slave 1: ‘write’ => 0, ‘read’ => 1, (không ghi chỉ đọc)
  • Local slave 2: ‘write’ => 0, ‘read’ => 1, (không ghi, chỉ đọc)
  • Local master: ‘write’ => 1, ‘read’ => 2, (được ghi, được đọc nhưng priority là 2, tức là đọc sau local slave 1 và local slave 2)
  • Remote slave 1: ‘write’ => 0, ‘read’ => 3, (không ghi, chỉ đọc nhưng priority là 3 tức là đọc sau local slave 1, local slave 2 và cả local master)
  • Remote slave 2: ‘write’ => 0, ‘read’ => 4, (không ghi, chỉ đọc nhưng priority là 4 tức là đọc sau local slave 1, local slave 2 và cả local master, remote slave 1).
Như vậy “0” có nghĩa là tắt. 1, 2, 3, 4 là thông số priority. Giống như khi bạn thiết lập chỉ số priority của Email với các máy chủ nhận thư vậy.
Ở trên đây là sơ đồ minh họa cho các thông số thiết lập ở trên.
Chúng ta đến với thiết lập cơ bản khi bạn chưa sử dụng đến các tính năng mở rộng cho Database:
/** Sample Configuration 1: Using the Default Server **/
/** NOTE: THIS IS ACTIVE BY DEFAULT. COMMENT IT OUT. **/

/**
 * This is the most basic way to add a server to HyperDB using only the
 * required parameters: host, user, password, name.
 * This adds the DB defined in wp-config.php as a read/write server for
 * the 'global' dataset. (Every table is in 'global' by default.)
 */
$wpdb->add_database(array(
	'host'     => DB_HOST,     // If port is other than 3306, use host:port.
	'user'     => DB_USER,
	'password' => DB_PASSWORD,
	'name'     => DB_NAME,
));

/**
 * This adds the same server again, only this time it is configured as a slave.
 * The last three parameters are set to the defaults but are shown for clarity.
 */
$wpdb->add_database(array(
	'host'     => DB_HOST,     // If port is other than 3306, use host:port.
	'user'     => DB_USER,
	'password' => DB_PASSWORD,
	'name'     => DB_NAME,
	'write'    => 0,
	'read'     => 1,
	'dataset'  => 'global',
	'timeout'  => 0.2,
));
Ở các mục thiết lập như ở trên, bạn hoàn toàn dễ dàng cấu hình như cấu hình một kết nối đến database cho các script. Chủ yếu là các thông số:
Đườ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