Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
| Возможность | Поддерживается | Примечания |
|---|---|---|
| Движок хранения исходной таблицы | HEAP / MARS3 | |
| Тип распределения исходной таблицы | Hash / Random / Segment Set | Не поддерживает таблицы только для мастера или реплицированные таблицы в качестве исходных |
| Партитционирование исходной таблицы | Поддерживается | |
| Движок хранения потоковой таблицы | HEAP / MARS3 / AO | |
| Ключ распределения потоковой таблицы | Разрешён пользовательский ключ распределения, может отличаться от ключа исходной таблицы | Лучшей практикой является сохранение согласованности. Для агрегационных потоков совпадение ключей распределения позволяет выполнять локальные вычисления потока |
| Свойства хранения потоковой таблицы | Поддерживается независимый выбор движка хранения, партитционирования и ключа распределения | |
| Поддержка нескольких столбцов в исходной таблице | Поддерживается | Поддерживает исходные таблицы с ≥ 300 столбцами |
| Одна таблица → несколько потоков | Поддерживается | Несколько потоков одного уровня могут использовать одну и ту же исходную таблицу. «Одна таблица» означает одну и ту же исходную таблицу вверх по потоку |
| Обогащение измерений (JOIN) | Поддерживается | Поддерживает соединение с ≥ 10 таблицами измерений |
| Агрегация | Поддерживается | Поддерживает группировку по ≥ 32 полям. Внутренне несколько полей могут объединяться в составной тип для агрегации |
| DDL исходной таблицы | Не поддерживается | Создание индекса на исходной таблице не влияет на потоки вниз по потоку. Удаление индекса может привести к сбою выполнения потока |
| DDL потоковой таблицы | Не поддерживается | Операции DDL над столбцами потоковой таблицы не поддерживаются. При необходимости изменений пересоздайте поток. Примечание: если исходная таблица также подвергается изменениям DDL, рекомендуется пересоздание потока |
| Индексы потоковой таблицы | Поддерживаются | Индексы могут быть независимо созданы и поддерживаться на потоковых таблицах |
| Фильтрация измерений | Поддерживается | Поддерживаются условия фильтрации для таблиц измерений при выполнении JOIN при обогащении измерений |
| Поддержка отказоустойчивости | Поддерживается | Потоки продолжают работу после отказа сегмента. Однако небольшое количество транзакций вокруг времени переключения может быть потеряно |
| Накладные расходы по производительности | Минимальное влияние на запись в исходную таблицу; результаты потока доступны в течение нескольких секунд | |
| Обработка больших транзакций | Поддерживается | Внутренние оптимизации включают пакетную обработку и снижение использования памяти при декодировании журнала транзакций, что повышает стабильность при обработке больших транзакций. Однако использование потоковой обработки на таблицах, подверженных большим транзакциям, следует применять с осторожностью |
| Обработка исторических данных | Поддерживается | При создании потока используйте опцию WITH DATA для обработки существующих данных исходной таблицы. Если исходная таблица очень большая, это создаёт огромную транзакцию, блокирующую создание других потоков до завершения |
| JOIN между потоками | Поддерживается | Поддерживает неравенственные JOIN, исходные таблицы с разными ключами распределения и JOIN между исходными таблицами и потоками с разными ключами распределения |
SELECT определения потока не допускаются дублирующиеся имена столбцов. Особенно при использовании агрегатных функций в агрегационных потоках, присвойте уникальные псевдонимы, например, select avg(col1) as avg_col1, avg(col2) as avg_col2. Альтернативно используйте проекцию полей в предложении CREATE STREAM.mx_stream_internal_modify).WITH.FROM STREAMING.GROUP BY должен включать все ключи распределения соответствующей потоковой таблицы.GROUP BY не допускается.HAVING не поддерживается. Вложенные подзапросы с внешними WHERE не могут эмулировать HAVING.avg(col1)+1 недопустимо, но avg(col+1) разрешено.GROUP BY не допускается в вычислениях JOIN между потоками.DISTINCT, SUM, MAX, не допускаются.ORDER BY не поддерживается.FROM STREAMING объявлен только один объект. Следующий пример также считается одним потоком:CREATE TABLE t3 (id int, c1 text, ts timestamp);
CREATE STREAM s3(id, c1, ts, arrive_s3)
AS (
SELECT *, clock_timestamp()
FROM STREAMING t3 WHERE id > 7
UNION ALL
SELECT *, clock_timestamp()
FROM STREAMING t3 WHERE id < 3
WITH NO DATA
)
DISTRIBUTED BY (arrive_s3);
FROM STREAMING. Используется для динамического отслеживания данных из двух или более исходных таблиц и генерации новых результатов JOIN.