J'ai quelques grandes tables de production MySQL que j'ai besoin de sauvegarder pour pouvoir exécuter des analyses dans Hadoop. Quelles sont les meilleures pratiques que je devrais connaître pour faire des vidages et des requêtes de bases de données de production? Dois-je m'inquiéter d'affecter les performances de production si je ne fais que des vidages/lectures (et pas d'écriture)?Interrogation et création de vidages de bases de données de production
Répondre
Oui, vous devez vous en préoccuper. Les tables MyISAM se verrouilleront pendant les lectures, aucune modification ne sera autorisée, juste d'autres lectures. InnoDB n'a pas ce problème, mais il se verrouillera si vous interrogez de grands ensembles de données. Les vidages verrouillent n'importe quel type de table dans presque tous les cas. En règle générale, vous configurez une base de données esclave et répondez à toutes vos questions à ce sujet. Même configurer un esclave uniquement à des fins de reporting. Vous devrez arrêter le serveur MySQL pour configurer une configuration maître/esclave. Mais une fois que vous faites cela une fois, vous pouvez utiliser un esclave pour créer d'autres esclaves.
Cela dépend de la taille de la base de données et de la configuration de la réplication.
La configuration optimale (opinion) serait d'avoir un maître qui écrit constamment à un esclave (qui est autrement en lecture seule). De cette façon, vous pouvez exécuter un mysqldump sur l'esclave lui-même et les applications de production peuvent continuer à écrire au maître sans avoir à se soucier de mysqldump. Clause de non responsabilité: Je suis un amateur de MySQL, pas un administrateur de bases de données. Grain de sel, etc.
- 1. Création, en visualisant et Interrogation simples Structures de données
- 2. Interrogation plusieurs bases de données sur SQL Server
- 3. Rails 3. Création d'une base de données de production
- 4. Bases de données et DVCS
- 5. nginx_http_push_module et bases de données
- 6. Façon de synchroniser la production et tester les bases de données
- 7. Création de plusieurs bases de données ou une
- 8. Aide à la création de bases de données requise
- 9. register_shutdown_function et problème de bases de données!
- 10. MySQL: Structuration de données complexes et interrogation
- 11. Création d'environnements de développement et de production Winform C#
- 12. Prism Modules et bases de données
- 13. NHibernate et plusieurs bases de données
- 14. Indexation des bases de données
- 15. migrations de bases de données Grails Liquibase
- 16. interrogation de bases de données sur le même serveur avec linq
- 17. données Interrogation de différentes tables
- 18. Recherche de bases de données
- 19. Création d'une vue DB2 sur deux bases de données
- 20. Création d'un composant pour accéder à plusieurs bases de données
- 21. Création d'un trigger sur différentes bases de données
- 22. Bases de données orientées objet
- 23. Bases de données multiniveaux
- 24. Exemple d'outil de création de données (principalement pour les bases de données)
- 25. Fusionner 2 bases de données SQL Server
- 26. Création d'image sur le serveur de production
- 27. Bases de données et troisième forme normale
- 28. Entity Framework et bases de données multilingues
- 29. bases de données relationnelles et messages multidiffusion
- 30. Django et plusieurs bases de données
Nous l'utilisons dans la production depuis environ un an, et cela nous a épargné pas mal de temps d'arrêt quotidiens (10 minutes d'importance!). – Wrikken