Il y a des implications différentes pour les deux approches.
En supposant que vous utilisez Elasticsearch, les paramètres par défaut, avoir 1 index pour chaque modèle permettra d'accroître considérablement le nombre de vos éclats, comme 1 indice de l'utilisation de 5 éclats, 5 modèles de données utilisera 25 éclats; tandis que le fait d'avoir 5 types d'objet dans 1 indice est toujours en cours d'utilisation 5 fragments.
Implications pour chaque modèle de données de l'index:
- Efficace et rapide pour effectuer une recherche dans l'index, la quantité de données devrait être plus petit dans chaque fragment puisqu'il est distribué à différents indices.
- La recherche d'une combinaison de modèles de données à partir de 2 ou plusieurs indices va générer des frais généraux, parce que la requête doit être envoyée à plus de débris à travers des indices, compilé et envoyé à l'utilisateur.
- Pas recommandé si votre jeu de données est faible puisque vous devrez payer plus d'espace de stockage à chaque éclat d'être créé et que le gain de performance est marginal.
- Recommandé si votre jeu de données est grande et vos requêtes prennent beaucoup de temps, depuis dédiés sont les éclats de stockage de vos données et il sera plus facile pour Elasticsearch à traiter.
Implications pour chaque modèle de données comme un type d'objet dans un index:
- Plus de données wiill être stockée dans les 5 fragments d'un index, ce qui signifie qu'il ya moins de frais généraux problèmes lors de la requête à travers les différents modèles de données, mais votre éclat de taille sera beaucoup plus important.
- Plus de données dans les éclats va prendre plus de temps pour Elasticsearch à la recherche par le biais de depuis il ya plus de documents à filtre.
- Pas recommandé si vous savez que vous allez par le biais de 1 téra-octets de données et que vous n'êtes pas la distribution de vos données à travers différents indices ou plusieurs fragments dans votre Elasticsearch cartographie.
- Recommandé pour les petits ensembles de données, parce que vous ne perdrez pas d'espace de rangement pour un faible rendement de gain étant donné que chaque fragment de l'espace dans votre matériel.
Si vous vous demandez ce que c'est trop de données vs de données de petite taille? En général, il dépend de la vitesse du processeur et de la RAM de votre matériel, la quantité de données que vous stockez à l'intérieur de chaque variable dans votre cartographie pour Elasticsearch et votre requête exigences; à l'aide de nombreuses facettes dans vos requêtes va ralentir considérablement le temps de réponse. Il n'y a pas de réponse simple à cela et vous aurez à l'indice de référence en fonction de vos besoins.