Лучший способ архивировать данные SQL и показывать в веб-приложении при необходимости - PullRequest
2 голосов
/ 11 мая 2011

У меня около 10 таблиц, содержащих миллионы строк.Теперь я хочу заархивировать 40% данных из-за проблем с размером и производительностью.

Как лучше всего заархивировать старые данные и запустить веб-приложение?И в ближайшем будущем, если мне нужно будет показать старые данные вместе с существующими.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 11 мая 2011

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

  1. Если ваше приложение не может быть переработано и требуется мгновенный доступ ко всем вашим данным, вам необходимо использовать более мощное аппаратное / программное решение.
  2. Если ваше приложение не может быть переработано, но некоторые из ваших данных могут считаться устаревшими, поскольку они запрашиваются относительно реже, вы можете разделить данные и настроить два приложения для доступа к разным данным.
  3. Если ваше приложение может 'не может быть изменен, но некоторые из ваших данных могут считаться нечувствительными и могут быть сведены к минимуму (объединены, упакованы и т. д.), вы можете выполнить некоторое преобразование данных, а также хранить полные данные в другом месте для особых запросов.
  4. Если есть возможность перестроить ваше приложение, есть много способов решить эту проблему. В общем случае вы реализуете какую-то архивную подсистему, и в целом это сложная проблема, особенно если изменяются не только ваши данные во времени, но и структура данных.
  5. Если это возможночтобы изменить дизайн приложения, вы можете оптимизировать структуру данных, используя новые вспомогательные таблицы, индексы и другие объекты и алгоритмы базы данных.
0 голосов
/ 04 февраля 2013

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

0 голосов
/ 11 мая 2011

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

...