Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Phân vùng cơ sở dữ liệu và phân vùng

Phân vùng là một thuật ngữ chung để phân chia dữ liệu trên các bảng hoặc cơ sở dữ liệu. Sharding là một loại phân vùng cụ thể, một phần của cái được gọi là phân vùng theo chiều ngang.

Tại đây, bạn sao chép lược đồ trên (thông thường) nhiều phiên bản hoặc máy chủ, sử dụng một số loại logic hoặc mã định danh để biết phiên bản hoặc máy chủ nào cần tìm kiếm dữ liệu. Định danh loại này thường được gọi là "Shard Key".

Một logic phổ biến, không cần khóa là sử dụng bảng chữ cái để phân chia dữ liệu. A-D là trường hợp 1, E-G là trường hợp 2, v.v. Dữ liệu khách hàng rất phù hợp cho việc này, nhưng sẽ hơi bị sai lệch về kích thước giữa các trường hợp nếu việc phân vùng không tính đến việc một số chữ cái phổ biến hơn những chữ cái khác.

Một kỹ thuật phổ biến khác là sử dụng hệ thống đồng bộ hóa khóa hoặc logic đảm bảo các khóa duy nhất trên các phiên bản.

Một ví dụ nổi tiếng mà bạn có thể nghiên cứu là cách Instagram giải quyết vấn đề phân vùng của họ trong những ngày đầu (xem liên kết bên dưới). Họ bắt đầu được phân vùng trên rất ít máy chủ, sử dụng Postgres để phân chia dữ liệu khi bắt đầu. Tôi tin rằng đó là vài nghìn mảnh logic trên một vài mảnh vật chất đó. Đọc bài viết tuyệt vời của họ từ năm 2012 tại đây: Kỹ thuật Instagram - Sharding &ID

Cũng xem tại đây: http://www.quora. com / Whats-the-difference-between-sharding-and-partition



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Số lượng tham số truy vấn MySQL khớp với các đối số được truyền để thực thi, nhưng Python không nâng cao tất cả các đối số được chuyển đổi

  2. Cách chèn dữ liệu tệp csv vào cơ sở dữ liệu mysql

  3. Nhiều điều khoản HOẶC trong MySQL

  4. MySQL sắp xếp các cột bảng hiện có

  5. Cách cài đặt Adminer trên ứng dụng riêng của nó