MySQL - Hacer una base de datos solo para busquedas lo mas rapida posible

 
Vista:

Hacer una base de datos solo para busquedas lo mas rapida posible

Publicado por Mikel (3 intervenciones) el 20/05/2015 15:50:59
hola a todos

estoy realizando una web spider en java y uso una base de datos para analizar las URLs rastreadas, concretamente he instalado wampserver
lo unico que tengo que hacer es buscar si esta ya incluida y si no lo esta meterla, pero podria llegar a mas de mil de millones de entradas, si esta busqueda no me limita

al principio tenia una sola tabla y empezaba a ir algo mas lento a partir de los 100.000 registros
ahora tengo 100 tablas a las que accedo con una funcion hash y parece que va mejor

creeis que esta estrategia es buena o sera peor a la larga?
me recomendais hacerlo de otra manera o incluso con otro sistema distinto a mysql?
cualquier informacion a este respecto sera muy agradecida

tambien querria informacion sobre el ordenador a comprar
estaba pensando en un i5 o i7 con un ssd, que componente creeis que me limitara antes?

muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de SuperIndio
Val: 102
Bronce
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

Hacer una base de datos solo para busquedas lo mas rapida posible

Publicado por SuperIndio (79 intervenciones) el 20/05/2015 16:12:48
Yo probaria con MariaDB, que en mi opinion es mucho pero mucho mas rapida que Mysql en cuanto a los gestores de almacenamiento, la lentitud que los 100.000 se quede lento es grave, deberia ponerse lento cuando vaya por los menos 50 millones de registros y al menos una 200 tablas... Bueno a nivel global los factores a tenes en cuenta para sacarle un alto rendimento es:
- Buen Hardware (i7, buena RAM y dedicado es decir solo para esto)
- SO ( Linux, Unix ) por la posibilidad de aplicar multiproceso( n consultas corriendo en paralelo)
- Buen Diseño de la base e indexacion de las tablas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Hacer una base de datos solo para busquedas lo mas rapida posible

Publicado por hArrY (2 intervenciones) el 20/05/2015 17:36:07
Si solo debes guardar datos y consultar si esta te recomendaria usar una base de datos nosql o sea no relacional tipo couchdb o mongodb para lo que estas queriendo hacer me parece lo mas apropiado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer una base de datos solo para busquedas lo mas rapida posible

Publicado por Mikel (3 intervenciones) el 20/05/2015 18:10:40
gracias por contestar tan rápido, no es que vaya lenta con 100.000, pero se nota la diferencia.
me estaba haciendo unas 750 consultas al minuto y al comenzar unas 1000
también he notado que con las 100 tablas baja el procesador

el ordenador sera dedicado a la araña, java y DB
entonces creéis que importa mas proce y ram que el disco? estoy hablando de varios gigas de DB
lo q no me cuadra es que en mi ordenador actual el disco va a 0.5 megas/s, el proce al 15% (entre java y mysql) y carga de asignación de la RAM al 20%... no se xq no va mas rapido

mirare el tema de noSQL xq es cierto que no uso el tema relacional y me daba el presentimiento de que no era lo mas apropiado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer una base de datos solo para busquedas lo mas rapida posible

Publicado por Miguel (3 intervenciones) el 21/05/2015 03:45:14
hola de nuevo, buscando por internet he encontrado algunas respuestas
he visto que un usuario hablaba de la falta de velocidad que tenia y alguien comentaba que para tener buen rendimiento hacia falta muchos procesos para realizar peticiones simultáneamente, pues bien, como mi aplicación es multiproceso he subido estos de 10 a 30 y vuelvo a los tiempos que tenia con la tabla vacía... es decir, limitado por la conexión a internet

tambien he mirado un poco lo de noSQL y la verdad es q no lo tengo nada claro... hay mil tipos distintos
quizas la mas correcta sea una tipo clave valor pero no estoy seguro.

Mongo db no creo que sea la mas indicada pues segun comenta se bloquea al escribir y yo necesito escribir casi cada vez, pues utilizo una "cache" en java con el ultimo millon de paginas de forma que las veces en que escaneo la base de datos y la pagina nueva ya estaba agregada no creo que pasen del 1% segun los resultados que me va dando
se podria decir que la operacion es casi de manera preestablecida (1º buscar, 2º añadir)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Hacer una base de datos solo para busquedas lo mas rapida posible

Publicado por Anny (1 intervención) el 21/05/2015 22:55:34
Hola en mi opinión Mysql funciona muy bien aunque encontramos otras bases de datos que también pueden servirte en cuanto a los gestores de almacenamiento, la lentitud que los 100.000 se quede lento es grave, deberia ponerse lento cuando vaya por los menos 50 millones de registros y al menos una 200 tablas.
Saludos!!
Trabajando en mi proyecto para Sorteos gratis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar