Je travaille sur un projet de migration de données assez volumineux qui implique le déplacement de données entre des serveurs et différents schémas d'enregistrements actifs. L'ensemble de la migration prend littéralement des jours.Rails/MySQL écriture paresseuse sur .save (mises à jour/écritures)
Comment puis-je implémenter une solution de mise en cache où mon code de migration Ruby lorsqu'il appelle la méthode d'enregistrement Active Record écrit dans un cache (qui met alors à jour la base de données MySQL de manière asynchrone). La mémoire n'est pas une limitation. Toutes les solutions de mise en cache dans Rails semblent bien traiter les lectures de chargement/requête, mais les écritures sont quelque chose sur lequel je n'ai pas trouvé grand-chose.
Est-ce quelque chose qui est facilement réalisable dans MySQL en accordant des paramètres de configuration? Ou existe-t-il une solution de cache pour Ruby/Rails?
J'ai regardé Delayed Job bien qu'il ne s'agisse pas d'un calque de cache (et il n'est pas apparent que quelqu'un l'ait utilisé pour des écritures paresseuses dans la base de données). J'ai regardé les tables de stockage MEMORY dans MySQL mais bien sûr, elles ne sont pas écrites sur le disque. Memcached n'est pas construit pour cela.
S'il vous plaît aviser!
Les changements de schéma sont assez méchants et impliqués. Je ne peux pas le faire au niveau SQL purement. –