2010-06-17 8 views
1

Nous avons besoin de gérer 10 000 GPS, chaque appareil GPS télécharge des données GPS toutes les 30 secondes, ces données doivent être stockées dans la base de données (SQL Server 2005).Mémoire de données de masse avec SQL Server

Chaque dispositif GPS quantité de données quotidienne est: 24 * 60 * 2 = 2880 10 000

10000 appareils GPS quantité de données quotidienne est: 10000 * 2880 = 28800000

Chaque données GPS environ 160Byte, la quantité de données par jour est la suivante: 28.800.000 * 160 = 4.29GB

Nous avons besoin de détenir au moins 3 mois de données GPS dans la base de données,

Ma question est:

1, si SQL Server 2005 peut prendre en charge une telle quantité de magasin de données?

2, Comment planifier le tableau de données? (Tout le stockage de données GPS dans une table de table quotidienne Chaque dispositif GPS avec une table de données GPS??)


Les données GPS:

GPSID varchar(21), 
RecvTime datetime, 
GPSTime datetime, 
IsValid bit, 
IsNavi bit, 
Lng float, 
Lat float, 
Alt float, 
Spd smallint, 
Head smallint, 
PulseValue bigint, 
Oil float, 
TSW1 bigint, 
TSW1Mask bigint, 
TSW2 bigint, 
TSW2Mask, 
BSW bigint, 
StateText varchar(200), 
PosText varchar(200), 
UploadType tinyint 

J'ai tendance à utiliser la table de partition. Cependant, comment définir les limites?

+0

Toutes les données stockées dans un tableau (nom de table: GPSTracks), pour le stockage de données, la requête, la gestion est très pratique. Mais le problème est que la quantité de données dans cette table est trop grande!La partition de table semble être une bonne idée, mais si la démarcation de la frontière est un problème difficile. – Leo

+0

Chaque jour une table (nom de table: GPSTrack_20100617), peut réduire la quantité de données GPS, mais toujours très grand (4.29GB), la requête de données sera encore lente, plus important encore, face à la requête cross-day sera très douloureuse. – Leo

+0

Chaque appareil GPS avec une table de données GPS (nom de table: GPSTrack_1531332567, "1531332567" est un identifiant GPS), peut résoudre le problème de quantité de données et des requêtes très rapide, mais il y a une question cruciale: besoin d'insérer des données dans une autre table, mais aussi de vérifier que la table de destination existe). – Leo

Répondre

6

Oui, SQL Server 2005 peut contenir cette quantité de données.

Pour pouvoir répondre à la dernière question, nous aurions vraiment besoin de savoir comment vous alliez utiliser les données. Par exemple, si vous vouliez faire des requêtes sur toutes les données, le mettre dans des tables quotidiennes serait un problème. Vous avez également le problème de savoir comment géreriez-vous le changement quotidien des tables?

Je voudrais d'abord penser à conserver les données dans une seule table qui utilise le partitionnement de table et de mettre les partitions historiques dans les groupes de fichiers qui se trouvent sur le disque rapide pour les lectures. Cela rendra l'interrogation des données plus rapide.

2
  1. si SQL Server 2005 peut prendre en charge une grande quantité de stockage de données?

Oui, Sql Server a été montré pour être en mesure de stocker peta octets d'informations.

2, Comment planifier un tableau de données? (Tous les GPS stockage de données dans une table? Tous les jours de table ? Chaque dispositif GPS avec une table de données GPS ?)

Il n'y a pas besoin de séparer les données sur la table. Cela rendra la récupération de données beaucoup plus lourde à l'avenir. Vous voulez regarder table partitioning.

https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/datacenter/?p=139

+0

La partition de table est une solution parfaite pour l'insertion, la requête, la sauvegarde et ainsi de suite. Cependant, la quantité de données par jour est déjà très grande, comment définir les limites de la fonction de partition, une partition chaque jour? – Leo

+0

Je déciderais de vos limites sur le processus de chargement et de déchargement des données, par ex. s'il est chargé et vieilli tous les jours ou toutes les semaines. – Andrew

Questions connexes