Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/05/2011, 08:44
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 1 mes
Puntos: 2658
Respuesta: Tablas muuuuy gigantes

Para eso existe el SQL... para que no tengas tu que pensar cómo se recorren los 30 millones de registros.
Para decirlo de una forma simple: Si necesitas 30 resultados, y la tabla tiene 30 millones de registros, lo que haces es hacer una consulta en SQL con la que le pides al DMS esos 30 registros. El cómo lo hace internamente es totalmente irrelevante. Para eso son diseñados.
Ahora bien, si estás pensando en hacer tu mismo una rutina almacenada (stored procedure) para recorrer esos 30 millones y verificar uno a uno, entonces estás razonando como programador de aplicaciones y no como desarrollador de bases de datos. Eso no se hace, uno diseña la consulta que pueda devolver lo que se necesita y deja que el DBMS se encargue del resto.
¿Se entiende?

La velocidad de las consultas se puede optimizar de muchas formas, pero para eso tienes que ponerte a estudiar profundamente los temas, mucho de lo cual queda fuera del alcance de los autodidactas. Incluso necesitas estudiar cosas que están fuera del ámbito exclusivo de las bases de datos (sistemas operativos, hardware, conexiones, redes, y un largo etcétera), lo que sólo suele hacerse en estudios formales.

En el caso del diseño de la base de datos Google, por empezar ellos tienen su propio DBMS, que no funciona en un servidor, sino en granjas de servidores. La misma topologia de la distribución de esa base (en grid), permite que una misma consulta pueda ser respondida por múltiples servidores simultáneamente en un tiempo reducido, y además filtrada adecuadamente con algoritmos de búsqueda que ellos diseñaron (esa fue la clave de su éxito). En otras palabras, no es un tema donde puedas usar conocimientos básicos aprendidos en tutoriales. Es bastante más complejo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)