Ver Mensaje Individual
  #34  
Antiguo 15-03-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.917
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por darkerbyte Ver Mensaje
Idea #2: Mamcx nos ha sugerido la idea de usar bitmaps. Aunque entiendo muy poco de eso Si me quedan claro tres cosas:
Haz de cuenta que funciona igual que un Array, solo que unicamente acepta valores True/False:

Código Delphi [-]
datos[0]:=True;
datos[1]:=False;
datos[2]:=False;
datos[3]:=True;

Y que internamente se almacenas BITS, no BYTES, lo que hace que sea super compacto.

Lee bien los links, hay estan explicados y con graficas

Cita:
Empezado por darkerbyte Ver Mensaje
3. Se necestaria descargar toda la base de datos para cada actualización.
No. Como vez en el script, es posible cargar el archivo, asignar datos y volverlo a salvar. Osea que se puede hacer los mismo que con una BD: Preguntar por los cambios desde la version X o desde la fecha X, actualizar el BITMAP y salvarlo.

Sin embargo, es posible ademas reutilizar un servicio como dropbox (que tiene SDK para usarse como libreria interna en mobiles y funciona identico), asi que si haces el archivo en el servidor, lo pones en dropbox, este lo sincronizaria entre las maquinas.

Esa es otra opcion. Probablemente para evitar lios de corrupcion, hay que chequear el SDK para recibir la notificacion de cuando termina el proceso, y mover el archivo a una ubicacion fija cuando termine

Cita:
Empezado por darkerbyte Ver Mensaje
La verdad es que nunca he trabajado en Phyton. ¿Phyton se puede utilizar para crear aplicaciones moviles?
Si: http://kivy.org

Pero si vas a hacer una app por la que te pagan, es mejor usar malo conocido

(Python es muy simple en general, pero en cuanto a mobiles, son pocas las opciones maduras: El lenguaje nativo de cada plataforma es la opcion #1, luego siguen MONO, C/C++ plus Lenguaje nativo, ciertas herramientas con Lua, Delphi, etc.)

Cita:
Empezado por darkerbyte Ver Mensaje
Y la pregunta del millon. Ahora pensando en el servidor. ¿Que sera mas facil/rapido generar el archivo para python ó el script para actualizar la BD? Considerando que en el servidor si tendremos una BD relacional. Tal vez Oracle o algun otro monstruo.
Usa una BD relacional. El monstruo que quieres se llama Postgres.

No solo tiene los comandos necesarios para manipular bits:

http://www.postgresql.org/docs/9.3/s...bitstring.html

Se pueden programar los procedimientos/funciones en muchos lenguajes (como python!), y por ende, se puede usar el codigo que puse de base para guardar la info en un campo BITSTRING:

http://www.postgresql.org/docs/9.3/s...atype-bit.html

O un campo binario:

http://www.postgresql.org/docs/9.3/s...pe-binary.html

P.D: Mira tambien:

http://dba.stackexchange.com/questio...sql-bit-string

Generar de forma rapida en el servidor el archivo puede requerir algo de gimnasia. Estuve mirando generar los 100 millones y realmente lento de forma sequencial. Explotando que solo importaria los datos True se puede (quizas) reducir un poco pero al final la gracia es crear un codigo que sea multi-proceso * N-Cores * N-Threads, generar (digamos) de a millon de datos en archivos y concatenar los archivos en uno solo.
__________________
El malabarista.
Responder Con Cita