Как хэшировать всю таблицу красного смещения? - PullRequest
0 голосов
/ 03 мая 2019

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

Я обнаружил Хеширование таблиц для обеспечения согласованности в Postgres, Redshift и MySQL , но для решения по-прежнему необходимо указать каждое имя и тип столбца, чтобы нельзя было применять новые таблицы в общем виде. Мне придется вручную изменить имена и типы столбцов.

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

1 Ответ

1 голос
/ 03 мая 2019

Конечно, в Redshift нет встроенной возможности хешировать целые таблицы.

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

Вы можете исследовать, используя новые Хранимые процедуры в Redshift , чтобы увидеть, можете ли вы создать универсальную функцию, которая будет работать для любой таблицы.

...