FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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. |
#4
|
||||
|
||||
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. |
#5
|
||||
|
||||
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 .... |
#6
|
|||
|
|||
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. |
#7
|
||||
|
||||
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 |
#8
|
||||
|
||||
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 |
#9
|
||||
|
||||
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, |
#10
|
||||
|
||||
Cita:
Saludos
__________________
Be water my friend. |
#11
|
||||
|
||||
#12
|
||||
|
||||
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. |
#13
|
|||
|
|||
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. |
#14
|
||||
|
||||
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. |
#15
|
||||
|
||||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
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 |
|