数据库 - mongodb表查询问题?
阿神
阿神 2017-05-02 09:20:46
0
2
978

mongodb一个collection里存了日志,现在要进行统计分析。
因为是记录日志,所以经常插入信息,也就没有索引。但是分析查表的时候没有索引又特别慢。想问下有没有什么好的方法。暂时2000W数据量。

阿神
阿神

闭关修行中......

répondre à tous(2)
巴扎黑

De manière générale, les index ne devraient pas avoir un impact très évident sur les performances d'écriture. Bien sûr, si vous devez ajouter beaucoup d'index, c'est une autre affaire. Si vous ne l'avez jamais essayé auparavant, il est recommandé de l'essayer d'abord pour voir combien d'effets secondaires l'indice dont vous avez besoin entraîne et s'il se situe dans la plage acceptable. Si c'est le cas, c'est super, problème résolu. Si cela n'est pas acceptable, vous pouvez envisager les deux options suivantes :

  1. Utilisez le partage pour la transformation.
    Vous devriez déjà savoir ce qu'est le sharding, pas besoin d'expliquer davantage. Le problème posé par cette solution est évidemment que le nombre de serveurs va augmenter considérablement, ce qui est aussi le résultat inévitable de l'expansion horizontale. À long terme, si votre entreprise avance, c’est la voie que vous devez emprunter, alors planifiez à l’avance.

  2. Créez différents index sur différents points de jeu de réplication
    Si vous utilisez toujours un seul nœud, il est recommandé de mettre à niveau vers un jeu de réplicas dès que possible. Il existe de nombreux cas où une défaillance matérielle d’un seul nœud entraîne la perte de données et ne peut pas être récupérée. N’attendez pas que cela se produise pour le regretter. Dans le cadre des jeux de réplicas, chaque résultat peut être indexé indépendamment.

    1. Arrêter le nœud

    2. Supprimez la configuration du jeu de réplicas et démarrez avec différents ports

    3. Construisez l'index dont vous avez besoin sur ce nœud

    4. Redémarrer avec la configuration d'origine

Il convient de noter que le jeu de réplicas doit encore terminer toutes les opérations d'écriture sur le nœud principal, donc un trop grand nombre d'index peut toujours causer des problèmes. Tout reste à tester par vous-même pour tirer des conclusions.

phpcn_u1582

Soit ajoutez un index, soit passez à elasticsearch ou hbase. Il est recommandé de passer à elasticsearch dès que possible

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal