Есть сервер: 2тб ssd, 96gb memory, 20 цпу. На него идут все данные (примерно 800гб). Все остальное забито построенными отчетами из этих данных. Отчеты удаляются, добавляются новые, некоторые исторические должны быть. В общем они все нужны.
Проблема: заканчивается место на диске.
Решение: шардинг.
И вот весь вопрос как правильно построить с текущими данными и какие сервера нужны? (доку и статьи smi2 все читал).
Правильно ли я понимаю шаги создания кластера? :
1) беру 2 сервера с большим диском (но не понятно с каким цпу и память)
2) создаю кластер в конфиге (текущий сервер будет для отчетов, остальные 2 для данных)
3) на 1й переливаю все данные с текущего
4) перепишу код чтобы делать инсерт на 2 сервера, а сервер с отчетами будет только для них
5) удаляю все данные с 1го сервера (которые пелелил) и создаю Distributed таблицы на сервере где отчеты
Все ли правильно?
Какие нужно сервера для данных по ресурсам? Нужно ли для них много цпу и памяти?
Не будет ли проблем с join на сервере отчетов? Все отчеты юзают их
Вы с 2 терабайт хотите перейти на 20 тб или на 200? Это важно потому что в принципе вы можете локально расшириться до какого-нибудь RAID и тогда строить кластер вообще не надо. Кластер нужно строить если вы еще и CPU-bound впридачу, т.к. если вы I/O-bound нужно смотреть в сторону всяких PCIe SSD.