Резюме: Промышленный термометр используется для измерения температуры на технологическом устройстве. В течение нескольких месяцев образцы просто хранятся в базе данных SQL. Существуют ли какие-либо известные способы сжимания температурной кривой, чтобы можно было эффективно хранить гораздо более длительную историю (например, для целей аудита)?Как эффективно сжимать/архивировать температурную кривую?
Дополнительная информация: На самом деле существует гораздо больше термометров и, возможно, других датчиков, связанных с технологией. И есть хорошо известные временные интервалы, где кривая принадлежит партии, обработанной на машине. Температурные кривые должны быть добавлены в пакетную документацию.
Моя идея заключалась в том, что температура является гладкой функцией, которую можно каким-то образом интерполировать - скажем, что звук сжат с использованием формата MP3. Сжатие не должно быть бессодержательным. Тем не менее, должна быть возможность восстановить температурную кривую (не обязательно идентичные значения проб и идентичный интервал выборки), скажем, чтобы иметь возможность построить кривую или рассказать, какая температура была в определенное время.
Исходные значения образцов из таблицы SQL будут обработаны, сжатая версия будет храниться в другом месте (возможно, также в базе данных SQL, как blob), а затем необработанные образцы можно удалить, чтобы сохранить пространство базы данных.
Есть ли широко известный и широко используемый подход к проблеме?
Большинство (все?) SQL-базы данных поддерживают прозрачное сжатие данных, в идеале даже столбчатое хранилище, что позволяет более эффективно использовать корреляции данных. Но сколько данных мы говорим здесь? Также для некоторых случаев использования вам не нужно хранить необработанные исторические данные, таких агрегатов, как среднее и процентилей, может быть достаточно для вашего варианта использования.И если исторические данные не должны быть легко доступны, вы можете просто выгрузить их в сжатый файл и загрузить, например, Amazon S3. – NikoNyrh