User Tag List
Discusión: Estructura de vuestras Bases de Datos
-
21/12/09, 10:20 PM #1
Institución
Moderador
- Registrado
- Apr 2009
- Posts
- 2,135
- Agradecimientos
-
- 4395
- 2454
- Mencionado
- 40 Post(s)
- Tagged
- 0 Hilo(s)
Estructura de vuestras Bases de Datos
Hola,
después de haber programado algunos bots y herramientas para apostar, me veo en la necesidad de guardar en bases de datos (BBDD) la diferente info que voy a necesitar para dos nuevos estudios que tenía parados tiempo atrás. Estoy por lo tanto en el paso de diseñarla y por eso me gustaría oir vuestras ideas, cómo os lo habéis montado las que ya las tengáis, sugerencias, problemas encontrados etc.
En grueso, la BBDD debe almacenar lo típico:
- Tipo de evento (Fútbol, Carreras de Caballos, Billar...)
- Mercado (over +2.5, handicap asiático, ganador...)
- Histórico de cuotas; antes y durante el evento. Serán tomadas a diferentes intervalos dependiendo de cual sea el bot que dialogue con la BBDD en ese momento. Por ejemplo, mi bot de caballos puede estar interesado en 1 min antes y SP, y mi bot de fútbol solo SP.
- Pronóstico (con información de la cuota asociada, mercado asociado, hora en la que se ha lanzado la apuesta, bookie...)
- resultados?
Cualquier otra será bienvenida.
¿Cual es vuestro diseño?
¿Cómo organizaríais la info?
Gracias!!
PD: Para no condicionar este primer diseño, no hablaré ahora de los accesos a los históricos de cuotas ni los análisis mediante peticiones a la BBDD.
-
Galois ha(n) agradecido este post
Total: 1 Agradecimientos -
21/12/09, 10:52 PM #2
Institución
- Registrado
- May 2005
- Ubicación
- Barcelona
- Posts
- 2,307
- Agradecimientos
-
- 4629
- 4593
- Mencionado
- 5 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Bueno esto no puedo ayudarte puesto que aun no me he puesto a diseñar la mia, pero creo que despues de hacer algunas asignaturas de bases de datos e ingenieria del software, voy a hacer mi humilde aportacion.
Antes de pensar que campos que relaciones y que estructura interna almacenaras y como, deberias preguntarte que funcion le vas a dar. Si vas a hacer muchas consultas separadas en muchas tablas, si necesitas un soporte nativo para claves foráneas ... de ahi te saldrá mas o menos el motor a usar y la base de datos.
Para nada es lo mismo mysql con myisam que mysql con innodb o que oracle.
Si el uso que le das es espóradico tal vez esto no sea tan importante pero como no lo especificas te digo todo. Incluso para gente que tenga un numero limitado de consultas a hacer puede optar por otras arquitecturas sql que no requieran cliente servidor como sqlite. O bien usar bases de datos con contenido xml como eXist. Ahi si que puedo ayudarte puesto que hice en la uni un proyecto entero con esta base de datos.
Una vez tengas claro las restricciones que tienes yo empezaria a plantear lo que preguntas tu, y usaria una herramienta case tipo Ibm rational data modeller que te permite hacer un dibujo visual de la bd, con todas su relaciones, restricciones y demas y luego extrapolar todos los campos a un tipo de base de datos especifico.
Bueno este es el punto de vista ingenieril luego ya los que hayan diseñado una para las apuestas que te ayuden con los campos y relaciones, pero te recomiendo encarecidamente hacer algo de ingenieria del software (algo simple) puesto que luego te permite rectificar cosas sobre la marcha y observar sobre plano como quedará el tema despues.
-
Total: 3 Agradecimientos
-
21/12/09, 11:00 PM #3
Institución
- Registrado
- May 2005
- Ubicación
- Barcelona
- Posts
- 2,307
- Agradecimientos
-
- 4629
- 4593
- Mencionado
- 5 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Con respecto al tema de los campos yo iria abriendo un proyecto de estos con el data modeller e iria creando las tablas, al menos un esbozo, o idea general y los campos que necesitaré en cada tabla.
Ejemplo, Tabla deporte
Campos: id autoincrement, varchar NombreDeporte, ...
Tabla Evento
Capos Id: autoincrement, Deporte, clave foranea referenciando el Id de la tabla deporte, Nombre de evento, varchar ...
Y luego a cada evento asociarle mercados
Tabla Mercado,
Id autoincrement, Evento clave foranea que referencia al evento al cual pertenece, Nombre del evento (outcome), cuota decimal, acertado booleano, fecha de la toma fecha, ...
Tabla Cuotas
id autoincrement, mercado, clave foranea referenciado al mercado del que forma parte, evento clave foranea referenciando al evento que forma parte, precio tomado decimal, tiempo en el que se tomo timestamp ...
Puede que haya algo de información redundante habria que revisarlo bien, pero croe que es una estructura bastante clara.
Algo asi. a partir de esto con el editor veras viendo todas las dependencias y te saldrán automaticamente las relaciones.
Si te fijas la api de betfair funciona algo parecido a esto.
Tienen la api general con los eventos y la api de apuestas y juegos con mercados que pertenecen a esos eventos.
No se si te será de ayuda porque no me explicado muy bien pero vamos, cualquier cosa dimelo y te ayudo a mirarlo.
Salu2Editado por anogues, 21/12/09 a las 11:02 PM
-
Total: 2 Agradecimientos
-
22/12/09, 11:46 PM #4
Institución
Moderador
- Registrado
- Apr 2009
- Posts
- 2,135
- Agradecimientos
-
- 4395
- 2454
- Mencionado
- 40 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Hola anogues,
gracias por contestar. De hecho te has adelantado a la info de la que no quería hablar en un primer momento como dije al final del post.
Tengo dos funcionalidades básicas a cubrir: la primera es análisis intensivo, que afectará sobre todo al histórico de cuotas y los posibles pronósticos, sean pronósticos reales ya apostados o no. La segunda son accesos simples sin mayor relevancia.
Tengo un primer diseño a mano (IS puro) que llevaré a alguna herramienta en cuanto vea las que hay para linux.
Mi diseño está bastante lejos del de betfair, o al menos de lo que se puede intuir de usar su API, para facilitar la interfaz con mis bots y porque en betfair tienen algunas relaciones con las que no estoy de acuerdo.
Gracias por contestar.
Saludos
-
anogues ha(n) agradecido este post
Total: 1 Agradecimientos -
23/12/09, 12:22 AM #5
Institución
- Registrado
- May 2005
- Ubicación
- Barcelona
- Posts
- 2,307
- Agradecimientos
-
- 4629
- 4593
- Mencionado
- 5 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Yo juraria que estas de ibm deben estar para linux puesto que las ultimas versiones trabajan con un eclipse integrado, aunque seguro que para linux hay porque las he visto, lo que no las recuerdo.
Aqui lo mejor seria que alguien que ya haya hecho alguna te dijera como lo estructuró todo. Prueba a ver aorteaga que el tiene una desde hace dos años para los caballos. Siendo análisis intensivo, supongo que correras algo que trabaje a saco sobre ello asi que se necesitaria un motor rápido. Hace un tiempo vi estadisticas comparativas pero no recuerdo cual era el mejor, esta claro que ha de ser algo con sql, porque lo otro es mas lento.
Luego si el tema fuera muy intensivo, existen métodos para optimizar las consultas. Me parece que jugando con la manera como trabajan las bases de datos (árboles B+) se podian optimizar bastante estas. Ajustando tamaño de la página y mas cosas tambien. Pero esto ya es un poco friki, de hecho lo di solo de pasada porque la asignatura de diseño de bd's no la hice. Creo que lo de seleccionar bien el motor y las caracteristicas del sgbd es importante pero si haces un buen diseño tienes mucho ganado, y aqui si que se necesita la ayuda de gente que ya haya hecho algo ahora y de una herramienta de ese tipo. A ver si alguien aparece por aqui y pued ayudarte en eso.
No se si tienes alguna idea ya clara me avisas y hechamos un ojo porque hace tiempo que estoy muy desconectado de esto.
Todo lo que saquemos de esto tb me ayudará a mi porque quiero hacer algo relacionado tb en breve.
Suerte.
-
Algar ha(n) agradecido este post
Total: 1 Agradecimientos -
23/12/09, 01:17 PM #6
Institución
Moderador
- Registrado
- Apr 2009
- Posts
- 2,135
- Agradecimientos
-
- 4395
- 2454
- Mencionado
- 40 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
La verdad que no sé cuanto tiempo puede llevar una consulta con el diseño que tengo. Pero lo que pensé era, más que toquetear la BBDD, hacer peticiones de bloques de datos y alimentar un buffer interno, del cual se leen los datos para el análisis. Filosofía caché de datos, ya sabes.
A ver si alguien puede decirnos cuántos milisegundos lleva una consulta con su BBDD (aortegabet, sandbox, yo os invoco) y hablarnos un poco de sus experiencias.
Anogues, cuando vayas a meterte a hacer tu BBDD, avísame y te paso todo lo que yo tenga hasta el momento, a mí no me importa y es tiempo que te ahorras. También podemos hacerlo ahora entre ambos.
Por ahora voy a ir mirando qué tengo a mano en linux.
-
anogues ha(n) agradecido este post
Total: 1 Agradecimientos -
23/12/09, 01:53 PM #7
Institución
- Registrado
- May 2005
- Ubicación
- Barcelona
- Posts
- 2,307
- Agradecimientos
-
- 4629
- 4593
- Mencionado
- 5 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Oki ya me diras como va el tema. Gracias por tu ayuda. Yo en menos de un mes me pongo a esto:
Mi propuesta de BD es una de caballos, con el precio a SP de las carreras tomadas hasta el momento, lo tenemos en el timeform de betfair hasta inicio del 2008 y para sacar las anteriores hemos de tirar mano de los SP de las bookies tradicionales. A partir de ahi tambien hemos de incluir el caballo, el jinete, la forma que tenia en ese momento y si se puede que tambien se puede porque en el timeform aparece la info, a cuanto llego como max y como minimo la cuota de cada caballo que participio la carrera IN PLAY.
Ademas luego necesitamos, fecha, hipódromo, stall draw, distancia, tipo de superficie y estado del terreno en cada carrera.
Luego construiremos un simulador para mirar caballos tapados de cuotas altas que tengan opciones altas de ganar, analizando la forma y los precios a los que llegaron en carreras anteriores, haremos busquedas sobre eso. Y a partir de tener todo esto, crear un bot que pille toda esa info directamente de betfair y la añada a la bd, intentando pillar las cuotas a Sp, 1 min antes de la salida, 2 min antes y asi. Establecer un periodo que nos permita estudiar tambien las oscilaciones de las cuotas.
Hay faena, pero en cuanto me quite el pfc me veo capacitado para hacerlo.
-
Algar ha(n) agradecido este post
Total: 1 Agradecimientos -
23/12/09, 02:45 PM #8
Institución
Moderador
- Registrado
- Apr 2009
- Posts
- 2,135
- Agradecimientos
-
- 4395
- 2454
- Mencionado
- 40 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Una de las cosas que quería estudiar era precisamente oscilaciones de cuotas. El bot que tengo puede escupirnos toda la info que proporciona el API de betfair y guardarlo en la BBDD debería ser trivial. Si existe algún otro tipo de info al que no podamos acceder por limitaciones del API o simplemente porque el API no la dé, webscraping como ya hablamos en su día y listo.
Luego para el simulador para tapados, análisis de cuotas, o cualquier otra funcionalidad que necesitemos, se podrían programar servicios sencillitos independientes a la BBDD que nos faciliten la comunicación con nuestros respectivos bots controlando así las simulaciones y las apuestas. Es decir, el primer diseño que había pensado es:
BBDD - Una o varias, divididas por funcionalidad. Por ejemplo una primera para caballos con todos la info que citas.
Bots - Entidades independientes capaces de apostar por sí mismas, automatizar estrategias, etc. Están programados como plugins.
Interfaz/Servicios/Programa maestro - Una aplicación manager que centraliza todas las bases de datos, permite activar / desactivar bots, hacer consultas, simulaciones, preparar estrategias, etc.
Yo lo veo más que factible y la estructura me gusta porque es muy modular y permite que le añadamos cosas que se nos ocurran según necesitemos. Por ejemplo, queremos analizar una estrategia en dardos: añadimos una nueva BBDD dardos, creamos un nuevo bot (adaptando uno que ya tengamos) y los activamos desde el manager.
Luego en el manager se puede hacer webscraping de otras bookies (podemos tener otros plugins especializados en webscrapping de cada bookie), importar datos a la BBDD desde un csv, etc.
Si quieres colaborar, yo encantado.
Todavía no he empezado más que a diseñar todo, ya que por ahora con mis bots me valía. Pero es una aplicación que necesito y quería empezar ahora en vacaciones.
Más en lo técnico, sería Qt, en Java o C++, gracias a lo cual podemos tener luego una versión del manager en el móvil sin mayores problemas. Yo uso trac para seguimiento de proyectos, que es muy sencillito y potente, con control de versiones y centralizado en un server, aunque estoy abierto a cualquier otra tecnología. Si te animas genial. Si no has usado alguna de estas cosas no te preocupes, una tarde por skype y estás picando código
-
anogues ha(n) agradecido este post
Total: 1 Agradecimientos -
23/12/09, 04:32 PM #9
Institución
- Registrado
- May 2005
- Ubicación
- Barcelona
- Posts
- 2,307
- Agradecimientos
-
- 4629
- 4593
- Mencionado
- 5 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Si me interesa mucho pero hasta el 29 de enero estoy con el pfc y no puedo dedicarme a otras cosas porque no tengo tiempo y veo que lo quieres hacer ahora en vacaciones asi que jodido.
Yo la programación no me gusta demasiado pero con java me defiendo. El C++ también pero ya lo tengo algo mas atravesado. Qt hice en la uni también pero no recuerdo ya nada. Namas me acuerdo de los muelles dando por culo jaja.
Por todo lo demás me parece mas que perfecto. La idea es buenisima.
-
Algar ha(n) agradecido este post
Total: 1 Agradecimientos -
23/12/09, 05:42 PM #10
Institución
Moderador
- Registrado
- Apr 2009
- Posts
- 2,135
- Agradecimientos
-
- 4395
- 2454
- Mencionado
- 40 Post(s)
- Tagged
- 0 Hilo(s)
Re: Estructura de vuestras Bases de Datos
Nada hombre, el pfc lo primero. Mucha suerte que el tramo final suele ser lo más duro.
Aunque no tengo previsto terminarlo en vacaciones, me gustaría aprovechar para empezar con ello. En breve comenzaré a planificar el trabajo. Seguramente me decante por Java por aquello del soporte nativo del API de bf, aunque esto no sea una necesidad. Por ejemplo aunque el manager esté programado en C++, mis bots de bf están en Java y podrían usarse sin problema alguno.
Viendo que ambos tenemos intereses comunes en una BBDD de caballos, será la primera que soporte. Respecto a la programación no te preocupes, me encanta y tampoco tenía previsto recibir ayuda, así que don't worry my friend.
Ya te voy contando.
Un saludo y ánimo con el pfc.
-
anogues ha(n) agradecido este post
Total: 1 Agradecimientos



Citar y responder

ANALISIS AL MARCADOR EXACTO LIGAS FIN DE SEMANA 13 14 15 NOVIEMBRE 2026. EERSTE DIVISIE HOLANDA:
Analisis al marcador exacto ligas...