В приложении, в нашей компании мы собираем статистические данные с наших серверов (загрузка, использование диска и т. Д.). Поскольку имеется огромное количество данных, и нам не нужны все данные, мы всегда выполняем процедуру «сжатия», которая берет необработанные данные и вычисляет min. максимальный и средний для нескольких точек данных, сохраните эти новые значения в одной таблице и удалите старые из них через несколько недель.Обработка/сжатие больших наборов данных в нескольких таблицах
Теперь мне поручено переписать эту процедуру сжатия, и новая процедура должна содержать все несжатые данные, которые мы имеем в течение одного года в одной таблице, и «сжатые» данные в другой таблице. Моя основная проблема заключается в том, как обрабатывать данные, которые постоянно записываются в базу данных, и использовать или не использовать «таблицу транзакций» (мой собственный термин, поскольку я не могу придумать лучший вариант, я не говорю об фиксации/отката транзакции).
На данный момент наши сборщики данных вставляют всю информацию в таблицу с именем ovak_result
, а сжатые данные заканчиваются на ovak_resultcompressed
. Но есть ли какие-либо конкретные преимущества или недостатки для создания таблицы с именем ovak_resultuncompressed
и просто использовать ovak_result
в качестве «временного хранилища»? ovak_result
будет минимальным, что было бы полезно для процедуры сжатия, но мне нужно было бы перетасовывать все данные из одной таблицы в другую непрерывно, и в ovak_result
было бы постоянное чтение, запись и удаление.
Есть ли в MySQL механизмы для обработки таких вещей?
(Пожалуйста, обратите внимание: Мы говорим о довольно больших массивах данных здесь (около 100 M строк в таблице несжатой и около 1-10 M строк в сжатой таблице) Кроме того, я могу сделать очень многим, что я хочу. с конфигурацией программного и аппаратного обеспечения, поэтому, если у вас есть какие-либо намеки или идеи, связанные с конфигурациями MySQL или аппаратной настройкой, просто приведите их.)
Интересный двигатель, но, к сожалению, далеко от того, что мне нужно. Отсутствие индексов будет довольно сложно использовать, так как мне нужно присоединиться к некоторым таблицам, и мне нужна функция обновления по крайней мере. Чтобы прояснить мой разговор о сжатии; «сжатие» (должно быть, это может означать это усреднение). Я описал это, чтобы сделать его более удобным (например, графические диаграммы становятся менее загроможденными при просмотре тенденций в течение нескольких месяцев), а не для сохранения дискового пространства.Приоритет производительности определяется дисковым пространством. – Lobo
FlexViews выглядит очень интересно, и хотя я еще не уверен, что это ответ на мою проблему, оба ваших ответа дали мне немало идей и помогли мне в этом процессе, поэтому я называю это принятым ответом. Спасибо alot :) – Lobo
Я рад помочь. Удачи с вашим проектом! –