Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Băm nhất quán như một cách để chia tỷ lệ ghi

Có hai lý do để sử dụng nhiều nút trong một cụm:

  • Làm sắc nét để giới hạn lượng dữ liệu được lưu trữ trên mỗi nút
  • Sao chép để giảm tải đọc và cho phép xóa một nút mà không làm mất dữ liệu.

Cả hai khác nhau về cơ bản, nhưng bạn có thể triển khai cả hai - sử dụng hàm băm nhất quán để trỏ đến một tập hợp các nút có thiết lập chính / phụ tiêu chuẩn thay vì một nút duy nhất.

Nếu cụm là nơi lưu trữ dữ liệu chính của bạn chứ không phải là bộ nhớ cache, bạn sẽ cần một chiến lược phân phối lại khác bao gồm sao chép dữ liệu.

Việc triển khai của tôi dựa trên việc khách hàng chọn một trong 64 nghìn nhóm cho một hàm băm và có một bảng ánh xạ nhóm đó tới một nút. Ban đầu, tất cả ánh xạ tới nút số 1.

Khi nút số 1 quá lớn, nút phụ của nó sẽ trở thành nút chính số 2 và bảng được cập nhật để ánh xạ một nửa số khóa của nút số 1 với nút số 2. Tại thời điểm này, tất cả các lần đọc và ghi sẽ hoạt động với ánh xạ mới và bạn chỉ cần xóa các khóa hiện nằm trên nút sai. Tùy thuộc vào yêu cầu hiệu suất, bạn có thể kiểm tra tất cả các khóa cùng một lúc hoặc kiểm tra lựa chọn ngẫu nhiên các khóa như hệ thống hết hạn sử dụng.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis có phải là một kho dữ liệu lâu dài không?

  2. Cách làm cho khách hàng tải xuống một tệp rất lớn được tạo ra một cách nhanh chóng

  3. Lắng nghe những thay đổi trong Redis?

  4. Bỏ qua / Mock Redis trong Junit

  5. Tìm khóa không hết hạn trong Redis