En raison de la nature des données que nous recueillons dans notre application, le nécessaire pour permettre à l'utilisateur d'être en mesure de rechercher par 1.000.000 lignes de données, et recevoir les résultats côté client aussi vite que possible.Comment montrer énorme quantité de côté client de données du rapport (MongoDB, JS)
Nous avons joué avec différentes techniques et expérimentons actuellement le moteur de stockage de documents MongoDB. Nous stockons essentiellement les données du rapport dans Mongo de la façon dont nous voulons le montrer du côté client. Mais, c'est ici que je voulais m'appuyer sur votre expérience. Nous avons utilisé des plugins de table de rapports tels que datatables.net, mais lorsqu'un client demande des données pouvant correspondre à plus de 100 000 enregistrements, la latence dans la livraison de ces données au client peut prendre plus d'une minute pour exporter le JSON du serveur vers client.
J'ai essayé filtrer l'ensemble de résultats que par l'envoi de 1000 résultat à la fois pour le client, mais si l'utilisateur décide de trier une colonne? La requête entière doit être effectuée à nouveau, et les 1000 premiers résultats chargés dans le client. Mais si le client choisit de faire une recherche dans une colonne, les résultats doivent être ré-extraits. Tous ces problèmes n'existent pas lorsque tous les des données a été chargé dans le côté client. Donc essentiellement ma question est, comment pouvez-vous efficacement et rapidement, permettre aux clients de rechercher et de manipuler de grands ensembles de données, mais les résultats sont livrés au côté du client d'une manière qui ne nécessite pas que tous les résultats soient envoyés en une seule fois , gardant ainsi le côté client aussi léger que possible?
Je suis sûr qu'il doit y avoir quelques plugins de type datatable frontaux pour MongoDB, potentiellement via Node.js pour la communication directe JSON, mais je ne peux pas trouver quoi que ce soit!
Merci pour votre aide.
Il est intéressant de noter que MongoDB stocke des objets dans [BSON] (http://bsonspec.org/), donc il y a toujours une conversion vers JSON. Je pense qu'une grande partie de la latence que vous voyez est simplement due à la quantité de données qui doit être transférée et analysée côté client. –