Je veux diviser une table de produit en beaucoup plus petit, et mettre la table dans un serveur différent. mais il y a quelques problèmes avec moi: si je partage la base de données avec l'identifiant du produit. Comment puis-je obtenir tous les produits appartiennent à certaines catégories lorsque quelqu'un énumère une catégorie de produits. Quelqu'un at-il de bons idéaux?stratégie de partitionnement de base de données
Répondre
C'est une bonne question. Si tout ce que vous voulez faire est de mettre des enregistrements dans une autre base de données et que vous ne ferez pas de jointures avec ces enregistrements sur d'autres tables, alors oui vous devez indiquer à votre application d'insérer les enregistrements 1-10000 dans la partition 1 et 10001 -20000 dans le fragment 2. Mais si vous voulez faire une requête de fragment 1 à fragment 2, cela ne fonctionnera pas, et vous aurez besoin d'un produit comme dbShards. dbShards est un bon outil de sharding et a de bonnes critiques. En outre, ils vous aideront à développer une stratégie globale de sharding pour votre application.
Espérons que ça aide.
Le problème de base avec sharding est toujours le même: vous ne savez pas comment partitionner depuis le début.
Si vous ne disposez pas de 100 millions de lignes dans le tableau, il est évident que vous n'avez pas besoin de vous en occuper. Les fragments ne résolvent aucun type de performance de requête.
J'ai essayé une fois de deviner ce qui sera populaire et problématique dans DB et échoué misérablement. Maintenant, je comprends que j'ai besoin de résoudre ce problème quand il se passe et j'ai besoin d'écrire du bon code pour faire des changements de ce genre dans le futur (voir le modèle de dépôt par exemple).
Les connaissances de base sur les performances de la base de données sont également bonnes. Ajoutez à cela la résolution des requêtes lentes (slowlog est un bon point de départ) et ignorez les opérations de jointure.
- 1. Déterminer l'archivage ou la stratégie de partitionnement?
- 2. base de données mysql partitionnement automatique
- 3. Partitionnement de base de données SQL 2005 pour SharePoint
- 4. Partitionnement dynamique de base de données Sql Server
- 5. Partitionnement de données parititionné/Réduction
- 6. MySQL table de partitionnement
- 7. Partitionnement de script/table SQL
- 8. Problème de partitionnement industriel
- 9. Partitionnement de serveur SQL
- 10. Partitionnement de tables
- 11. partitionnement mysql
- 12. Compteur de vues de page - Configuration de la base de données et technique/stratégie
- 13. Stratégie de base de données pour plus de 10 000 instances d'un ERP
- 14. stratégie de sauvegarde Mysql
- 15. Problème de stratégie: Récupération de données à partir de XML pour mettre à jour la base de données de base de données locale?
- 16. Stratégie de couche d'accès aux données
- 17. Partitionnement de tables SQL Server 2008
- 18. Stratégie de transfert de données DB entre les serveurs SQL
- 19. partitionnement de table sans application de recodage?
- 20. Flex - meilleure stratégie pour synchroniser les données client avec la base de données backend?
- 21. stratégie pour structurer un index de recherche dans une base de données relationnelle
- 22. Stratégie de fusion pour l'accès à la base de données 2007
- 23. Modifications du schéma de base de données nécessaires chaque année. Quelle stratégie devrait être utilisée?
- 24. Stratégie de base de données pour la synchronisation basée sur les changements
- 25. Question de modèle de conception de base de données relationnelle - base de données Massive Read Only
- 26. stratégie de persistance de l'objet facile - hiberner?
- 27. Stratégie de synchronisation de dossiers/messages IMAP?
- 28. partitionnement mysql
- 29. Stratégie de sélection multiple contrôlée par AJAX Stratégie
- 30. Partitionnement Oracle
La première question est: pourquoi voulez-vous faire cela? Qu'est-ce qui te fait penser que tu as besoin de taper? – Mchl
parce que la table de produit est très grande maintenant. je veux améliorer la performance. M'aiderez-vous? – 52226777
qu'est-ce qui est très grand? –