Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-05-2013
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
¿Dónde colocar la Base de Datos?

Hola a todos !

Puede ser que la pregunta resulte muy básica, pero realmente no se me había planteado esta cuestión hasta ahora.

Después de trabajar con mi aplicación durante años en clientes, por fin nos vamos a poner a realizar el instalador ! Hasta ahora la instalación siempre se hacía manual.

Utilizo Firebird (actualmente 2.5) y la aplicación es local y se instala en cada uno de los ordenadores que va a ejecutar la aplicación.

Ahora me surge donde y cómo grabar la base de datos. Hasta ahora siempre la había colocado en una carpeta de una unidad de disco duro (C:, D: o la que fuera), y en una carpeta Unidad:\MiAplicación\Data en el servidor que ejecutase Firebird. Compartía dicha carpeta y listo, desde los demás ordenadores (junto con un fichero INI) se localizaba y se accedía a dicha carpeta.

De la misma manera, en cada puesto de trabajo diferente (que no fuera el 'servidor' donde se ejecuta Firebird), creaba una carpeta Unidad:\MiAplicación y ahí grababa el EXE principal junto con todos los archivos adicionales (INI, DLL's, etc), y en el INI tenía puesta la ruta al nombre de servidor y carpeta correspondiente.

Ahora, (para hacerlo bien !!), quiero colocar la aplicación en \Archivos de Programas y no sé cuál es la mejor ubicación para los datos.

En principio, la base de datos puede crecer bastante (llegando a superar el Giga o más) y por la tanto tendría sentido que el usuario decidiera no colocarla necesariamente en C:

Si coloco la BBDD en %ProgramData% debería ser siempre la unidad principal donde está instalado Windows, lo cual, como indica antes, pudiera ser 'inconveniente'.

Por otro lado, si quiero en algún momento obtener alguna ruta de dónde se encuentra la base de datos, si fuera en una carpeta o localización diferente, si esa carpeta o localización no estuviera compartida, no podría acceder a dicha información desde otro ordenador. Por otro lado, tengo muchos clientes que tienen los ordenadores con códigos de acceso de usuarios y no siempre podré obtener la información que pido (no estoy hablando de acceder al propio contenido de la base de datos a través de Firebird) si no conociera ciertas credenciales de usuario.

Por ello es lo que os pido consejo de cuál sería la mejor ubicación para la base de datos y no tener que colocarla en una carpeta 'tan' visible o accesible como Unidad:\MiAplicación\Data

Gracias por adelantado y saludos.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 15-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no te sirve mi caso, pero la BD siempre va en un servidor (linux) dedicado. Y no tiene nada compartido con nadie, sólo abierto el puerto 3050.
Responder Con Cita
  #3  
Antiguo 15-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.461
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Creo que no te sirve mi caso, pero la BD siempre va en un servidor (linux) dedicado. Y no tiene nada compartido con nadie, sólo abierto el puerto 3050.
¿Y por qué no?, no puede hacer exactamente lo mismo bajo un servidor de windows?.

Yo no uso firebird pero imagino que funcionará igual bajo windows que bajo linux, particularmente pienso que el instalador debería de pedir la ruta de la base de datos proponiendo una por defecto y los clientes no necesitan saber donde está la base de datos, ¿no?. Aunque creo que eso de tener un ejecutable en cada cliente es algo engorroso sobre todo para el tema de mantenimiento y actualizaciones.

¿No puedes compartir una carpeta donde se instala el ejecutable desde el que "tiran" los clientes y la base de datos ubicarla en una carpeta no compartida?.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 15-05-2013
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Precisamente la siguiente problemática que tenemos es el tema de actualizaciones, pero esa cuestión no es para plantearla en este hilo.

Ya estamos haciendo el proceso de actualizaciones y precisamente ahí es cuando nos hemos topado también con la ubicación. Pero el problema inicial ha de ser resuelto por supuesto en el programa de instalación.

Añado : Además precisamente si el EXE estuviera sólo en el servidor, tendríamos de nuevo problemas para la compartición de carpetas, sobre todo si queremos instalar la aplicación en %archivos de programas%
__________________
Piensa siempre en positivo !

Última edición por gluglu fecha: 15-05-2013 a las 12:48:14.
Responder Con Cita
  #5  
Antiguo 15-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
¿Y por qué no?, no puede hacer exactamente lo mismo bajo un servidor de windows?.
Es que entiendo que quiere hacer un instalador automático, y en ese caso ni con linux ni con windows podrá instalar la BD en un servidor (ordenador distinto donde está haciendo la instalación del programa) en todos los casos, dependería mucho de cada caso particular, permisos, lo que esté compartido, etc.
Responder Con Cita
  #6  
Antiguo 15-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.461
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Es que entiendo que quiere hacer un instalador automático, y en ese caso ni con linux ni con windows podrá instalar la BD en un servidor (ordenador distinto donde está haciendo la instalación del programa) en todos los casos, dependería mucho de cada caso particular, permisos, lo que esté compartido, etc.
Ok, pero ¿es tontería que la instalación se haga desde el servidor?

Edito: Es que soltar tonterías es una especialidad mía.
__________________
Be water my friend.
Responder Con Cita
  #7  
Antiguo 15-05-2013
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
El programa de instalación tendrá la opción de elegir si estoy instalando el servidor, o estoy instalando un cliente.

Pero insisto, esta es una cuestión diferente !!

Lo que me gustaría saber cuál es la mejor ubicación para la BBDD para evitar futuros 'inconvenientes' sobre todo por estos dos diferentes tipos de acceso, servidor y cliente.

Saludos
__________________
Piensa siempre en positivo !
Responder Con Cita
  #8  
Antiguo 15-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
Ok, pero ¿es tontería que la instalación se haga desde el servidor?
No, claro, de hecho en los últimos sitios que trabajé teníamos un instalador que daba elegir entre cliente y servidor.

Cita:
Empezado por gluglu Ver Mensaje
Lo que me gustaría saber cuál es la mejor ubicación para la BBDD para evitar futuros 'inconvenientes' sobre todo por estos dos diferentes tipos de acceso, servidor y cliente.
En cualquier directorio "no protegido" ni del sistema.
Algo así como:
/home/un-usuario-firebird/datos/labasedatos.fdb

Y en cliente puede estar en un subdirectorio de tu programa, suponiendo que no necesite algún permiso o privilegio especial para acceder al mismo.
Responder Con Cita
  #9  
Antiguo 16-05-2013
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Yo trabajo con SQL Server y la base de datos esta en: C:\<TuAplicación>\Databases del servidor.

Es independiente si es un servidor o cliente, sólo tienes que decir donde se ubica la base de datos mediante la IP y el puerto del equipo.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.

Última edición por olbeup fecha: 16-05-2013 a las 09:39:44.
Responder Con Cita
  #10  
Antiguo 16-05-2013
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cada OS tiene sus "buenas practicas" de como se hacen las cosas, incluyendo como y donde se instalan los programas. Si se siguen, no solo es posible automatizar al 100% las cosas sin fallos, sino que se evitan dolores de cabezas.

En el caso de windows:

http://msdn.microsoft.com/en-us/libr.../gg487403.aspx

Y luego estan las practicas recomendadas para cada BD. Que normalmente cubren estas ideas universales:

1- Un engine de BD preferiblemente deberia estar en un servidor dedicado, "cerrado" en seguridad (osea, solo exponer el puerto pa las comunicaciones, en una zona protegida por firewall y todo eso, no expuesto a internet ni en una subred expuesta a internet) que solo escucha de una(s) IPs y puerto(s) especificos, que solo responden a un usuario/apps especificos.
2- Deberia tener su *propio* disco(s), solo para esa BD
3- Esos disco, no estan compartidos con nadie mas. Repito lo anterior. Osea, no se instala en donde este el OS. (Pero si no hay mas discos, entonces seguir las recomendaciones para ese OS en particular de donde van las cosas, a menos que haya una razon para desvariar)

En el caso de lo que comentas, lo ideal es que la BD este por fuera de la unidad de sistema. Porque el OS se deberia poder reinstalar tan rapido como sea posible, sin afectar los datos. De hecho, es muy popular -en los servicios de hosting- usar un NAS o similar como disco de las BD, para poder desconectar el disco, moverlo a otro servidor y seguir andando. Basicamente, los datos son mas importantes que los programas.

Y con lo que sea visible y todo eso? La carpeta donde este la BD deberia estar protegida con su propio usuario y todas las medidas de seguridad del caso. "Esconderla" en un directorio "raro" es idiota (http://en.wikipedia.org/wiki/Security_through_obscurity). Lo que no me suena es compartir por RED la carpeta de la BD. Eso es casi lo peor a nivel de seguridad.

Ademas, no es necesario saber las credenciales de cada usuario/equipo. Lo correcto es que crees un usuario solo para esa BD (que es lo normal con sql server, postgress) o uses un usuario de bajos privilegios (lo mas comun en sql server es usar "Network Service Account" que es un usuario que esta en todos los windows, de bajo perfil y privilegios) junto con autenticacion integrada de windows (http://msdn.microsoft.com/en-us/library/ff647396.aspx).


Osea, es todo saber realmente como se manejan las practicas correctas de cada OS, en vez de inventarselas. Con windows tambien es posible tener un OS estable/seguro, el problema es que todos se pasan por la galleta los pasos correctos.
__________________
El malabarista.
Responder Con Cita
  #11  
Antiguo 16-05-2013
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
mamcx,

Cita:
Empezado por mamcx
...Con windows tambien es posible tener un OS estable/seguro...


Nelson.
Responder Con Cita
  #12  
Antiguo 16-05-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por mamcx Ver Mensaje
Con windows tambien es posible tener un OS estable/seguro
Cita:
Bill Gates muere en accidente de coche y se encuentra con Dios en el purgatorio:

Dios: Bien Bill, bien, realmente estoy confuso con tu caso, no estoy seguro de si debo enviarte al cielo o al infierno. Después de todo, tú has ayudado enormemente a la sociedad colocando un ordenador en casi cada hogar del mundo y encima creaste Windows 95. Voy a hacer algo que nunca antes se ha hecho. En tu caso te dejaré decidir dónde quieres ir.
Bill: Gracias Señor, ¿Cual es la diferencia entre los dos sitios?
Dios: Te mostraré ambos lugares y ello te ayudará a tomar una decisión.
Bill: Ok, entonces muéstrame primero el infierno.

Ya allí, era una fantástica playa de arenas blancas, aguas azules y cristalinas con miles de muchachas corriendo, jugando en el agua, riendo y divirtiéndose, el sol brillante y una temperatura perfecta.
Bill (gratamente impresionado): ¡This is great!, si esto es el infierno, realmente quiero ver el cielo!

El cielo era un lugar por encima de las nubes, con ángeles tocando arpas y cantando dulces canciones, realmente bello pero no tan excitante como el infierno.

Bill se tomo un momento para reflexionar su decisión y dijo: Creo que prefiero el infierno.
Dios: Bien, sea como deseas, (y le mandó al infierno).
Dos semanas mas tarde, Dios decidió hacer una visita al infierno a ver como le iba al millonario, cuando llego, encontró a Bill encadenado a un muro, lamido por el fuego en una oscura cueva, siendo torturado y quemado por los demonios: ¿Cómo va todo Bill?, preguntó.
Bill (con una voz llena de angustia y desaprobación): Esto es horrible, no es lo que yo esperaba. ¿Dónde está aquella hermosa playa, las bellas chicas jugando, el agua cristalina?.

Dios: ¡Ahhh!, Aquello... ¡era el salvapantallas!

........
Responder Con Cita
  #13  
Antiguo 17-05-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.461
Poder: 20
newtron Va camino a la fama
jejejejejeje...
__________________
Be water my friend.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Colocar datos de un DBgrid en DBedits Er0s Conexión con bases de datos 5 16-09-2010 16:27:45
Enlazar con base de datos este donde este 4-0 C++ Builder 5 12-01-2007 20:33:00
Como colocar datos en un formato horizontal en QReport MAngelito Impresión 0 23-11-2005 19:12:54
Limitar la carpeta donde crear la base de datos fcios Firebird e Interbase 0 01-11-2005 06:03:22
de donde sacar Base de datos de provincias poblaciones y CP? Halfo Varios 1 23-07-2004 15:49:15


La franja horaria es GMT +2. Ahora son las 07:40:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi