#176061 gửi bởi vuthao
Ngày 01 Tháng 04 2016 , 23:54
Nếu bạn chưa biết MariaDB Galera Cluster làm gì có thể hiểu đơn giản:
  • Nó là một hệ thống có nhiều máy chủ CSDL.
  • Các máy chủ này có thể cùng đọc và ghi cùng một lúc, chúng sẽ tự đồng bộ dữ liệu cho nhau.
  • Sẵn sàng cho việc mở rộng các máy chủ để phục vụ số kết nối đồng thời nhiều hơn,
  • Một node có thể được thêm vào cluster cũng như gỡ ra khỏi cluster mà không có downtime dịch vụ, cách thức cũng đơn giản.
Để các website của bạn sẵn sàng chuyển sang sử dụng MySQL Cluster thì việc thiết kế CSDL cần được thiết kế để không vi phạm các quy tắc sau. ( Hiện tại MariaDB Galera Cluster đang được đánh giá là tốt nhất. )

https://mariadb.com/kb/en/mariadb/mariadb-galera-cluster-known-limitations/

Do đó khi thiết kế CSDL bạn cần chú ý các điều sau để có thể chuyển sang sử dụng ENGINE InnoDB để có thể chạy MariaDB Galera Cluster
  1. Chỉ hỗ trợ innodb. Đây là yêu nên sẽ phải chuyển kiểu dữ liệu với đoạn code trong file đính kèm.
  2. Do các cột đánh UNIQUE trong kiểu dữ liệu InnoDB chỉ chấp nhật 767 byte, nên nếu chuyển CSDL mặc định của NukeViet 4 RC 2 bạn cần sử dụng charset utf8. Nếu sử dụng charset utf8mb4 thì độ dài tối đa của trường dữ liệu là 191 ký tự chứ không phải là 250 hay 255.
  3. Mọi bản ghi phải có primary key (multi column primary key cũng được support), không hỗ trợ delete bản ghi không có primary key, các dòng do không có primary key sẽ có thứ tự khác nhau giữa các node. Đây là yêu cầu cho thiết kế cơ sở dữ liệu.

Đính kèm
(628 bytes) Đã tải về 1 lần
Sửa lần cuối bởi laser vào Ngày 02 Tháng 04 2016 , 05:54, với tổng số 2 lần sửa.
#176098 gửi bởi b4bil0v3t3ar
Ngày 04 Tháng 04 2016 , 04:04
Hiện nay, CSDL mặc định của NukeViet 4.0.27 RC 2 có 2 tables là :
nv4_banners_click và nv4_vi_searchkeys không có primary key hay các cột đánh UNIQUE
  • Vậy khi thêm khóa chính sẽ phải thêm thế nào? và thư mục chứa code liên quan tới 2 bảng này đặt trong thư mục nào ạ?
Sửa lần cuối bởi b4bil0v3t3ar vào Ngày 04 Tháng 04 2016 , 04:20, với tổng số 1 lần sửa.