Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Que base de datos usar? (https://www.clubdelphi.com/foros/showthread.php?t=68202)

AzidRain 04-06-2010 21:00:17

Creo Access esta fuera de toda discusión, ni caso tiene perder el tiempo en eso pues como ya dijeron solo le servirá para windows. Yo insisto en recomendarme MySQL por que es bastante simple comenzar a trabajar con él y les pongo un pequeño ejemplo: EN FB no existen los campos autoincrementados, hay que hacer un trigger y un poquito de programacion adicional. En MySQL con solo decirle que tal campo es autoinc ya el solito se encarga. Ojo, no digo que sea mejor o peor, pero para alguien que NO necesita meterse en detalles de las BD sino que solo requiere el soporte para su aplicación creo que es más sencillo. Como ya platiqué anteriormente nuestro amigo no requiere conocer completamente los detalles de ambos motores, únicamente necesita un servidor a donde guardar sus lecturas y luego poderlas recuperar. O sea, no necesita meterse con triggers y cosas un poco más avanzadas.

Casimiro Notevi 04-06-2010 21:13:42

jeje... bueno, y mysql no tiene la opción de mirror de firebird, así que mejor usar firebird ;)

Ya en serio, son detalles menores casi sin importancia, pero desde luego que es más práctico, seguro y "rentable" con el tiempo el usar mysql, postgresql, firebird, etc. que no usar una BD doméstica de access.

Además con mdb sí tienes que pagar licencia, ¡¡¡la licencia de windows!!!, sin embargo con las otras puedes usar linux :)

roman 04-06-2010 22:33:47

En mi opinión, tanta prevención puede resultar excesiva. No veo porqué desechar Access como no sea por una aversión particular. Pero si se trata de algo muy sencillo, ¿qué caso tiene plantearse hipotéticos e improbables escenarios futuros? Si la aplicación deja de ser sencilla entonces será tiempo de plantear algo más robusto. Mientras tanto con access es suficiente.

Cita:

Empezado por Casimiro Notevi
mysql no tiene la opción de mirror de firebird

¿Cuál es esta opción?

// Saludos

Casimiro Notevi 04-06-2010 22:38:51

Quería decir la opción "shadow", que crea una base de datos (o las que quieras) copias de la principal. Y se mantienen al mismo tiempo que la principal.
Aquí tengo un documento por si quieres echarle un vistazo.

roman 04-06-2010 22:39:58

Y, ¿por qué dices que MySQL no tiene esa opción?

// Saludos

Casimiro Notevi 04-06-2010 22:57:22

Mi inglés es pésimo, pero me ha parecido entender que necesita alguna utilidad externa, ¿es así?.

De todas formas la opción "shadow" de firebird no es exactamente lo que se conoce como una replicación "normal", es una "replicación" en tiempo real y tan fácil de implementar que basta ejecutar una sentencia sql del estilo: create shadow labasedatos.shd, eso es todo, aunque admite diversos parámetros.

AzidRain 05-06-2010 16:13:07

Eso me interesa Casimiro, en MySQL hay opción de crear servidores esclavos pero desgraciadamente la replicación es unidireccional. He estado buscando la forma de montar un servidor de BD (de cualquier sabor) que tenga redundancia real, es decir, se cae uno y el otro queda en automático montado como principal. Oye lo de shadow donde te guarda la copia? En el mismo servidor? En otro?

Casimiro Notevi 05-06-2010 18:17:08

Cita:

Empezado por AzidRain (Mensaje 366290)
Eso me interesa Casimiro, en MySQL hay opción de crear servidores esclavos pero desgraciadamente la replicación es unidireccional. He estado buscando la forma de montar un servidor de BD (de cualquier sabor) que tenga redundancia real, es decir, se cae uno y el otro queda en automático montado como principal. Oye lo de shadow donde te guarda la copia? En el mismo servidor? En otro?

Bien, pero el shadow de firebird no es una replicación que funcione automáticamente si cae un servidor, tendrías que activarlo manualmente.
En windows es necesario y obligatorio crearlo en una unidad local, sin embargo en linux se puede ubicar en cualquier unidad "montada", por lo que puede ser externa.
Aquí tienes un documento que escribí hace tiempo para montar un shadow en un disco externo de red, en linux.
Para hacer lo que propones necesitas ayudarte de una utilidad como Heartbeat, tienes dos servidores replicados que esta utilidad va comprobando y en caso de caída de uno de ellos, pone en funcionamiento el otro servidor, totalmente "transparente" para el usuario, no se entera que se ha cambiado de servidor.
En mi trabajo tenemos algunos clientes con sistemas de ese tipo, en las últimas versiones de linux viene integrado en el kernel (creo que el propio heartbeat) por lo que es más fácil, cómodo y rápido de implementar.
Aquí tienes un documento de cómo montar un sistema de alta disponibilidad en linux con heartbeat.

AzidRain 05-06-2010 22:05:50

Excelente Casimiro, aunque ya desviamos un poco el hilo pero creo que quien lo siga desde el principió verá que se fue desarrollando el tema a mi juicio bien. Gracias por los aportes simplemente excelentes

Neftali [Germán.Estévez] 07-06-2010 09:34:20

Cita:

Empezado por AzidRain (Mensaje 366227)
Creo Access esta fuera de toda discusión, ni caso tiene perder el tiempo en eso pues como ya dijeron solo le servirá para windows.

Al igual que Román, yo tampoco estoy de acuerdo con esa afirmación. :(:(

Estamos hablando de un programa Delphi (que funciona en Windows) que se debe conectar a un Base de Datos (local).
Jet4 (que no ACCESSS) para segun qué cosas es un buen motor de Base de Datos (siempre que se use para lo que está diseñado y de forma adecuada).

Si está descartado porque sólo funciona bajo Windows, por esa misma razón deberíamos descartar Delphi, pues sólo funciona bajo Windows.

Soy de los que piensa que todo DEPENDE. Y NO siempre MySQL/FB/SQLServer (por decir alguno) son mejores que Jet4/Parados/DBase (por decir algunos). Todo depende de para qué se vayan a usar.

ContraVeneno 11-06-2010 20:43:42

vamos a ver jóvenes, que tengo la misma duda que se trata en este hilo.

Un sistema local para un solo usuario, con alguno que otro dato que capturar. Mas que nada leer información y sacar uno que otro reporte. Vamos, algo sencillo y rápido.

Si me decido a usar Firebird, ¿qué tengo que instalar en la máquina del usuario?, ¿tengo que configurar algo?

Con mdb, si mi memoria no me falla, copio el ejecutable, con el archivo mdb y listo; ¿con FireBird (o MySQL) es igual de sencillo?


saludos.

Casimiro Notevi 11-06-2010 20:57:34

Con firebird, ejecutas el instalador y siguiente, siguiente, siguiente... se acabó.
No hay que configurar nada.
Y si usas la versión "embebida" sólo es copiar unos ficheros que pueden ir con tu programa.

ContraVeneno 14-06-2010 16:37:35

instale la versión embedded de firebird en mi equipo, ejecuté y me aparece una consola de commandos, pero como no conozco nada, no supe que hacer...

¿que tengo que buscar para empezar a aprender?

Yo estaba esperando algo donde pueda crear bases de datos, dar clicks para crear tablas, click con el botón derecho y editar la tabla o algo así.... como access...

Neftali [Germán.Estévez] 14-06-2010 17:12:14

No he usado mucho FB Embebded, pero supngo que la herramienta de Administración/creación y demás no viene incluída. Para esto supongo que puedes bajar alguna externa; Yo la mejor que conozco de largo es IBExpert, que cuenta on una versión "free" para uso personal (y que puedes encontrar en el FTP del Club).

Por favor, si no es así, que alguien me corrija.

Con esta herramienta ya sí podrás crear las tablas como tú estás pensando.

Casimiro Notevi 14-06-2010 17:37:33

Haz caso a Neftalí :)

El firebird "embedded" son sólo unos ficheritos que debes poner junto a tu programa. No sé qué consola de comandos te ha podido salir :)

ContraVeneno 14-06-2010 17:49:49

firebird ISQL Tool:


y ahí me perdí... voy a intentar IBExpert....

FGarcia 14-06-2010 18:00:38

Contra:
Firebird embedded es algo asi como el motor de base de datos. Tu como desarrollador deberas de instalar la version completa de FB, ahi desde alguna herramienta (IBExpert, FlameRobin) crear y manipular tus tablas. Al terminar tu aplicacion deberas distribuir con tu programa la fbclient.dll que permitira a tu programa en la maquina del cliente accesar la bd.


EDITO:

Solo para este Link la pagina no tiene desperdicio

Casimiro Notevi 14-06-2010 18:00:55

Ese es el isql, sí, pero puedes usar ibexpert, marathon, flamerobin, etc. que son visuales.

GerTorresM 20-06-2010 14:56:15

se puede pensar en postgres
 
Hola a todos:

Mi sugerencia es la siguiente:

Teniendo en cuenta el número de registros y el posible crecimiento que ha tener la base de datos me permito meter en la lista de candidatos a POSTGRES, lo hago por varios aspectos:

El primero porque la puedes instalar en un equipo de escritorio o un un servidor como tal.

El segundo por que la puedes conectar utilizando los componentes Zeos, que resultan muy sencillos de manejar.

El tercero porque puedes implementar en el motor de la DB procedimientos almacenados o disparadores que te guarden en otro tabla registros que no cumplan con condiciones, es decir si algo es fuera de lo normal el mismo motor se encarga de evaluar y guardar, eso implica que la parte de evaluar datos la puedes montar el motor y no como código en tu aplicativo.

Cuarto por que cuando te des cuenta que requieres un servidor y lo montes (POSTGRES en la nueva máquina) tan solo debes cambiar en la pantalla de conexion (que se crea en la aplicación) el nombre del servidor y listo.

Quinto porque los datos son enviados de forma encriptada evitando que sean manipulados en su recorrido.

y sexto por si el del caso lo puedes pasar tu datos a otro motor como ORACLE (lease al reves) y en tu aplicación tan solo debes cambiar el protocolo (esto cuando se usan los componentes ZEOS).



gertorresm
Colombia

Casimiro Notevi 20-06-2010 17:29:10

Cita:

Empezado por GerTorresM (Mensaje 367785)
[..]Teniendo en cuenta el número de registros y el posible crecimiento que ha tener la base de datos me permito meter en la lista de candidatos a POSTGRES, lo hago por varios aspectos:[..]

Sería necesario aclarar que postgres es una empresa que vende PostgreSql, que al ser software libre pueden disponer como quieran del programa.
Así que el original, libre y gratis lo encontrarás en la web de www.postgresql.org


La franja horaria es GMT +2. Ahora son las 23:49:00.

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