Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Multiples aplicaciones - Que BBDD usar?

Hola,

Estoy estudiando la posibilidad de crear varias aplicaciones, independientes entre sí, que compartan datos. El tema es más bien simple: tenemos dos aplicaciones, Clientes y Presupuestos. Si estan las dos aplicaciones instaladas, la aplicación Presupuestos puede coger los datos de la aplicación Clientes. Si sólo está instalada Presupuestos, los datos se guardan de forma independiente.

En principio había pensado en usar Firebird Embedded (si me puedo ahorrar instalar un servidor BBDD, mejor), pero tiene el inconveniente que si una aplicación se conecta a una BBDD, esta queda bloqueada y nadie más la puede abrir.

Por otra parte, habría la posibilidad de usar BDE+tablas planas (Paradox, dBase, no sé), pero estas no tienen soporte Unicode, y por lo que he leído el BDE está casi muerto (bueno, es una tecnología obsoleta).

Con vuestra experiencia, que BBDD me aconsejaríais usar? Las aplicaciones en principio van a ser monousuario, y me gustaría algo que fuera simple de usar y instalar.

Muchas gracias,

Marc
Responder Con Cita
  #2  
Antiguo 25-03-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Intala firebird "normal"
Responder Con Cita
  #3  
Antiguo 25-03-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Ya... Pero es que justamente lo que quería evitar era tener que instalar un Firebird normal (o un MSSQL Server, o un MySQL...).

No existe nada parecido a las tablas dBase o Paradox, pero en "moderno"?
Responder Con Cita
  #4  
Antiguo 25-03-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Te diria igual, que instalaras un firebird normal pero buscas no instalar nigun servidor... bueno depronto con SQLite puedas obtener lo que quieres, no he leido mucho de el y en realidad no lo he trabajado pero aquí te dejo un aparte de la wikipedia que habla de las caractérisicas de SQLite; Para poder usar SQLite en tus aplicativos, requerirás de ZeosLib.

Cita:
Características

La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atómicas, consistencia de base de datos, aislamiento, y durabilidad (ACID), triggers y la mayor parte de las consultas complejas.
SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar de que SQLite tratará en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran inconveniente, ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de la columna hasta la versión 3.
Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de escritura falla devolviendo un código de error (o puede automáticamente reintentarse hasta que expira un timeout configurable). Esta situación de acceso concurrente podría cambiar cuando se está trabajando con tablas temporales. Sin embargo, podría producirse un deadlock debido al multithread.[1] Este punto fue tratado en la versión 3.3.4, desarrollada el 11 de febrero, 2006.
Existe un programa independiente de nombre sqlite que puede ser utilizado para consultar y gestionar los ficheros de base de datos SQLite. También sirve como ejemplo para la escritura de aplicaciones utilizando la biblioteca SQLite.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #5  
Antiguo 25-03-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Cita:
Empezado por movorack Ver Mensaje
Te diria igual, que instalaras un firebird normal pero buscas no instalar nigun servidor... bueno depronto con SQLite puedas obtener lo que quieres, no he leido mucho de el y en realidad no lo he trabajado pero aquí te dejo un aparte de la wikipedia que habla de las caractérisicas de SQLite; Para poder usar SQLite en tus aplicativos, requerirás de ZeosLib.
Muchas gracias! He leído la web de SQLite, y parece ser que es exactamente lo que busco.

Saludos,

Marc
Responder Con Cita
  #6  
Antiguo 25-03-2010
Avatar de ESarger
ESarger ESarger is offline
Miembro
 
Registrado: mar 2010
Posts: 16
Poder: 0
ESarger Va por buen camino
Post Que conceptos tan viejos te recomiendan

Lo de hoy es el NOSQL.

Te recomiendo hacer lo que twitter y facebook y cambiarte a cosas gratuitas y muy poderosas en cuanto a escalabilidad como Casandra, ahora que si planeas hacer algo pequeño y te da igual la moda NOSQL, mysql puede ser tu ideal para cosas pequeñas y libres.

Ahora, si quieres algo grande y gastar pues siempre tendrás Oracle

PD: Había puesto los links a todo esto pero por alguna razón no me ha permitido ponerlos
Responder Con Cita
  #7  
Antiguo 25-03-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ESarger Ver Mensaje
Que conceptos tan viejos te recomiendan

Lo de hoy es el NOSQL.
Te recomiendo hacer lo que twitter y facebook y cambiarte a cosas gratuitas y muy poderosas en cuanto a escalabilidad como Casandra, ahora que si planeas hacer algo pequeño y te da igual la moda NOSQL, mysql puede ser tu ideal para cosas pequeñas y libres.
Ahora, si quieres algo grande y gastar pues siempre tendrás Oracle
PD: Había puesto los links a todo esto pero por alguna razón no me ha permitido ponerlos
Veamos, explícate
Responder Con Cita
  #8  
Antiguo 25-03-2010
Avatar de ESarger
ESarger ESarger is offline
Miembro
 
Registrado: mar 2010
Posts: 16
Poder: 0
ESarger Va por buen camino
Post Escalabilidad, rendimiento, optimización

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Veamos, explícate
En términos de escalabilidad, y obviamente por ser un gratuito(tenía que ser parte de los eficientes de Apache) da un gran rendimiento, muy superior al de muchos otros.

No es un sistema centralizado, ni gestionado de manera centralizada, sino que toda la inteligencia de gestionar los datos es manejada de manera distribuída entre todos los nodos, lo que en la práctica en realidad significa que no existe un solo punto de fallas en el sistema, ya que aun si se caen varios de los servidores, los otros continuarán operando ininterrumpidamente, lo que es esencial para muchos tipos de sistemas estilo web hoy día. Incluso, Cassandra soporta replicación no solo local en una red, sino que entre varios centros de datos remotos, todo de manera natural.

Código:
Noten que existen soluciones que pueden escalar bastante bien en  varios  escenarios, como es utilizar MemCache con MySQL, pero el  problema de  esas soluciones es que requiere de mucha configuración  manual para  agregar nuevos nodos al cluster, y aparte de eso no  garantiza una  escalabilidad lineal como lo ofrece Cassandra.
En realidad el rendimiento para cinetos de millones de datos es completamente superior, a eso me refiero, además, como dije, mysql y algunos de este estilo son ideales para cosas pequeñas y sin coste, al final es una desición personal, y esta, es una alternativa mas. Pero es una alternativa a la que muchos se estan moviendo, tal y como lo esta haciendo twitter
__________________
No seas tú mismo, se tu mejor mismo
Responder Con Cita
  #9  
Antiguo 25-03-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Ya, pero es que lo que yo busco es justamente el otro extremo. No busco crear una aplicación web para cinco zillones de usuarios, sinó simplemente una forma de guardar los datos en local, para una aplicación monousuario... No me sirve un Oracle, ni un MySQL... Sería matar moscas a cañonazos. Estoy hablando de bases de datos de media docena de tablas, y unos centenares de registros...

O sea, algo simple de instalar (y si es un único fichero con una DLL enlazada al ejecutable, mejor), con la única condición (que no cumple el Firebird) que pueda ser usada a la vez por más de una aplicación a la vez.
Responder Con Cita
  #10  
Antiguo 25-03-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Estuve lellendo algo de NOSQL, es un nuevo movimiento, liderado por desarrolladores con necesidades especificas que terminaron escribiendo sus propios estandares de almacenamiento. aquí un artículo

Bajo el concepto de este movimiento, muchos sitios web son simples y básicos y talvez no necesitan sino de 1 o dos tablas para funcionar y allí es donde apuntan a no usar un RDBMS, debido a que entrega una complejidad no necesitada. siendo que con modelos mas simples han obtenido mayor eficiencia en la escritura y lectura de datos.

De verdad, no se trata de conceptos novedosos u obsoletos; tampoco de modas. Cada modelo, lenguaje, motor tiene sus pros y sus contras... ninguno en realidad es la panacea ni la fuente de la eterna juventud.

En este caso, mcs ha encontrado algo que se adapta a su modelo... sayonara
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #11  
Antiguo 25-03-2010
Avatar de ESarger
ESarger ESarger is offline
Miembro
 
Registrado: mar 2010
Posts: 16
Poder: 0
ESarger Va por buen camino
Post Entonces la pregunta está mas que de sobra

Cita:
Empezado por mcs Ver Mensaje
Ya, pero es que lo que yo busco es justamente el otro extremo. No busco crear una aplicación web para cinco zillones de usuarios, sinó simplemente una forma de guardar los datos en local, para una aplicación monousuario... No me sirve un Oracle, ni un MySQL... Sería matar moscas a cañonazos. Estoy hablando de bases de datos de media docena de tablas, y unos centenares de registros...

O sea, algo simple de instalar (y si es un único fichero con una DLL enlazada al ejecutable, mejor), con la única condición (que no cumple el Firebird) que pueda ser usada a la vez por más de una aplicación a la vez.

La respuesta es MICROSOFT ACCESS
__________________
No seas tú mismo, se tu mejor mismo
Responder Con Cita
  #12  
Antiguo 26-03-2010
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Firebird embebido y SQLite. Además de ser software libre, hay montones de documentación y funcionan en otros sistemas operativos además de Windows.

Mi elección es Firebird embebido, sobre todo si la complejidad de la aplicación puede aumentar. Llegado el caso, reemplazas el motor por la versión "Server" de Firebird y tu aplicación lo podrá usar y así escalarás sin demasiados cambios. Es importante tener en cuenta si vas a tener accesos concurrentes a la base de datos, porque en los motores embebidos el archivo queda bloqueado.

¿ Access ? Me suena como un mal chiste, es pago, costoso, hay alternativas libres que le dan mil vueltas, es cerrado, solo funciona en Windows, y además va en menosprecio de la especie felina (ver mi firma).

Saludos !
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.

Última edición por rretamar fecha: 26-03-2010 a las 03:27:31.
Responder Con Cita
  #13  
Antiguo 26-03-2010
mcs mcs is offline
Miembro
 
Registrado: may 2007
Ubicación: Girona
Posts: 229
Poder: 18
mcs Va por buen camino
Cita:
Empezado por rretamar Ver Mensaje
Firebird embebido y SQLite. Además de ser software libre, hay montones de documentación y funcionan en otros sistemas operativos además de Windows.

Mi elección es Firebird embebido, sobre todo si la complejidad de la aplicación puede aumentar. Llegado el caso, reemplazas el motor por la versión "Server" de Firebird y tu aplicación lo podrá usar y así escalarás sin demasiados cambios. Es importante tener en cuenta si vas a tener accesos concurrentes a la base de datos, porque en los motores embebidos el archivo queda bloqueado.

¿ Access ? Me suena como un mal chiste, es pago, costoso, hay alternativas libres que le dan mil vueltas, es cerrado, solo funciona en Windows, y además va en menosprecio de la especie felina (ver mi firma).

Saludos !
El Firebird embedido no me sirve, por el tema de no aceptar múltiples conexiones a la vez (cuando un proceso abre una BBDD, esta queda bloqueada).

Y el Access no es tan mala idea. No es de pago (el motor de Access viene en no sé qué service pack), y se puede administrar sin el Office. Y el tema que solo funcione en WIndows no es ningún problema. O sea, es lo más parecido a las tablas planas, pero en moderno (pero no sé si admite múltiples conexiones a la vez).
Responder Con Cita
  #14  
Antiguo 26-03-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Con el access puedes hcer una aplicación monousuario... aunque gatubela se ponga furiosa contigo.

El problema de access (por lo menos el punto que mas marcas aquí) es que no puede manejar muy bien las conexiones multiples.

porque tanto problema de instalar el firebird en modo servidor? en windows es solo ejecutar el instalador... PnP ... y para el programa, creas un instalador que copie las librerias necesarias.

saludos.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #15  
Antiguo 26-03-2010
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Instalar y configurar Firebird es sencillísimo. Es más...hasta se puede hacer un script que automatice la instalación, pasando parámetros al instalador (se pueden hacer bastante cosas de este modo, en el sitio de Firebird se detallan todos los parámetros de línea de comandos que acepta el instalador). El usuario final ni se entera que se instaló Firebird, con lo que se puede automatizar su instalación.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
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
Usar búsquedas de Google en tu aplicaciones josejp1 Varios 0 31-10-2008 18:20:23
BBDD Firebird y IIS Dongato3310 Internet 2 20-08-2007 08:13:15
copia de bbdd majosf Conexión con bases de datos 3 18-11-2005 20:49:19
BBDD database.wrk ??? Mulero Conexión con bases de datos 8 03-11-2005 11:24:31
Parametros al ejecutar Aplicaciones + Aplicaciones en Mi PC NeWNeO Varios 4 19-08-2004 14:01:30


La franja horaria es GMT +2. Ahora son las 23:18:33.


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