Автор: Патрик Штуди (@pstuedi) | Целевая версия: 0.22.0; 7.1.0 | Статус: Объединён | Обсуждение: https://github.com/confluentinc/ksql/pull/7993
Краткое содержание: Для запросов на извлечение диапазона по таблицам используйте интерфейс диапазона, предоставляемый хранилищем состояний для извлечения записей, вместо сканирования таблицы.
В настоящее время запросы на диапазон по первичным ключам (например, WHERE colX < T) реализуются с помощью сканирования таблицы с последующей операцией фильтрации, что неэффективно. Недавно в Kafka Streams были добавлены возможности сканирования диапазона (KAFKA-4064). После этой работы мы должны оптимизировать выполнение запросов на диапазон в ksqlDB, напрямую используя специальный интерфейс запроса диапазона для повышения эффективности ввода-вывода и производительности.
С помощью этой функции запросы диапазона по первичным ключам будут извлекать точный диапазон записей из базового хранилища состояний, а не извлекать все записи и отбрасывать несоответствующие записи с помощью фильтрации. Ожидаемый результат — повышение эффективности ввода-вывода и улучшение производительности.
Новый синтаксис не добавляется.
Чтобы эффективно поддерживать запросы диапазона по таблицам, необходимо внести несколько изменений в отношении того, как обнаруживаются возможности для сканирования диапазона, как генерируется физический план и как реализуется материализация:
Мы добавим новые модульные и интеграционные тесты, чтобы убедиться, что запросы диапазона дают правильный результат. Мы также улучшим возможности бенчмаркинга, чтобы оценить улучшения производительности благодаря оптимизации сканирования диапазона.
Это оптимизация, прозрачная для приложений, поэтому мы не ожидаем каких-либо проблем с совместимостью.
Ожидаемых последствий для безопасности нет.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )