Задать вопрос
Ответы пользователя по тегу Ruby on Rails
  • Как перенести проект с базой данных с одного компа на другой?

    @rPman
    Если версия postgres (включая архитектуру процессора и битность операционной системы), первые его два числа, совпадают, то можно перенести все файлы из каталога postgres (если tablespaces вручную переносились в другое место их тоже нужно учесть), пути и диски должны совпадать. Пример пути для windows машины - C:\Program Files\PostgreSQL\16.1\data на linux /var/lib/pgsql. Копировать нужно будет с заменой (точнее с предварительной очисткой целевого каталога), это естественно уничтожит все базы данных на целевой системе. Аккаунты и пароли так же перенесутся.

    Копирование базы это самый быстрый метод, особенно полезен когда размер базы терабайты а времени на развертывание дампа нет.
    p.s. по уму для ssd дисков разница будет не особой, тормоза работы восстановления дампа были заметны на hdd дисках.

    Но я бы все равно рекомендовал бы использовать штатный pg_dump, тем более механизмы резервного копирования с его использованием уже должны были быть настроены и использованы.
    Ответ написан
    Комментировать
  • Как добиться отзывчивого фронтенда при плотной работе с базой?

    @rPman
    Самое простое, что можно попробовать, сделайте 2 базы данных и настройте репликацию master->slave, из слейва читать, в мастер писать.
    Даже в пределах одного сервера это может дать неплохой прирост (правда в результате нагрузка на сам сервер немного повысится), дальше можно крутить индексы, так же можно делать разные индексы на разных серверах master/slave. Главное постараться разделить физически хранилища для этих баз.

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

    Можно поднять слейв на ненадежном хранилище (tmpfs или включить принудительное кеширование записи, например в опциях монтирования ext3/ext4 — data=writeback), это увеличит скорость копирования данных в слейв.
    Ответ написан
    Комментировать