Comunidad de diseño web y desarrollo en internet online

cual es la mejor manera de extructurar este proyecto mySQL?

Citar            
MensajeEscrito el 03 Jun 2007 04:56 pm
hola a todos.

en primer lugar, gracias por la labor que realizais con el foro, a muchos nos es de una ayuda enorme ;).

Bueno, al lio ... la verdad que no se como explicarlo... lo intentare de la manera mas breve y concisa que pueda... El proyecto es el siguiente:

tengo unos localizadores personales, que emiten por GPRS una sentencia NMEA en este formato

$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70 (añadiendo un tipo de estado adicional aqui, tipo AUTO, LOW BATTERY.... etc)

$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a,m*hh

bueno .. el dispositivo para poder identificarlo como unico envia una variable IMEI (el identificador unico del celular que envia por GPRS).

mi problema es como extructuro la BD. un cliente puede tener un dispositivo o muchos... si compra 10 dispositivos ... pues tendra 10 licencias para los 10 dispositivos.. ahora bien.. los dispositivos pueden enviar casi en tiempo real, indistintamente donde se encuentren a la misma base de datos del servidor... imaginemos el siguiente caso.

100 clientes con 15 dispositivos que envian a la BD una sentencia cada 10 seg... que luego esos clientes pueden consultar en su lado de cliente donde se encuentra velocidad, rumbo, fecha, hora...

como creeis que es la mejor manera de hacerlo?
Tengo varias teorias...
recordemos que en todo momento guardamos esta informacion
ejem : $GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70,MODO

1 > crear una BD con una tabla por IMEI... (cosa que no me parece una buena idea..)
2 > crear una BD con 10 tablas segun termine el IMEI (de 0-9) y guardar por cada campo un imei
que reparta la carga entre las tablas..
3 > crear una BD con una tabla y guardar por cada campo un imei ...

no se cual sera la mejor manera para que haya entradas simultaneas de datos cada cierto intervalo, y a la vez consultas... si existiera un prolblema de sobrecarga de datos.. siempre tengo carta blanca de eliminar las entradas pasados 3 meses por ejemplo...

que me decis .. =? que opinais...? alguna recomendacion interesante ...=? un poco de luz me vendria bien en este punto..

Saludos y gracias de antemano...
trikyman.

Por trikyman

6 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 03 Jun 2007 05:24 pm
yo tendría una infinidad de tablas....

tbl_clientes
Guardamos los datos del cliente (nombre, apellidos, contraseñas etc etc)

tbl_gps
guardamos los datos del GPS junto con su ime, por ejemplo
IMEI = X , DATOS : Y

tbl_clientes_gps (o tbl_meta o tbl_relation,... como quieras)
guardamos una relación cliente-imei
CLIENTE X , IMEI Y
un cliente puede tener varios imei's (lo que no es problema, simplemente dos o más filas
cliente 3 imei 123456
cliente 3 imei 789789
cliente 3 imei 654321
cliente 1 imei 123123

las tablas tbl_clientes y tbl_cliente_gps serían de "control" para relacionar los datos correctamente
la tabla_gps sería un log de cada vez que se envían los datos a través del GPS, crecería de manera considerable, así que habría que buscar algún sistema para ir limpiando los datos de vez en cuando, o simplemente volcarlos a otras tablas "copia" o a ficheros de texto.

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 03 Jun 2007 05:56 pm
en primer lugar, gracias por la velocidad a la que me has respondido.. jeje estoy viendo armageddon y todavia no le ha da tiempo a bruce willis a enfrentarse al capitan que quiere volar la bomba en la superficie jajaj.. ...

osea la filosofia es crear una tabla por imei guardando la cantidad ingente de datos... habra algun problema de bloqueo por accesos simultaneos tanto de entrada de datos o consulta de los mismos... ?? luego tengo otra curiosidad que se me plantea sobre el papel.. dentro de la sentencia esta implicita la hora y fecha (UTC) (que dicho sea de paso es la hora zulú, osea que si marca las 14:15 del 22 marzo es esa fecha y hora en todo el mundo, cada cual que sume su hora GMT, teniendo en cuenta la hora estival: invierno o verano) cual seria la forma mas rapida de consulta.. crear un campo mas redundando la informacion de fecha y hora.. o puedo usar la que esta dentro de ese campo para la busqueda..? es casi el dato mas imprescindible.. ;)

graicas ante todo por tu tiempo.

Por trikyman

6 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 03 Jun 2007 06:02 pm
Un servidor "standard" de MySQL admite 1000+ (más de 1000) conexiones simultáneas (es decir, en el mismo segundo 1000 GPS podrían enviar sus datos y no pasaría nada).

No sé cual es la cantidad de registros que se pueden generar, por eso la idea de ir haciendo copias en otras tablas o en ficheros por que imagino que serán muuuchos datos. Esperemos que algún master nos ilumine un poco en este aspecto.

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 03 Jun 2007 06:12 pm
el servidor implemantado es de ARSYS y es dedicado para la web de la empresa, se basa en un servidor linux con php, e imagino que sea un servidor MySQLite (cosa de la que no estoy seguro)... la verdad que si llego a tener mil dispositivos.. independientemente de que envien o no... creo que me podria permitir mejorar los recursos.. jeje... la verdad que me gustaria poder guardar un historial (y no cargarmelo cada 3 meses...) asi que tengo que pensar en la solucion mas viable.. luego tengo mas tablas en las que guardo las preferencias del cliente como el color del track, grosor.. tipo de marca para cada punto.. etc... a parte tengo qeu controlar cuando caduca su licencia....


gracias por tu tiempo ;) (muy chula tu web)

Por trikyman

6 de clabLevel



Genero:Masculino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.