Как мне оценить стоимость использования MS SQL Server и Amazon Redshift?
У меня есть клиент, использующий SQL Server для всего, в том числе для управления маркетинговыми панелями с помощью аналитических запросов. Они рады начать загружать данные в Redshift в качестве хранилища данных только для повышения скорости (например, запросы, которые занимают часы, теперь занимают минуты или секунды). Но они хотят сравнить стоимость.
Я немного наивен, как это сделать, поскольку это очень разные инструменты, например, я говорю, что нервничаю по поводу стоимости полета по сравнению с использованием моего велосипеда по городу.
Каковы наилучшие данные о структуре и ценах для реалистичного сравнения?
2 ответа
Есть два фактора, которые определяют желаемый размер кластера Amazon Redshift:
- Объем хранения данных
- вычисление
Очевидно, вам понадобится достаточно узлов для хранения данных, поэтому реальный вопрос заключается в том, сколько (и какого размера) узлов вам необходимо для достижения желаемого уровня производительности.
Если "запросы, которые занимают часы, теперь занимают минуты или секунды", тогда стоимость, вероятно, не станет определяющим фактором при выборе системы, но ее стоит сравнить.
Вероятно, вам следует начать с самого маленького кластера, который может вместить ваши объемы данных, а затем сравнить затраты. Если производительность удовлетворительная, вы сможете быстро сравнить цены. Однако вы можете также рассмотреть возможность добавления дополнительных узлов, чтобы получить еще большую производительность. Это может стоить дополнительных затрат, если это означает, что бизнес может получать информацию быстрее.
Кроме того, потратьте некоторое время на то, чтобы ваши данные оптимально хранились в Amazon Redshift. Это требует понимания того, как использовать DISTKEY
а также SORTKEY
чтобы запросы выполнялись очень быстро. Выполнение этой задачи может уменьшить / исключить необходимость в дополнительных узлах.
Необходимо запустить POC, чтобы полностью отразить динамику цена / производительность.
В качестве очень приблизительного руководства вы можете использовать эту формулу, чтобы найти размер кластера Redshift для начала (вы можете изменить размер, чтобы добавить больше узлов по мере необходимости).
Сначала вам нужно извлечь данные из SQL Server и сжать их. 1 ТБ в SQL Server, как правило, будет 100-200 ГБ в сжатом виде, может быть меньше.
size of gzipped data in GB | 500GB
* 1.5 (size once loaded in Rs)| 750GB
------------------------------|----------
= initial Redshift data size | 750GB
/ 256GB (per DC2.large node) | 2.93 nodes
/ 0.70 (target 70% disk use) | 4.18 nodes
------------------------------|----------
= initial Redshift node count | 4 nodes
* 25¢/hr (US-East-1 price) | $1/hr