2013-06-03 8 views
2

J'ai un grand ensemble de données d'environ 600 000 valeurs qui doivent être comparées, permutées, etc. à la volée pour une application Web. Les données entières doivent être chargées car certains calculs nécessiteront de sauter des valeurs, de les comparer en désordre, etc.grand ensemble de données pour analyser la page Web

Cependant, chaque valeur est seulement 1 octet

je considérais le charger comme un tableau JSON géant, mais cette page me fait penser que cela pourrait ne pas fonctionner dependably: http://www.ziggytech.net/technology/web-development/how-big-is-too-big-for-json/

En même temps, ce qui oblige le serveur pour charger le tout pour chaque demande d'être un gaspillage de ressources du serveur, car les clients peuvent faire le nombre croquant tout aussi facilement.

donc je suppose que ma question est la suivante:

1) Est-ce possible de faire de manière fiable dans jQuery/Javascript, et si oui, comment?

2) Si jQuery/Javascript est pas la meilleure option, ce serait la meilleure façon de le faire en PHP (lire dans les fichiers par rapport aux tableaux géants via inclure?)

Merci!

+1

Les 600 Ko ne représenteraient-ils pas à peu près 0,57 mégaoctets, et ce n'est pas vraiment «géant», et ça ne devrait pas être un problème? – adeneo

+0

Désolé, supposons que plusieurs de ces fichiers doivent être chargés, c'est-à-dire que nous traitons environ 5 Mo de données brutes dans des tableaux imbriqués, etc. – davidkomer

+1

Pouvez-vous nous fournir plus d'informations sur l'origine de ces données, les fichiers de données, base de données...? –

Répondre

1

Je sais qu'Apache Cordova peut faire des requêtes sql.

http://docs.phonegap.com/en/2.7.0/cordova_storage_storage.md.html#Storage

Je sais qu'il est PhoneGap mais il fonctionne sur les navigateurs de bureau (au moins tous ceux que je l'ai utilisé pour le développement d'applications de téléphone)

Ma suggestion:

Mirror votre base de données base de données locale Cordova de chaque utilisateur, puis exécutez toutes les requêtes sql que vous voulez! -Transfert des données de votre serveur à la webapp via JSON -Faites glisser les demandes de données vers le bas en quelques parties. De cette façon, vous pouvez facilement fournir une barre de progression au lieu d'attendre que toute la base de données soit téléchargée -Créer une table avec une entrée qui conserve la version actuelle de votre base de données, vérifiez cette table avant d'envoyer toutes ces données. Et changez-le chaque fois que vous voulez forcer une mise à jour. Cela maintient la base de données des utilisateurs à jour et réduit la bande passante

Si vous avez besoin d'une poussée dans la bonne direction, j'ai déjà fait cela.

Questions connexes