recherche

Maison  >  Questions et réponses  >  le corps du texte

Questions sur les scénarios d'utilisation de MongoDB

La base de données actuelle du site Web est MYSQL, qui stocke de nombreux enregistrements d'informations sur les chansons.

Je me demandais si ce serait plus rapide si j'interrogeais les chansons de MongoDB ?

Lorsque vous ajouterez ou supprimerez des informations sur une chanson à l'avenir, vous devrez les synchroniser avec MongoDB en même temps, n'est-ce pas ? Je n'ai aucune expérience avec NOSQL, merci de me donner quelques conseils, merci.

滿天的星座滿天的星座2790 Il y a quelques jours771

répondre à tous(4)je répondrai

  • 给我你的怀抱

    给我你的怀抱2017-05-02 09:27:47

    De nombreux problèmes n’ont pas qu’une seule solution, ce qui signifie que vous pouvez utiliser telle ou telle technique. Le but de l'apprentissage peut être celui que vous souhaitez, mais dans un environnement de production réel, il est fortement recommandé de simplifier votre complexité et de résoudre les problèmes de la manière la plus simple qui vous soit la plus familière. Demandez-vous s’il est vraiment nécessaire d’utiliser 2 bases de données pour résoudre le même problème.

    Je me demandais si ce serait plus rapide si la partie requête de chanson était interrogée depuis MongoDB ?

    Peut-être, peut-être pas. Cela dépend de la quantité de données dont vous disposez, du caractère raisonnable de la conception du modèle de données utilisant MongoDB et... de la quantité de ressources matérielles que vous envisagez d'y investir. NoSQL se concentre davantage sur l'expansion horizontale, ce qui signifie qu'il peut toujours maintenir la vitesse des requêtes à un certain niveau même si la quantité de données continue d'augmenter. D'après mon expérience personnelle, s'il y a des dizaines ou des centaines de millions de données, MongoDB peut vraiment montrer ses avantages. Avant que les données n'atteignent ce niveau, je ne pense pas qu'il soit vraiment nécessaire d'introduire une base de données supplémentaire si c'est uniquement pour des raisons de rapidité. Par rapport aux avantages que cela vous apporte et à la complexité que cela entraîne, on peut seulement dire que ce n'est pas rentable.

    Lorsque vous ajouterez ou supprimerez des informations sur une chanson à l'avenir, vous devrez les synchroniser avec MongoDB en même temps, n'est-ce pas ?

    Le problème de la synchronisation des données dépend du niveau de vos exigences en matière de « cohérence ». Dans le cas d'une forte cohérence, il s'agit d'une transaction distribuée, ce qui n'est probablement pas une bonne chose pour les performances et va à l'encontre de votre intention initiale d'accélérer la transaction. Si vous envisagez une cohérence éventuelle, vous pouvez consulter divers outils ETL MySQL vers MongoDB, tels que Pentaho. Bien sûr, il est possible de l'implémenter vous-même via le code, mais il n'est pas facile de considérer divers problèmes de tolérance aux pannes.

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-02 09:27:47

    Tout d'abord, vous devez savoir clairement que MongoDB est une implémentation spécifique de NoSQL Contrairement à Redis, la structure de données qu'il stocke est basée sur des documents.

    Deuxièmement, la vitesse des requêtes est difficile à prendre des décisions arbitraires basées sur les différences entre les produits ou les moteurs. De plus, les informations stockées et la manière de les stocker nécessitent également une analyse (si. vous vous entraînez simplement, le processus peut être plus simple).


    Je n'ai appris MySQL auparavant qu'en raison de l'incertitude ou de la complexité de la structure de certaines données stockées, si je veux utiliser MySQL seul pour les stocker, je dois utiliser de nombreuses tables et configurer des clés étrangères, j'ai donc aussi appris. MongoDB pour répondre aux besoins.

    Ce que je fais est une pratique littéraire, qui s'apparente un peu aux chansons d'un certain point de vue. Par exemple, il peut y avoir plusieurs auteurs d'un livre. Si vous utilisez MySQL, la méthode simple consiste à utiliser des délimiteurs pour stocker plusieurs auteurs dans un seul champ. Il y aura certains problèmes dans les requêtes ultérieures (complexité des conditions de jugement et même des performances). ), et une chanson A peut également avoir plus d'un chanteur.

    Ma pratique est MySQL + MongoDB Bien sûr, cela peut aussi être réalisé en utilisant uniquement MongoDB, mais je pense que les besoins spécifiques doivent être analysés en conséquence. Ma pratique globale est toujours en cours, et je peux communiquer à tout moment, une des idées proposées ci-dessus.

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-02 09:27:47

    Elasticsearch exécute les requêtes plus rapidement sans affecter les performances de MySQL

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-02 09:27:47

    Je suppose que vous aurez peut-être besoin de fonctions telles que la recherche de chansons basées sur les paroles. L'Elasticsearch mentionné ci-dessus est très bon, et il existe également sphinx, qui est également très bon pour la recherche en texte intégral.

    répondre
    0
  • Annulerrépondre