2017-09-20 5 views
1

J'ai besoin de charger d'énormes ensembles de données en mémoire. Actuellement, utiliser kryo comme sérialiseur pour stocker les objets dans IMap. Quels sont les meilleurs moyens d'optimiser la consommation de mémoire.Optimisation de la mémoire dans Hazelcast

Répondre

2

La sérialisation Kryo est déjà une très bonne sérialisation et une tactique pour optimiser l'utilisation de la mémoire. Vous pouvez aller un peu plus loin en utilisant IdentifiedDataSerializable mais cela implique un peu plus de programmation manuelle. D'une part, vous pouvez ajouter plus de nœuds au cluster et donc étendre les données, d'autre part, vous pouvez utiliser Hazelcast HDMS pour stocker les données hors-stock et les sortir de la zone de collecte des ordures.

Y at-il un problème spécifique que vous essayez de résoudre maintenant?

+0

Essayez d'optimiser la mémoire et l'heure de la requête. Des suggestions pour réduire le temps de requête sur des données volumineuses (utilisant actuellement le prédicat de pagination)? – user3203030

+0

Vous aurez besoin de plus de nœuds pour diffuser des données et donc interroger plus de machines/processeurs. Une désérialisation plus rapide est également préférable. Vous pourriez également vouloir regarder dans la sérialisation portative qui prend en charge la désérialisation partielle des éléments. – noctarius