Должен ли я перейти на Redshift? - PullRequest
2 голосов
/ 21 ноября 2019

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

данные выглядят так:

date, product_id, orders
2019-11-01, 1, 100
2019-11-01, 2, 200
2019-11-02, 1, 300

У меня есть сотни данных-разделы и миллионы строк за дату.

Теперь, если я хочу запросить, например, общее количество заказов для идентификатора продукта 1 и 2 за период 2 недели и сгруппировать по дате (чтобы показать на графике по дате), БД должна пойтидо 2 недель перегородок и выборки данных для них.

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

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

Спасибо!

Ответы [ 3 ]

3 голосов
/ 21 ноября 2019

Если вы боретесь с традиционными базами данных SQL, то Amazon Redshift, безусловно, является вариантом. Он может обрабатывать таблицы с миллиардами строк.

Это потребует загрузки данных из Amazon S3 в Redshift. Это позволит Redshift оптимизировать способ хранения данных, делая его намного быстрее для запросов.

В качестве альтернативы, вы можете рассмотреть возможность использования Amazon Athena , которая может запрашивать данные непосредственно из AmazonS3. Он понимает данные, которые разделены на отдельные каталоги (например, основанные на дате).

0 голосов
/ 26 ноября 2019

Учитывая ваш случай Amazon Redshift может быть хорошим выбором, как и Amazon Athena . Но также важно учитывать структуру вашего приложения. Вы предпочитаете переходить на Amazon только для базы данных или у вас есть другие сервисы Amazon в списке?

Также, прежде чем принимать решение, проверьте стоимость Redshift.

0 голосов
/ 21 ноября 2019

Какую версию PostgreSQL вы используете? Используете ли вы собственные разделы или разделы наследования trigger-based?

Последняя версия улучшенного управления разделами postgresql.

...