2017-02-15 10 views
1

У меня есть сотрудник, награждающий & система слежения за компанией. Компания, в которой я разрабатываю систему, предоставляя мне данные о продажах с помощью FTP каждый день. (К сожалению, они не предоставляют веб-сервис для этого.) Я должен хранить & обрабатывать все новые данные о продажах и сотрудниках, и я должен рассчитать, сколько очков выиграли сотрудники, продавая, сколько значков у них есть ... (на основе продажи). У меня уже есть система, работающая правильно, но я думаю о переносе этих процессов вычислений в облако и просто переносе точечных данных после вычислений. Моя система считывает все данные о продажах и хранит их в MySQL. После этого PHP-скрипт обрабатывает необработанные данные в данные точки. Мои веб-страницы не загружают необработанные данные, они просто нуждаются в базовой личной информации и балансе сотрудника-кошелька.Как построить стабильную систему для обработки 90 миллионов строк и трансляции в живой сервер каждый день?

В этом случае, какая система баз данных может быть лучше для этого? Какая услуга (AWS, Gcloud и т. Д.) Подходит для наших нужд? Что можно сделать, чтобы эта система работала быстрее?

Заранее спасибо.

+0

Какая черта вы отслеживаете, если вы получаете 90 миллионов точек данных/день продаж? Я хочу сказать, что вы должны «работать умнее», а не «работать усерднее». Точечная система не должна требовать больше, чем пару минут на вашем ноутбуке, а не какая-то огромная установка облаков. –

ответ

1

Прежде всего сделайте несколько процессов параллельными и асинхронными, представив очередь сообщений (загрузка, обработка файлов, расчеты и т. Д.). Для PHP/MySQL самая простая рекомендация - Beanstalkd, она имеет хороший admin panel.

Для больших шагов вы должны выбрать облачный сервис, например Google BigQuery, где каждый месяц у вас есть 1TB-запросы бесплатно, а затраты на хранение - 10-20 долларов США для TB (Q1 2017). Это требует, чтобы вы вставляли копию своих данных в BigQuery либо путем потоковой вставки, либо путем загрузки заданий. После ввода данных вы можете писать SQL-запросы на более длительные периоды даже на больших наборах данных. Если вам нужно изменить некоторые строки с помощью пользовательских функций, вы можете сделать это тоже внутри BigQuery.

Если вы ищете замену MySQL выше 2000 QPS, вы можете проверить Cloud Spanner здесь Quizlet's great article what is Spanner good for.

 Смежные вопросы

  • Нет связанных вопросов^_^