Может ли снежинка работать как оперативное хранилище данных, для которого я могу писать остальные API - PullRequest
0 голосов
/ 14 июля 2020

Я изучаю базу данных снежинок, и у меня есть вариант использования агрегирования данных, когда мне нужно предоставить агрегированные данные через Rest API. Хотя прием и агрегация данных, кажется, четко определены, является ли Snowflake системой, которую можно использовать в качестве хранилища операционных данных для обслуживания API с высокой пропускной способностью? Или это антипаттерн для этой системы

1 Ответ

0 голосов
/ 15 июля 2020

Обновление на основе вашего недавнего комментария.

Вот несколько быстрых результатов тестирования, которые я сделал на больших таблицах, которые находятся в производстве. * Изменены имена таблиц для отображения.

записи vLookupView = 175,760,316

записи vMainView = 179,035,026

SELECT 
    LP.REGIONCODE
    , SUM(L.VALUE)    
FROM DBO.vLookupView AS LP
INNER JOIN DBO.vMainView AS M
    ON LP.PK = M.PK
GROUP BY LP.REGIONCODE;

Результаты:

SQL SERVER 
Production box - 2:04 minutes
**Snowflake:**
By Warehouse (compute) size
XS - 17.1 seconds
Small - 9.9 seconds
Medium - 7.1s seconds
Large - 5.4 seconds
Extra Large - 5.4 seconds

Когда я добавил условие WHERE

WHERE L.ENTEREDDATE BETWEEN '1/1/2018' AND '6/1/2018'

, результаты были:

SQL SERVER 
Production box - 5 seconds
**Snowflake:**
By Warehouse (compute) size
XS - 12.1 seconds
Small - 3.9 seconds
Medium - 3.1s seconds
Large - 3.1 seconds
Extra Large - 3.1 seconds
...