Стратегии изменения схемы онлайн таблиц MySQL Large

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

Кроме того, mabye UnionFS стоит изучить. С этим я думаю, что каждое местоположение было бы экспортом NFS, и затем Вы могли использовать UnionFS в каждом местоположении, чтобы иметь это и все другие, NFS монтируется от местоположения, появляются как одна файловая система. У меня нет опыта с этим все же.

3
задан 3 October 2011 в 23:46
2 ответа

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

  1. Создать новую таблицу с желаемой структурой.
  2. Добавить триггер в старую таблицу, чтобы скопировать вставленные данные в новую таблицу. Это будет выглядеть примерно так:

     DELIMITER |
    СОЗДАТЬ ТРИГГЕР original_to_new ПОСЛЕ ВСТАВКИ В исходную_таблицу
     ДЛЯ КАЖДОГО РЯДА НАЧАЛА
    INSERT INTO new_table SET col1 = NEW.col1, col2 = NEW.col2 ...
    КОНЕЦ;
    |
    DELIMITER;
    
  3. Обратите внимание на первый идентификатор автоинкремента, перемещенный в новую таблицу с триггером.

  4. Копировать данные из старой таблицы в новую до идентификатора, полученного на шаге 3.
  5. Поменять местами имена таблиц. ПЕРЕИМЕНОВАТЬ исходную_таблицу в исходную_таблицу_бэкап, новую_таблицу в исходную_таблицу
  6. Удалить старую таблицу
2
ответ дан 3 December 2019 в 07:11

Ребята из Continuent включают эту способность в свой продукт Tungsten Enterprise. Например, см .: https://s3.amazonaws.com/releases.continuent.com/doc/tungsten-1.3.3/html/Tungsten-Concepts-And-Administration-Guide/content/ch03s19.html

0
ответ дан 3 December 2019 в 07:11

Теги

Похожие вопросы