Вопрос Работа с базой данных

Версия Minecraft
1.20.X

whylovv

Пользователь
Сообщения
6
Пишу плагин на аукцион. Сейчас лоты сохраняются каждые 15 минут и при выключении сервера путём удаления всех строк из базы данных и записывания новых. Сами лоты хранятся как кеш в мапе. Вопрос в том, как сделать лучше:
1) оставить всё как есть
2) изменить способ сохранения, чтобы строки заменялись либо просто добавлялись. а при удалении лота (например снятие с продажи или покупка) удалять строку
3) сразу обновлять строки при взаимодействии с лотом, будь то выставление на продажу, поштучная покупка, полная покупка и т.д.
Для синхронизации с другими серверами использую redis, но понятное дело что он не взаимодействует с БД.
 
Решение
3) сразу обновлять строки при взаимодействии с лотом, будь то выставление на продажу, поштучная покупка, полная покупка и т.д.
Это. База данных должна всегда содержать самые актуальные данные
3) сразу обновлять строки при взаимодействии с лотом, будь то выставление на продажу, поштучная покупка, полная покупка и т.д.
Это. База данных должна всегда содержать самые актуальные данные
 
Лучше всего придерживаться принципа "всё что попало в базу, в ней должно и остаться", не удаляй строчки, а сделай им отдельный столбец valid
Для чего это нужно? Смысл хранить то, что уже никогда не будет использоваться?
 
Для чего это нужно? Смысл хранить то, что уже никогда не будет использоваться?
Как минимум будет информация о всём, что происходило с базой. Да и с операцией delete могут возникнуть проблемы, например если у тебя не просто одна таблица, а их несколько и они связаны по ключам, для базы будет легче сделать update. Если ты думаешь, что база раздуется, то наврятли так сильно, как предполагаешь
 
Для чего это нужно? Смысл хранить то, что уже никогда не будет использоваться?
Потому что "никогда не будет использоваться" часто оказывается "пока что не будет использоваться""

Например, игрок пишет: "у меня пропал лот", "я купил, но не получил"
Если старые записи удалены - проверить уже нечего, остается только верить на слово.
А хранение почти ничего не стоит, зато в любой момент можно вернуться и разобраться, что реально произошло(Например)
 
Назад
Сверху Снизу