Назад | Перейти на главную страницу

Архитектура сервера для статистического анализа

В настоящее время я стою перед решением о том, как разработать систему, которая обрабатывала бы статистические данные в облаке.
Я хотел бы знать, какую структуру сервера мне следует использовать, чтобы иметь возможность легко масштабировать вычисления с помощью облака.

Чтобы быть более конкретным, я хотел бы знать, должен ли я для целей вычисления статистических данных использовать только облако или гибрид (выделенные серверы и облачные серверы).

Сервис, который я сейчас создаю, будет анализировать мобильные данные для моих клиентов.
Чем крупнее клиент, тем больше БД и больше вычислений.
Если вы знаете лучший шаблон проектирования сервера, который лучше всего подходит для такого сценария, я был бы очень признателен.

Ваша проблема не в "структуре сервера". Если ваше программное обеспечение не может работать в массовом параллельном режиме, вы не сможете масштабировать его для обработки больших наборов данных. Однако из-за отсутствия информации о том, что именно вы пытаетесь сделать, невозможно даже дать вам полезную помощь о том, как структурировать код (что в любом случае будет вопросом для Stack Overflow).

Этот вопрос в настоящее время обсуждается, поэтому перед тем, как он уйдет, я скажу следующее:

Старайтесь избегать преждевременной оптимизации. Начните с одного клиента, одного сервера и одной базы данных. Разрабатывайте программное обеспечение с учетом масштабируемости, но не тратьте слишком много времени на чрезмерную оптимизацию и абстрагирование программного уровня, чтобы оно работало «идеально».

Вам, вероятно, следует обратить внимание на некоторые технологические стратегии, такие как сегментирование баз данных и архитектура без совместного использования ресурсов. Вероятно, вы получите хорошую производительность от кластера с уменьшенным отображением, возможно, на основе Hadoop, а возможно, и нет.

В начальном вопросе много подвопросов. Те, которые, вероятно, следует выбрать отдельно и задать вопрос на StackOverflow.

Если вы действительно не уверены в конструкции архитектуры вашего сервера, вам следует сделать две вещи.

  1. Придерживайтесь того, что Вы хорош в. Вы разрабатываете программное обеспечение.
  2. Нанять системного архитектора, который сделает все на стороне сервера и заставит все работать вместе.