2016-10-31 10 views
0

У меня есть таблица в MySQL, которая имеет около 50 миллионов записей (продолжает расти), и речь идет о потребностях в подписке.Как рассчитать/обработать большие объемы данных?

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

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

Я хотел бы знать, есть ли известное решение (ы) или технология для таких ежедневных задач.

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

Кто-нибудь знает хорошие решения для таких задач?

спасибо.

ответ

1

Одним из вариантов может быть репликация - http://dev.mysql.com/doc/refman/8.0/en/replication.html

Таким образом, вы можете запускать любые запросы вы хотите на реплицируются БД, не влияя на живую БД.

+0

Спасибо @ Брайан, БД уже является рабом. У меня есть несколько запросов, которые занимают 15-20 минут, а общий процесс ETL занимает около 25-30 минут в день (что является проблемой, если мне приходится загружать данные отставания/истории). Моя самая большая проблема заключается в том, что для каждого клиента мне приходится вычислять последнее и предпоследнее потребление, а группировать данные клиентом, чтобы затем рассчитать все деловые случаи, немного тяжело. Я думаю о переносе необработанных данных в промежуточную область/файл и поиск технологии, которая затем манипулирует этими данными. – livinha