Обработка больших данных одним нажатием кнопки - PullRequest
1 голос
/ 17 мая 2011

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

Например, приложение запускает симуляцию для прогнозирования будущих результатов, а затем выполняет некоторый статистический анализ этих данных вместе с историческими данными. Существует большое количество ЦП для запуска симуляции и большой объем БД при вставке, затем много больших чтений из БД для сбора исторических данных и больше ЦП для статистического анализа.

По сути, нужно обработать много данных (интенсивно использующих процессор и ввод-вывод), и результаты должны быть теоретически показаны одним нажатием кнопки.

Я понимаю, что это не всегда реалистичная цель в зависимости от интенсивности, но каковы некоторые типичные архитектуры для выполнения такой задачи?

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Google делает это, чтобы вернуть результаты поиска.

Проверьте Hadoop - http://hadoop.apache.org/ - и, в частности, MapReduce.

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

1 голос
/ 17 мая 2011

Роб предложил хороший подход с использованием MapReduce.

Я полагаю, что этот вид обработки является частью процесса интеллектуального анализа данных, и в процессе интеллектуального анализа данных используется иной подход, чем в традиционной модели ответа на запрос.

Какминимальный

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

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

Большую часть времени это может быть сделано в автономном режиме, например, при ночной работе или при заполнении этой таблицы, когда нагрузка минимальна!

Этот подход является одним из подходов, используемых вВы видите «Клиент, который купил этот товар, также купил» в типичном приложении электронной коммерции.

для получения дополнительной информации и справок, см.

1- Анализ сервера SqlУслуги

2 - Совместная фильтрация элементов к элементам (особенно относится к реализации Amazon )

...