Какова продолжительность жизни данных? - PullRequest
3 голосов
/ 03 апреля 2009

Недавно я оказался в путанице с базой данных, где руководство хочет иметь возможность удалять данные из базы данных, но все же хочет, чтобы эти данные появлялись в других местах. Пример: они хотят удалить все экземпляры продукта Whizbang, но они все еще хотят, чтобы Whizbang появлялся в отчетах о продажах. (если они побежали один за предыдущую дату).

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

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

Ответы [ 11 ]

5 голосов
/ 03 апреля 2009

Данные живут вечно ... или часто так и должно быть. Одна из распространенных практик - иметь дату окончания и / или начала записи. Таким образом, для вашего свиста у вас есть дата начала (чтобы она не появлялась в отчетах о продажах до ее официального запуска) и дата окончания (чтобы она пропадала из отчетов после того, как истек срок ее действия). Используя правильные даты в качестве критериев для вашей отчетности, а также для ваших приложений, вы не увидите этот гудок за исключением случаев, когда вы должны это делать, а данные все еще существуют (что должно быть, теоретически бесконечно).

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

1 голос
/ 03 апреля 2009

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

Попробуйте добавить столбец «срок действия» или «дата вступления в силу». Это позволит вам пометить продукт как устаревший, но отчеты будут возвращать этот продукт, если временной диапазон удовлетворен.

0 голосов
/ 03 апреля 2009

э-э ... с риском упрощения ... похоже, что использование DateDeleted вместо битов решит проблему длительности хранения.

0 голосов
/ 03 апреля 2009

У меня есть потенциал, чтобы вместить много мертвых данных. (данные, к которым никогда не осуществляется доступ).

Но они получат эти отчеты, когда получат эти отчеты.

До тех пор вам нужно будет хранить данные в какой-либо форме. Перейдите к другому столу или используйте переключатель, как вы упомянули.

0 голосов
/ 03 апреля 2009

[...] но, конечно, все данные имеют определенный срок жизни?

Ни о какой продолжительности жизни мы можем говорить осмысленно. Многие данные бесполезны, как только они созданы или записаны. Такие данные могут быть немедленно отброшены без эффекта. С другой стороны, некоторые данные имеют достаточную ценность, чтобы пережить текущую систему, в которой они размещены. Если бы Amazon полностью заменили свою текущую инфраструктуру, истории клиентов, которые они сохранили, все равно были бы чрезвычайно ценными.

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

0 голосов
/ 03 апреля 2009

У меня есть несколько проектов, в которых клиенту нужны все исторические данные (более 19 лет). Немало действительно старых данных искажено и станет кошмаром для импорта в новую систему. Мы убедили их, что они не будут нуждаться в записях, возвращаемых более чем на 10 лет, но, как вы сказали, все зависит от типа данных, которые вы предоставляете.

Кстати, хранение данных сейчас очень дешево, и если оно не влияет на производительность вашего приложения, я бы просто оставил его там, где оно есть.

0 голосов
/ 03 апреля 2009

Сколько стоит "много мертвых данных"?

Поскольку вычислительные мощности и хранилище данных настолько дешевы, я бы не удалял старые данные, если бы для этого не было достаточно веских причин. Вы также должны рассмотреть юридические последствия. Крупные (и даже небольшие) компании могут иметь невероятно длительные политики хранения старых данных, чтобы сэкономить миллионы в будущем, когда их судья вызывает в суде.

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

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

0 голосов
/ 03 апреля 2009

Наш особый вкус варьируется. У нас есть некоторые данные (подавляющее большинство), которые устаревают через 3 месяца (жесткий лимит продукта), но могут быть восстановлены в любой более поздний срок.

У нас есть другие данные, которые фактически бессмертны.

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

0 голосов
/ 03 апреля 2009

Да, все данные имеют срок службы. И да, это зависит от типа данных, которые у вас есть.

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

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

0 голосов
/ 03 апреля 2009

Я всегда проходил мимо того, что ищет правящий орган. Например, IRS хочет, чтобы вы сохраняли 7-летнюю историю или по соображениям безопасности мы храним 3 года журнальной информации и т. Д. Итак, я думаю, вы могли бы сделать 2 вещи, определить, какова продолжительность жизни ваших данных, я бы сказал, 3 года достаточно, а затем вы можете добавить флаг is_deleted вместе с датой, чтобы вы могли пометить некоторые данные для удаления раньше, чем позже.

...