elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  consejo Base de Datos..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: consejo Base de Datos..  (Leído 2,202 veces)
rembolso

Desconectado Desconectado

Mensajes: 163



Ver Perfil
consejo Base de Datos..
« en: 1 Agosto 2011, 20:30 pm »

hola . estoy asiendo una base de datos para millones de usuarios. Y tengo dos dudas enfrentadas. Son las siguientes : (en c++)

¿Cuál  de estas formas es mas rápida y consume menos recursos?

Forma 1: mantener en una Cadena todos los usuarios (supongamos q serian 2 millones)  y en la petición extraer el usuario directamente de cadena. Pero lo malo es que consume mucha ram y en la hora de buscar un usuario entre 2 millones consume mucho y se puede desbordar el  buffer.
Forma 2: mantener en una carpeta  todas las carpetas con los nombres de usuario y adentro de la carpeta un archivo .txt con su datos .asi en la petición lo extrae directamente mas rápido y no consume ram pero consume disco y muchas carpetas ejemplo:

Petición :usuario rembolso&pass&choripan
Server: busca una carpeta que se llame rembolso y dentro de esa carpeta esta rembolsopass.txt

UsuariosDB\Rembolso\rembolsopass.txt

La petición es mas rápida pero como ya aclare consume mucho disco y lo hace mas lento pero no importa necesitaría un consejo. Y si hay otra forma por favor postéenla.

gracias por leer


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: consejo Base de Datos..
« Respuesta #1 en: 1 Agosto 2011, 20:40 pm »

Utiliza un verdadero RDBMS ... MSSQL, MySQL, PostgreSQL o similar, de donde ha salido esa idea de crear los directorios y demás? :huh:

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
4rkn63l

Desconectado Desconectado

Mensajes: 199



Ver Perfil
Re: consejo Base de Datos..
« Respuesta #2 en: 2 Agosto 2011, 03:30 am »

http://tangentsoft.net/mysql++/  :silbar:
En línea

crazykenny


Desconectado Desconectado

Mensajes: 4.239



Ver Perfil WWW
Re: consejo Base de Datos..
« Respuesta #3 en: 6 Agosto 2011, 12:14 pm »

Bueno, rembolso, yo tengo un sistema de bases de datos que se me ocurrio para tema de tiendas (ojo, por tema de aficion, no por otra cosa), y lo que hice fue cargar todos los datos en matrices, en el sentido de, por ejemplo, los datos esenciales como ahora precio, categoria, subcategoria y nombre en una matriz, cantidad de productos en otra, y luego, para lo que son parametros de busqueda, crear una matriz que contenga todos los parametros de busqueda generales (tipo, por ejemplo simple, color, coste de mana, etc) en otra 3a matriz, y luego, utilizando estos nombres, accedo a un archivo en la carpeta X para luego cargar los "terminos de busqueda" de ese parametro para luego, en una ultima matriz de 2 niveles (donde el primer nivel hace referencia al numero de producto, y tiene que tener un valor igual al limite de productos, y el segundo, como el primero, pero para los terminos de busqueda), donde le asigno un valor (el cual es, por ejemplo, si hay 3 colores -rojo, azul y verde- para un parametro de busqueda, y el producto es verde, le pongo el valor correspondiente) al producto correspondiente, y asi con cada producto; no se si me explico.
De todas formas, esto lo he utilizado para clasificar mas de 2000 cartas de magic, yougioh, y world of warcraft, y a lo mejor, insertando un termino de busqueda, me tarda alrededor de poco mas de una docena de milisegundos en mostrarme (o mejor dicho, ordenar aleatoriamente) todas las cartas en un core 2 duo a 2.4 Ghz.
Por otra parte, si lo que te comento no te convence, te recomiendo la segunda opcion; no se a ti, pero para mi seria mas simple, aunque ocupe mas disco y para acceder a los datos de los usuarios requiera mas accesos al disco (o eso creo), aunque, personalmente, lo haria con matrices.
Por ultimo, viendo que hablas de millones de usuarios, lo normal seria que, para buscar un usuario, te tarde un buen rato insertando datos de busquedas; yo, por ejemplo, para ver todas las cartas que tengo de un JCC tipo magic o yugioh, me tarda alrededor de los 11 milisegundos, quizas unos pocos mas, y tengo unas 2000 y pico, por lo que supogo que te tardara sobre los 11 segundos minimo con mi modo, aunque creo que me equivoco si usas otro metodo.
Espero ser de ayuda.
Saludos.
En línea

A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
https://informaticayotrostemas.blogspot.com/

Mi canal de Youtube:

https://www.youtube.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines