2009-04-03 2 views
3

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

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

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

ответ

5

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

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

0

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

Ссылка: Data Warehouse в Википедии

0

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

0

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

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

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

0

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

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

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

0

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

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

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

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

0

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

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

0

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

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

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

0

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

Но они будут, когда они выполняют эти отчеты, затем обращаются к этим данным.

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

1

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

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

0

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

Смежные вопросы