Hàm băm ổn định

Hàm băm ổn định (tiếng Anh: consistent hash function) là hàm băm mà việc thêm hoặc bớt một khối dữ liệu (slot) không làm thay đổi đáng kể ánh xạ từ khóa tới các khối dữ liệu.
Khác với các hàm băm ổn định, trong hầu hết các bảng băm truyền thống, việc thay đổi số khối dữ liệu trong mảng dẫn đến việc ánh xạ lại toàn bộ khóa. Đối với hàm băm ổn định, trung bình chỉ phải ánh xạ lại  khóa, trong đó  là số khóa còn  là số khối dữ liệu.

Lịch sử
Khái niệm băm ổn định được đưa ra năm 1997 với vai trò một phương pháp phân phối các yêu cầu cho một quần thế biến động gồm các web server. Khi đó, mỗi khối dữ liệu được biểu diễn bằng một nút trong một hệ thống phân tán. Việc thêm (gia nhập) và bớt (rời/hỏng) nút, nghĩa là khi số khối dữ liệu/nút thay đổi, chỉ đòi hỏi phải sắp xếp lại  đối tượng. Gần đây, loại hàm băm này được dùng để giảm hậu quả của việc hỏng hóc một phần hệ thống trong các ứng dụng web lớn, nhằm tạo điều kiện cho việc lưu cache hiệu quả cao mà không gây ra tình trạng sập cả hệ thống do hỏng hóc
.

Các hàm băm ổn định còn được áp dụng trong thiết kế các bảng băm phân tán (DHT). DHT dùng loại hàm băm này để phân hoạch không gian khóa giữa một tập các nút phân tán, và ngoài ra còn cung cấp một mạng overlay kết nối các nút với nhau sao cho có thể định vị nút chịu trách nhiệm cho một khóa nào đó một cách hiệu quả.

Tham khảo

Liên kết ngoài 
 Understanding Consistent hashing 
 Consistent hashing  by Tom White, including implementation in Java

Băm