В настоящее время я использую Amazon Kinesis Firehose для выгрузки аналитических данных в таблицу базы данных Redshift.Эта таблица со временем стала очень большой, и запросы становятся все медленнее и медленнее.
Чтобы ускорить процесс, я хотел бы настроить несколько Firehoses и дифференцировать команду COPY на основе содержимого документа json.
Например, если у меня есть два документа json, которые выглядят следующим образом:
tableName: 'abc',
data: 'some string of data'
}
{
tableName: 'xyz',
data: 'some string of data'
}
, я бы настроил два пожарных шланга.Firehose abc запускает команду COPY для таблицы abc
, а Firehose xyz запускает команду COPY для таблицы xyz
.Однако они должны игнорировать данные друг друга, основываясь на tableName
, указанном в json.Например, если xyz
копирует данные, а json имеет tableName: 'abc'
, он должен игнорировать этот документ.
У меня вопрос, возможно ли это или у кого-то есть опыт решения проблемы Redshift?таблица растет до огромных объемов данных и замедляет запросы?