Должны ли неиспользуемые таблицы быть заархивированы? - PullRequest
0 голосов
/ 21 января 2019

В нашей базе данных есть таблица, которая занимает около 25 ГБ.Он больше не используется текущим кодом.

Даст ли он какие-либо улучшения производительности (для остальных таблиц), если мы заархивируем эту таблицу, даже если она не запрашивается / не используется?Пожалуйста, предоставьте объяснение.

Мы используем MySQL с AWS Aurora.

Ответы [ 3 ]

0 голосов
/ 05 февраля 2019

Архивирование таблиц не повлияет на Аврору. Неиспользованные страницы в конечном итоге удаляются из пула буферов [1], и с тех пор они никогда не возвращаются к экземплярам db, если вы не сделаете запрос, который коснется этих страниц.

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

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

[1] Буферный пул использует LRU для выселения. Когда ваша рабочая нагрузка выполняется долго, в конечном итоге вы исключаете все страницы, связанные с неиспользуемой таблицей. Ссылка: https://dev.mysql.com/doc/refman/5.5/en/innodb-buffer-pool.html

0 голосов
/ 06 февраля 2019

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

  • Уменьшение занимаемой площади, уменьшение количества операций ввода-вывода и сканирования диска
  • Уменьшение занимаемой площади уменьшает требования к буферу и, следовательно, требования к ОЗУ.
0 голосов
/ 21 января 2019

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

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

...