aliases |
tags |
date |
zero-link |
parents |
linked |
|
|
|
|
|
|
При добавлении/удалении ноды необходимо провести решардинг. То есть перенести старые данные на новые узлы, чтобы распределить данные по новому.
Кого задевает процесс решардинга:
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
- Сеть, так как по сети передаются данные из одного шарда в другой
Лучше если количество нод будет равно степени 2 (2,4,8). Формула shard_Id % count.
- 16 записей на 8 шардов -> 2 записи на шард
- 16 записей на 16 шардов -> 1 запись на шард
Заметки
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.