Я знаю, что это очень общий и субъективный вопрос, поэтому не стесняйтесь голосовать за его закрытие, если он не соответствует этикету StackOverflow... но для меня это стоит попробовать ;)
Я никогда не создавал приложения с высоким трафиком, поэтому я не знаю (кроме некоторого чтения в Интернете) о практике масштабирования.
Как я могу спроектировать базу данных, чтобы при необходимости масштабирования мне не пришлось рефакторить структуру базы данных или код приложения?
Я знаю, что разработка (и оптимизация) должна идти шаг за шагом, оптимизируя узкие места по мере их возникновения, и практически невозможно спроектировать идеальную структуру, когда вы не знаете, сколько у вас будет пользователей и как они будут использовать базу данных (например, соотношение чтения и записи), я просто ищу хорошую базу для начала.
Каковы лучшие практики для создания структуры, почти готовой к масштабированию с разделением
и шардингом
, и каких хаков
следует избегать?
Редактировать некоторые детали о моем приложении: