Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как правильно держать архивную базу данных? / 8 сообщений из 8, страница 1 из 1
02.08.2014, 00:03:30
    #38711287
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
У начальства есть желание сохранять активные архивы текущей базы данных то есть база для примера production будет по замыслу начальства иметь копию production_archive. Идея я так понимаю глупая по началу, далее вроде бы production будет чиститься а в архиве будет все сохраняться и можно будет базу перемещать в другое место чтобы не грузить рабочий сервер.

Так вот вопрос: Какими средствами это лучше сделать? 1. Cron раз в день проходит и копирует все вновь прибывшие данные 2. При добавлении данных сразу заноситься в две базы данных (что на самом деле не очень наверное хорошо так как смысл архивной базы это хранить все данные и не грузить сайт)
Вопрос что бы вы посоветовали сделать? Либо посоветуйте статьи на эту тему, хочется простое и элегантное решение. Данных планируется больше миллиона записей в двух основных таблицах в месяц.

Прошу не кидаться тухлыми помидорами если не правильно оформил вопрос.
...
Рейтинг: 0 / 0
02.08.2014, 00:49:28
    #38711297
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
alexnews2. При добавлении данных сразу заноситься в две базы данныхА при обновлении, при удалении записей?

Вообще, сперва надо определиться с целью такого "архива", для чего он служит. Если, к примеру, следует оперативно получить данные с актуальностью, скажем, "по состоянию на 15 сентября позапрошлого года", то такой вариант неприемлем без учета изменений за прошедший период по настоящее время. Записи могли быть добавлены или изменены, удалены. А то, может быть, подойдет и ежедневный полный (или инкрементный) бекап базы с записью на болванку, с которой восстановить/посмотреть данные придется раз в три месяца?
...
Рейтинг: 0 / 0
02.08.2014, 03:35:11
    #38711305
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
alexnewsУ начальства есть желание сохранять активные архивы текущей базы данных то есть база для примера production будет по замыслу начальства иметь копию production_archive. Идея я так понимаю глупая по началу, далее вроде бы production будет чиститься а в архиве будет все сохраняться и можно будет базу перемещать в другое место чтобы не грузить рабочий сервер.

Так вот вопрос: Какими средствами это лучше сделать? 1. Cron раз в день проходит и копирует все вновь прибывшие данные 2. При добавлении данных сразу заноситься в две базы данных (что на самом деле не очень наверное хорошо так как смысл архивной базы это хранить все данные и не грузить сайт)
Вопрос что бы вы посоветовали сделать? Либо посоветуйте статьи на эту тему, хочется простое и элегантное решение. Данных планируется больше миллиона записей в двух основных таблицах в месяц.

Прошу не кидаться тухлыми помидорами если не правильно оформил вопрос.

как вариант: реплилация и бекап.

например: Zmanda - неплохое бекапное решение:

http://wiki.zmanda.com/index.php/How_do_you_install_MySQL_ZRM?
...
Рейтинг: 0 / 0
02.08.2014, 17:56:54
    #38711424
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
alexnewsУ начальства есть желание сохранять активные архивы текущей базы данных то есть база для примера production будет по замыслу начальства иметь копию production_archive. Идея я так понимаю глупая по началу, далее вроде бы production будет чиститься а в архиве будет все сохраняться и можно будет базу перемещать в другое место чтобы не грузить рабочий сервер.


Согласен, глупая идея. Нет смысла что-то чистить, проще хранить всё, и иметь доступ к чему угодно.
Единственное, что может быть оправданием такого -- это таблицы в миллиарды строк, но тогда и MySQL не совсем подходит.



alexnewsВопрос что бы вы посоветовали сделать? Либо посоветуйте статьи на эту тему, хочется простое и элегантное решение. Данных планируется больше миллиона записей в двух основных таблицах в месяц.



Это мало.

Рекомедную:
-- данные НЕ УДАЛЯТЬ
-- периодически делать on-line backup всего (mysqldump + gzip), и/или off-line backup (погасить сервер, скопировать все файлы данных, возможно, их заархивировать).
...
Рейтинг: 0 / 0
06.08.2014, 00:23:42
    #38713545
alexnews
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
vkle,

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

Спасибо всем за советы.
...
Рейтинг: 0 / 0
06.08.2014, 13:38:56
    #38714086
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
alexnewsрешили делать через тригерыНа всякий случай, изучите ситуации, когда триггеры не срабатывают.
...
Рейтинг: 0 / 0
06.08.2014, 15:42:26
    #38714265
Dogen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
alexnewsvkle,
Зачем нужен архив который будет дублировать продакшен я так и не понял, но решили делать через тригеры.
Я тоже не знаю, зачем это делать именно так. Архив по логике надо привязывать к закрытию периода/чистке на основной базе. Иначе основная база должна хранить всё. На триггеры вешать глупое дело, но это субъективное мнение.
...
Рейтинг: 0 / 0
06.08.2014, 15:43:08
    #38714268
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно держать архивную базу данных?
alexnewsУ начальства есть желание сохранять активные архивы текущей базы данных то есть база для примера production будет по замыслу начальства иметь копию production_archive. Идея я так понимаю глупая по началу, далее вроде бы production будет чиститься а в архиве будет все сохраняться и можно будет базу перемещать в другое место чтобы не грузить рабочий сервер.

Так вот вопрос: Какими средствами это лучше сделать? 1. Cron раз в день проходит и копирует все вновь прибывшие данные 2. При добавлении данных сразу заноситься в две базы данных (что на самом деле не очень наверное хорошо так как смысл архивной базы это хранить все данные и не грузить сайт)
Вопрос что бы вы посоветовали сделать? Либо посоветуйте статьи на эту тему, хочется простое и элегантное решение. Данных планируется больше миллиона записей в двух основных таблицах в месяц.

Прошу не кидаться тухлыми помидорами если не правильно оформил вопрос.

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

(генерация самим мусклом)

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


ЗЫ
я бы советал дампом делать копию, если задача стоит откатить полностью базу на какоето время назад(если нечаяно кучу удалили, нечаяно оказалось что натолкали много лишнего или ошибочного)

если ещо надо будет смотреть типо истории изменений записи, тогда

тригер вставки, дублирует вставку в лог

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

если надо чтобы на каждый день в логе была только одна архивная запись
то в логе сделать ключ уникальный на айдиЗаписи+дата и вставлять по принципу
insert into table on duplicate key update
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как правильно держать архивную базу данных? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]