Блог

Главная / Блог / Улучшение производительности оптимизации pushdown в Centerprise

Содержание
Автоматизированный, Без кода Стек данных

Научиться Astera Data Stack может упростить и оптимизировать управление данными вашего предприятия.

Повышение производительности оптимизации развертывания в Centerprise

28-сентября, 2023

Широкое внедрение облачных баз данных и систем транзакционной отчетности в бизнес-среде привело к экспоненциальному росту объема и разнообразия данных, передаваемых через организации. В результате аналитикам, которым когда-то было поручено выполнять ETL или ELT для тысяч записей, теперь приходится иметь дело с наборами данных, исчисляемыми миллионами или даже миллиардами.

В этой среде технологии, отвечающие за обработку данных и предоставление бизнес-аналитики соответствующим лицам, принимающим решения, оказались под новой нагрузкой. Традиционным инструментам ETL поручено обрабатывать все более сложные и объемные операции с данными, в то время как серверы преобразования работают на пределе своих возможностей.

оптимизация pushdown

В то время как ELT может значительно уменьшить это бремя перенося ресурсоемкую обработку данных на масштабируемую облачную СУБД, оптимизация с понижением уровня не может полностью заменить ETL. Любые потоки данных, содержащие источники и назначения, не относящиеся к базе данных, или неподдерживаемые преобразования, по-прежнему будут требовать извлечения на промежуточный сервер. Кроме того, некоторые операции могут выполняться более эффективно, если они выполняются через специальный инструмент ETL.

В последний выпуск Centerprise, мы стремимся предоставить нашим пользователям возможность настраивать и комбинировать оба ETL и ELT-процессы, чтобы обеспечить оптимальную производительность даже в самых сложных потоках данных. Многие из улучшений, наблюдаемых в этой сборке, являются прямым результатом практических отзывов, полученных от клиентов, которые изо всех сил пытались реализовать все преимущества оптимизации с понижением уровня в своих собственных бизнес-процессах. Вот некоторые из ключевых изменений, которые мы внесли в Centerprise 8.0.

Ограничьте сортировку в памяти

В качестве преобразования на уровне блоков сортировка требует, чтобы все входные наборы данных были кэшированы в памяти, прежде чем их можно будет упорядочить в соответствии с критериями пользователя. Эти операции не ограничиваются только преобразованием сортировки; другие преобразования, такие как агрегирование и объединение, также предоставляют возможность сортировать входящие данные перед их дальнейшей обработкой. В результате поток данных может включать в себя несколько экземпляров этого дорогостоящего преобразования, происходящего во всем потоке данных, что, конечно, значительно увеличит время его выполнения.

По этой причине мы рекомендуем сортировать входные наборы данных в источнике, прежде чем они будут импортированы в Centerprise сервер, запустив это преобразование в режиме оптимизации с понижением. Кроме того, для любых преобразований с исключенным извлечением вниз, которые предоставляют возможность сортировки данных, этот параметр должен быть отключен, чтобы обеспечить максимальную эффективность в конвейере потока данных.

Проверка и исправление недопустимых логических выражений

В режиме оптимизации с понижением Centerprise автоматически преобразует логические значения в целые числа (например, 1 и 0 для истинных или ложных выходных данных), чтобы улучшить функциональность операторов SELECT базы данных. Однако эта функция может привести к проблемам при использовании логических выражений в потоке данных. Для правильного выполнения этих операторов WHERE требуются дополнительные операторы, т. е. IIF(1=1, 1, 0). Но в режиме оптимизации с понижением логические выражения преобразуются следующим образом: IIF (1,1,0). Хотя это утверждение логически допустимо, оно приведет к ошибкам при использовании вложенных логических выражений.

Например, когда внутреннее предложение IIF преобразуется в следующее выражение:

IIF(IIF(CHARINDEX('Начисление', [DimClaim].[ClaimSource]) > 0, 1, 0), 'Начисление', [DimClaim].[ClaimSource])

он производит вывод:

IIF(1,'Начисление', [DimClaim].[ClaimSource])

что является синтаксически недопустимым утверждением.

В таких случаях пользователю необходимо будет самостоятельно исправить выражение, добавив оператор 1=1 вручную в поток данных. Приведенный выше пример можно изменить на оператор CONTAINS следующим образом:

If(Contains("Начисление", [DimClaim].[ClaimSource])) = true, "Начисление", [DimClaim].[ClaimSource])

In Centerprise В версии 8 мы упростили совместное использование выражений между операторами SELECT и WHERE, добавив поддержку переменных (многоразовых объектов) в режиме оптимизации с выталкиванием.

Исключите объекты из оптимизации с понижением, где это предпочтительно

Альтернативно, пользователь может вообще исключить выражения из режима pushdown, используя новый параметр «Исключить из pushdown» атрибут. Эта функция также полезна для запуска объектов, которые невозможно эффективно сопоставить с исходной или целевой базой данных или которые работают в базе данных по-другому.

Например, когда выражения приводят к выводу X=Y, где X и Y являются нулевыми значениями, Centerprise способен оценить выражения как истинные. Однако если эти значения содержатся в предложении WHERE в базе данных, они всегда будут оцениваться как ложные. В этом случае было бы предпочтительнее выполнить выражение с помощью инструмента ETL, а не с помощью ELT.

В предыдущих случаях нам удавалось увеличить время выполнения клиентского потока данных на 30 и более минут за счет разумного исключения объектов и выражений на основании их пригодности для передачи вниз.

Проверьте поддерживаемые преобразования оптимизации с понижением

Некоторые выражения if/else также можно преобразовать в преобразования-переключатели, которые теперь поддерживаются в Centerprise. В базе данных эта функция работает аналогично оператору CASE и может использоваться для упрощения сложных выражений. Новейшие версии Centerprise также включает поддержку полей макета, у которых нет входного порта, а также ряд других функций ETL, которые теперь можно надежно реплицировать в поддерживаемых базах данных.

Полный список поддерживаемых в настоящее время преобразований см. Astera Centerprise режиме pushdown, обратитесь к нашему подробному руководству по этой теме.

Повышение производительности потока данных с помощью ручных подсказок SQL

Если пользователь чувствует, что оптимизатор базы данных выполняет поток данных неоптимальным образом, он может использовать подсказки оптимизатора для изменения плана выполнения. В Centerprise, эти подсказки можно ввести на вкладке планировщика потока данных, в результате подсказки будут применяться ко всем запросам и источникам в потоке.

В предыдущем примере использования наш клиент смог использовать подсказки оптимизатора, чтобы обеспечить дополнительную степень параллелизма в потоке данных, тем самым гарантируя, что ресурсы сервера будут максимально использованы для выполнения ресурсоемкого процесса ELT, в котором несколько различных источников данных были объединены в единый файл. одиночный запрос.

Оптимизатор подсказок запросов также будет полезен в процессе загрузки хранилища данных, когда таблицы измерений из разных источников присоединяются к таблице фактов на промежуточном сервере. В таких случаях пользователь может использовать подсказки SQL, чтобы решить, что и как следует размещать для достижения оптимальной производительности.

Возьмите под контроль обработку данных вашего предприятия

Такое сочетание дополнительных функций и оптимизаций должно дать нашим пользователям возможность контролировать эффективность и общую производительность своих операций ETL и ELT на каждом этапе пути к данным. Независимо от того, разрабатывают ли они новые корпоративные хранилища данных или переносят свои записи в инфраструктуру облачных баз данных, CenterpriseВозможности нажатия вниз могут оказаться важными.

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

Вам также может понравиться
7 лучших инструментов агрегирования данных в 2024 году
Структура управления данными: что это такое? Важность, основные принципы и передовой опыт
Лучшие инструменты приема данных в 2024 году
принимая во внимание Astera Для ваших потребностей в управлении данными?

Установите соединение без кода с вашими корпоративными приложениями, базами данных и облачными приложениями для интеграции всех ваших данных.

Давайте соединимся сейчас!
давайте соединимся