[DUDA]- Implementar BD

Iniciado por chilvao, 14 Marzo 2013, 09:03 AM

0 Miembros y 2 Visitantes están viendo este tema.

chilvao

Hola gente. Me manejo bien con VB.net y estoy haciendo un programita que usa una base de datos muy simple. Una tabla, tres columnas, pero millones de registros. Dado este último detalle, necesito que la BD trabaje con la mayor velocidad posible, pero sin sacrificar la portabilidad del soft.

Cuando estudiaba programacion me enseñaron a manejar BD usando SQL Server 2008 y Access. Actualmente estoy usando Access, para evitar tener que instalar el SQL Server en la maquina donde vaya a ejecutar mi programa... he aquí la pregunta:

He visto que antes de instalar el SQL Server (y gracias al Framework), ya existe una instancia creada de este. La SQLExpress (corríjanme si me equivoco). Y creo que muchos programas, al instalarse y usarse, hacen uso de alguna BD ¿Puede ser que usen esa?

¿Es posible crear y gestionar una BD(mediante mi software) sin tener que instalar un SGBD en la maquina donde se ejecuta? Eso masomenos seria mi duda... no se si esta muy claro, espero que se entienda.

:huh: :huh:

HdM

Hola.

Dependerá de qué db utilices con tu sw. Si son db cliente-servidor, tendrás que instalar el SGBD en la máquina que vaya a actuar como servidor (no hace falta que lo instales en todos los equipos).
SQLExpress permite embeberlo para que se instale junto con tu sw.

http://social.technet.microsoft.com/wiki/contents/articles/13315.como-incrustar-sql-server-express-en-una-aplicacion-es-es.aspx

Si por ejemplo utilizas Access, no hace falta que lo tengas instalado en ninguna máquina. Eso sí, hará falta que el instalador de tu app. registre todos los ficheros, librerías necesarias para poder atacar la db.

Un saludo.


- Nice to see you again -

chilvao

Vamos por partes, diria Jack el destripador.  ;D

CitarDependerá de qué db utilices con tu sw. Si son db cliente-servidor, tendrás que instalar el SGBD en la máquina que vaya a actuar como servidor (no hace falta que lo instales en todos los equipos).

Actualmente lo tengo planteado mas simple, existe una sola maquina y todo trabaja en forma... "local", por decirlo de alguna manera.

Pero esto que decis suena interesante y me plantea el siguiente interrogante ¿Que pasaria si abriera una BD en un servidor gratuito de internet(de esos tipicos Mysql que te dan en los hosting gratis) y mandara las consultas ahi? ¿Se procesarian mas rapido que en mi maquina? (i5-750)

Haciendo eso estaria ganando algunas cosas y cediendo otras:
• El tiempo de respuesta del programa va a ser igual en mi i5-750, que en el Sempron 2600+ de mi hermano :cuak:
• Evito tener que instalar herramientas extras
• Pero dependo de acceso a internet para ejecutar el programa.

Supongo que el factor decisivo de esto es la velocidad de respuesta... si el servidor lo procesa mas rapido que mi maquina, me vuelco por esta opcion. Sino no me combiene.

CitarSQLExpress permite embeberlo para que se instale junto con tu sw.

http://social.technet.microsoft.com/wiki/contents/articles/13315.como-incrustar-sql-server-express-en-una-aplicacion-es-es.aspx

Estuve leyendo e investigando un poco esta linea. Mi programa pesa 3mb y no tiene instalador.:P No me gusta demasiado la idea de crearle uno y enbeberle 30mb. Pero encontre esto por ahi:

http://msdn.microsoft.com/es-es/library/ms172037%28v=sql.90%29.aspx

Es una version compacta, que pesa algunos pocos mb y me deja manejar consultas, de hecho lo tenia instalado ya en esta maquina, sin darme cuenta(el Visual Studio con el SQL Server los tengo una VM). Estaria bueno aprender un poco mas sobre como manejarme con eso y ver si es posible implementarlo en mi proyecto. ¿Alguien sabe algo al respecto?

Saludos y gracias por la ayuda!  :D

HdM

CitarActualmente lo tengo planteado mas simple, existe una sola maquina y todo trabaja en forma... "local", por decirlo de alguna manera.

Para el caso es lo mismo, si lo tienes en local, tendrás que instalar el servidor en localhost.

Citar¿Que pasaria si abriera una BD en un servidor gratuito de internet(de esos tipicos Mysql que te dan en los hosting gratis) y mandara las consultas ahi? ¿Se procesarian mas rapido que en mi maquina? (i5-750)
Lo 1º es que tendrías que buscar un hosting gratuito que te permita cnx remotas a las db. ¿Tú app exactamente qué hace? Quiero decir, montarlo en la nube tendría sentido si tienes varios usuarios que necesitan acceder al mismo origen de datos, compartir datos, acceder a la misma información... Pero si cada usuario de tu sw hace uso independiente de la info., tiene sus propios datos,... no ganas nada, al contrario.

También como bien has comentado, si te decantas por la opción cloud, se va a estar limitado por a)tener inet, b)ancho de banda c)disponibilidad del servidor,...

CitarEstaria bueno aprender un poco mas sobre como manejarme con eso y ver si es posible implementarlo en mi proyecto.

Todo es ponerse y documentarse  ;). Implementarlo claro que podrás, pero igualmente tendrás que instalar el servidor.

Un saludo.

- Nice to see you again -