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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2015
josepicd josepicd is offline
Miembro
 
Registrado: jun 2015
Posts: 57
Poder: 9
josepicd Va por buen camino
Recomendacion de base de datos

Buenas, tengo una duda sobre que base de datos utilizar. Os cuento,

Realizo aplicaciones de adquisicion de datos. Las aplicaciones en cuanto a datos suelen guardar un fichero de unos 30 o 40 campos y como maximo 50 registros, estos registros rara vez son modificados, digamos que es "la configuracion del programa".

La aplicacion va capturando datos a traves de unas tarjetas y demas y los va grabando en otro fichero, supongamos, que es fecha_hora, valor_adquirido. Este fichero va incrementando en el tiempo en unos casos puede llegar al millon de registros y en otros estar a 0 porque el cliente decide no guardar, pero lo que nunca se modifica y se utiliza muy de vez en cuando para hacer una estadistica.

Hay que decir que este proyecto no lo comence yo y la persona que lo desarrollo, por alguna razon, eligio SQL Server para almacenar los datos. Mi pregunta es la siguiente, ¿Estoy matando moscas a cañonazos?, que base de datos me recomendais usar, yo habia pensado usar alguna mas ligera, en plan SQLite o incluso fichero plano de texto para almacenar datos.

Se acepta cualquier aportacion y gracias.
Responder Con Cita
  #2  
Antiguo 09-09-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.460
Poder: 20
newtron Va camino a la fama
Hola.

Mi opinión es que si vas a almacenar millones de registros en la base de datos y ya tienes el sistema montado en SQL Server es no tocar nada. Si almacenas tanto registros en una base de datos plana cuando quieras emitir algún informe o hacer alguna consulta te va a dar un "tabardillo".

Saludos.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 09-09-2015
josepicd josepicd is offline
Miembro
 
Registrado: jun 2015
Posts: 57
Poder: 9
josepicd Va por buen camino
No, por la consulta lo no preocupa. Las consultas suelen ser entre fechas, y estan ordenadas por fechas, longitud fija del registro y el acceso sera mas o menos rapido, aunque tampoco me preocupa si una estadistica tarda 5 minutos en generarse. Me preocupa mas el dia a dia, ya que tener que estar instalando SQL Server, configurando y demas, creo que es un engorro.

Habia pensado en SQLite pero no se que tal.
Responder Con Cita
  #4  
Antiguo 09-09-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.460
Poder: 20
newtron Va camino a la fama
Pues no sé porque no uso SQL Lite pero me imagino que cualquier base de datos que montes tendrá su instalación y configuración más o menos laboriosa, además, la instalación de la base de datos se hace en el servidor y no creo que andes reinstalando servidores muy asiduamente, ¿no? Por otro lado yo soy de la máxima de que..."lo que funciona, no lo toques".

A ver si alguien con experiencia en SQL Lite te dice algo.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 09-09-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola josepicd.

No he usado SQLite, pero Firebird embedded, es una opción que deberías tomar en cuenta. Podes descargarla desde aquí aquí.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 09-09-2015
josepicd josepicd is offline
Miembro
 
Registrado: jun 2015
Posts: 57
Poder: 9
josepicd Va por buen camino
Exacto, algo asi, Firebird Embedded es un estilo (mas completo) al SQLite.

Comento que las bases de datos no van en servidor, son locales. Las embedded como Firebird y SQLite no requiere instalacion en el pc, unicamente incluir la dll correspondiente y a funcionar.
Responder Con Cita
  #7  
Antiguo 09-09-2015
Avatar de Combat-F2D
Combat-F2D Combat-F2D is offline
Miembro
 
Registrado: may 2003
Ubicación: Toletum
Posts: 454
Poder: 21
Combat-F2D Va por buen camino
recuerda y ten pendiente el tema de bloqueos y concurrencias, aunque no tendras ese problema al ser local
recuerda que sqlite no es un server server como tal, no controla accesos recurrentes y esas cosas...
por lo menos hasta donde yo se y padezco
__________________
online
Responder Con Cita
  #8  
Antiguo 09-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
SQLite es mas rapida que los motores grandes. Consume menos recursos. Es un solo dll que se debe distribuir y que por lo general ya esta en cualquier equipo (windows > 7 seguro ya lo tiene). No se "cae el servicio" de SQLite: siempre esta ahi.

Ademas no tiene dependencias externas, multiplataforma, Delphi lo soporta con DBExpress y FireDAC. Con FireDAC es muchisimo mas potente porque emula algunas cosas que "le faltan". Por ejemplo no tiene Boolean nativo SQLite, FireDAC lo mapea automaticamente a True/False sin problemas. Lo mismo con los DateTime, Currency, etc

Basicamente si no hay que encriptar la BD (o lo haces a mano o nada con SQLite), si hay poca o nula concurrencia, y solo se permite acceso local (no multiusuario por red por ej) entonces SQLite es una GRAN opcion

Mas info

Luego, hoy dia podes usar cualquier cosa, no es como hace unos años que parecia la pelea eterna entre ford y chevrolet; todas las BD relacionales son todas buenisimas, rapidas, confiables y ofrecen mas o menos lo mismo, creo que no hay una clara distincion. En lo que si hay distincion es en la distribucion. Por ejemplo, aca usamos tambien SQL Server 2008, que distribuirlo es un problema porque es un instalador pesado y el proceso de instalacion no es "tan sencillo". Distinto es el caso de SQLite (agregas como dije una biblioteca de unos pocos kb y listo) o Firebird (Classic, Superserver, Embedded) que se instala silenciosamente, ocupa pocos megas y funciona barbaro
Responder Con Cita
  #9  
Antiguo 09-09-2015
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Poder: 21
gatosoft Va camino a la fama
Solo para el registro...

Dentro del conjunto de bases embebidas, a mi me gusta ElevateDB, es muy sencilla y potente. No requiere de DLLs pues realmente embebe el motor dentro del ejecutable (cuando se utilza embebido), con un costo relativamente bajo para éste

El "problema": es un producto pago (por eso dije que solo para el registro),

Saludo,
Responder Con Cita
  #10  
Antiguo 09-09-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.460
Poder: 20
newtron Va camino a la fama
Cita:
Empezado por gatosoft Ver Mensaje
Solo para el registro...

Dentro del conjunto de bases embebidas, a mi me gusta ElevateDB, es muy sencilla y potente. No requiere de DLLs pues realmente embebe el motor dentro del ejecutable (cuando se utilza embebido), con un costo relativamente bajo para éste

El "problema": es un producto pago (por eso dije que solo para el registro),

Saludo,
Esa es la base de datos que yo uso y la verdad es que va bastante bien. La puedes configurar en modo Embedded o en modo cliente/servidor sin grandes problemas y es más, dentro de una red hasta puedes tener unos terminales en modo Embedded y otros en modo cliente/servidor, lo que pasa es que no he comentado nada porque efectivamente es de pago, no es cara pero algo hay que pagar.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #11  
Antiguo 09-09-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Otra opcion de pago es NexusDB, que, como Firebird, parece estar hecha para Delphinianos

Aunque solo la conozco de nombre y no se que tendra de "especial", o si ofrece algun tipo de integracion/facilidad de desarrollo

NexusDB

Webinar
Responder Con Cita
  #12  
Antiguo 09-09-2015
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Para tu caso, recomiendo SQLite, que para estos tiempos, una dll de escasos megas no es absolutamente nada.

Si usas los componentes de FireDAC, el motor queda empotrado en el exe.
Responder Con Cita
  #13  
Antiguo 14-09-2015
josepicd josepicd is offline
Miembro
 
Registrado: jun 2015
Posts: 57
Poder: 9
josepicd Va por buen camino
Muchas gracias a todos, finalmente usare SQLite, ya que creo que es lo que mejor se adapta a mis necesidades.

Una vez mas, un 10 por la gente de clubdelphi.
Responder Con Cita
  #14  
Antiguo 23-09-2015
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
Una ventaja importantísima si se usa Firebird embebido es que luego pasar al Firebird mutiusuario (el convencional) es muy simple, porque la estructura de los archivos son las mismas.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #15  
Antiguo 23-09-2015
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Si, pero hay que considerar la necesidad en este caso. Es decir, se necesita almacenar una gran número de datos para configuraciones.

Puede usar un .INI para ello, pero indica que son demasiados datos y por ello prefiere una BD. SQLite es perfecto. Muchas aplicaciones la usan para estos fines.

Por supuesto que puede usar nuestra base de datos favorita como Firebird. Pero sería exagerado y más aún con tener que cargar el motor, aunque sea potable si lo comparamos con a lo más una DLL y la BD.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Ver Los Datos De Diferentes Tablas en una base De datos en access, Desde un DBGrid. feliz-58 Tablas planas 2 24-01-2013 19:16:14
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 Adriadob Firebird e Interbase 11 31-10-2012 11:28:46
Recomendación Exportando datos de una DB MaMu Varios 3 04-05-2008 21:33:29
Herramienta case para diccionario de datos de base de datos firebird mcalmanovici Firebird e Interbase 1 11-02-2007 15:17:37
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08-09-2003 19:44:52


La franja horaria es GMT +2. Ahora son las 21:42:35.


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