giả sử database cluster lưu 1,000,000 key sử dụng n=100 shard, mỗi shard chứa 10,000 keys, cache server chỉ cần lưu vỏn vẹn 8*nlogn+1 ~ 3,600 keys là đủ đảm bảo rằng không có shard server nào bị hotspot (lưu ý logn ở đây là ln(n)).
Bạn có thể nói 1 cách dễ hiểu hơn tại sao không? Mình đọc paper và thú thật là cũng không hiểu lắm. 🥹
à công thức chính xác của cache size là c = k * n log n + 1, e có thể xem thêm trong paper http://quang.short.gy/small-cache. Người ta chọn k = 8 vì nó là giá trị khá hợp lý khi test, "When k = 8, its value is about 1.2 which means the most loaded node gets at most 20% more work".
👏👏👏
giả sử database cluster lưu 1,000,000 key sử dụng n=100 shard, mỗi shard chứa 10,000 keys, cache server chỉ cần lưu vỏn vẹn 8*nlogn+1 ~ 3,600 keys là đủ đảm bảo rằng không có shard server nào bị hotspot (lưu ý logn ở đây là ln(n)).
Bạn có thể nói 1 cách dễ hiểu hơn tại sao không? Mình đọc paper và thú thật là cũng không hiểu lắm. 🥹
bạn tham khảo câu trả lời của 1 cái Gemini Gem mình tạo ra từ paper gốc nha:
https://g.co/gemini/share/ecb80b3debb5
cách tạo Gemini Gem: https://support.google.com/gemini/answer/15146780?hl=en&co=GENIE.Platform%3DDesktop
cho em hỏi là tại sao lại là 8 * nlog(n) ạ?
à công thức chính xác của cache size là c = k * n log n + 1, e có thể xem thêm trong paper http://quang.short.gy/small-cache. Người ta chọn k = 8 vì nó là giá trị khá hợp lý khi test, "When k = 8, its value is about 1.2 which means the most loaded node gets at most 20% more work".
Bài hay quá, cảm ơn anh đã chia sẻ 👏👏👏
Cảm ơn anh bài viết thật sự hay