Будучи новичком в Snowflake, я пытаюсь понять, как писать хранимые процедуры (SP) на основе JavaScript, чтобы использовать преимущества многопоточной / параллельной обработки. Мой опыт работы: SQL Сервер и пишущий SP, использующий такие преимущества производительности, как степень параллелизма, рабочие потоки, индексирование, исключение сегментов хранилища столбцов.
Я начал привыкать к настройке хранилища и используя ключи кластеризации, микроразделы и любую другую доступную функцию производительности, но я не понимаю, как SP Snowflake разбивают данный оператор SQL на параллельные потоки. Я изо всех сил пытаюсь найти любую документацию, чтобы объяснить внутреннюю работу. Моя задача - создавать SP, которые сериализуют все в одном потоке и становятся узкими местами. Мне интересно, применяю ли я правильную технику / мне нужно другое мышление для разработки SP. Я надеюсь, что объяснил свою проблему достаточно. По сути, я создаю Po C для переноса локального SQL серверного решения DWH ETL на решение Snowflake / Matillion ELT, одним из аспектов которого является оценка необходимого мне размера виртуального хранилища.