Я ищу конкретные примеры того, как кто-то решил следующую проблему в Greenplum (или в другой базе данных MPP):
У меня есть большие таблицы фактов, которые я хотел бы хранить в столбцовой ориентации и сжимать (в Greenplum это будет, в частности, сжатие zlib уровня 5).
Однако каждая новая строка имеет короткий период времени, в течение которого ее можно обновить, прежде чем она станет «статической» — например, значение может изменяться до тех пор, пока не будет поднят какой-либо флаг. В Greenplum для использования сжатия мне нужно использовать типы таблиц «только добавление», что означает, что строка не может быть безопасно обновлена напрямую.
Итак, в моей неопытной голове я полагаю, что подход к этому может заключаться в том, чтобы иметь две таблицы: одна содержит строки, пока им разрешено обновляться, которая может использовать стандартное хранилище HEAP и не имеет сжатия, а другая содержит только те, которые стали «статические» (подавляющее большинство), которые имеют столбчатую ориентацию и сжаты.
Ясно, что задействована механика, которая усложняет жизнь (объединение двух, если я хочу просмотреть все, запуск удаления из одной таблицы и вставка в другую, когда строка становится статической, и т. д. и т. д.), поэтому Я был бы очень признателен, если бы услышал о реальном решении этой проблемы.
Спасибо
Энди.