PDA

Ver la Versión Completa : qué base usar?


edfz
25-02-2004, 23:37:59
Buenas,
Recién empiezo con Delphi, y quisiera saber qué base me conviene usar para guardar casi 1.000.000 de registros. Las consultas tienen que ser rápidas, y la base debe ser segura.
Tiene que ser algo que no necesite motor de la base.
Estaba pensando XML... puede ser...?
Gracias por cualquier ayuda..
edfz

roman
26-02-2004, 04:26:28
Dudo mucho que XML de el ancho para tal cantidad de registros. Pero lo que no entiendo realmente es este requerimiento tan extraño de "usar una base sin motor de la base de datos" Porque bases hay muchas y si de gratuitas estamos hablando posiblemente FireBird se ajuste a tus necesidades pero, ¿sin motor?.

Ahora que, por otro lado, quizá te interese MySql, que en su última versión maneja algo llamado "embedded server". Hasta donde entiendo, ya que no lo he probado, te permite "insertar" todo el motor de base de datos dentro de la aplicación misma, de manera que puedes hacer uso de todo el lenguaje sql para las consultas. Claro está que esto es útil sólo para acceso monousuario.

// Saludos

murci
26-02-2004, 09:28:40
Para la ultima version de FireBird recien liberada, la 1.5 creo que es, me parece que tambien lleva un embedded server. Pero no entiendo porque no debe tener motor.

edfz
26-02-2004, 12:39:29
tienes razón, no es que "no necesite motor" sino que no tenga que instalar además la aplicación de base de datos...
si uso una base access, tengo que instalar el access, si uso una mysql, tengo que instalar el mysql...
yo necesito una con la que no tenga que instalar la aplicación de base de datos.
espero haber sido más claro esta vez...
gracias por sus respuestas...

murci
26-02-2004, 12:51:46
Enotonces FireBird o IB 6, ambos freeware, podrian valerte, unicamente tendrías que ver como crear el script de instalacion, para que se instale conjuntamente con tu aplicacion. Esto se puede hacer, no se como, pues nunca lo he intentado.

dr_fausto
26-02-2004, 14:34:14
Yo utilizo Dbisam y me va muy bien

Saludos

roman
26-02-2004, 16:01:48
si uso una base access, tengo que instalar el access, si uso una mysql, tengo que instalar el mysql...

Esto es incorrecto. Sucederá igual que con FireBird. En algún ligar tendrás el motor, normalmente en la máquina que haga de servidor. Con MySql a lo sumo tendrás que copiar libmysql.dll a la máquina cliente.

// Saludos

edfz
26-02-2004, 19:37:25
Roman: La aplicación no es cliente/servidor, ni para correr en red... es un diccionario para la venta, no hay servidor ni nada por el estilo.
El diccionario es el que tengo que implementar en una base...

roman
26-02-2004, 20:50:50
Pues lo dicho.

Pudes usar MySql que para consultas es bueno simplemente copiando además de la aplicación en sí el dll necesario o usar FireBird con la opción que te propusieron.

// Saludos

jachguate
27-02-2004, 17:49:46
Firebird embedded server debe ser tu elección... nada que instalar, unas cuantas dll's y totalmente transparente al usuario.
Acceso de lectura/escritura o de solo lectura a los datos. Incluso todo puede estar en un cd, con acceso de solo lectura sin problemas.

rápido y escalable para la cantidad de registros que vas a manejar...

Hasta luego.

;)

ramiretor
27-02-2004, 19:56:17
Hola foro:
Bueno, la cantidad de información(en registros por ejemplo) es la que te debe de llevar a elegir la BD, yo te recomendaría que usarás FireBird o Interbase pero tienes que ser cuidadoso en que tanto va a crecer esa BD. Lo que te voy a decir no me consta, pero me da la impresión que FB o IB en unos cinco o seis millones de registros se empieza a hacer lento ( te lo digo porque una vez en una empresa con la que tuve contacto tuvieron ese problema). Y en esa circunstancia se necesita algo mas picudo ( como decimos aqui en México, ie, eficiente) como Oracle. Yo por ejemplo, trabajo con él por la necesidad de tener mucha información a la mano rapidamente yo calculo que la tabla mas grande que tenemos es de aproximadamante 20 millones de registros y varias tablas de 4, 5 millones de registros y cuando consulto algo lo hace rapidamente (claro está que la consulta esté bien diseñada y el servidor que tenemos es muy bueno).

Es mi humilde opinión salvo lo que opinen los demás aqui en el foro que saben mucho mas que yo.

Saludos a todos

:p

jachguate
27-02-2004, 20:11:51
Por supuesto que Oracle es mucho mas escalable que firebird, y maneja sin problemas cualquier cantidad de información.

Sin embargo, firebird no tiene problemas "serios" para manejar volumenes considerables de registros. Eso si, cómo en cualquier base de datos, se ha de poner enfásis en el dieseño de las estructuras, cuidar que existan los indices necesarios para optimizar las consultas y trabajar en esta optimización lo necesario para que la respuesta de la aplicación sea buena.

Dado que me da la impresión que las consultas para la aplicación en cuestion aqui serán bastante simples, no veo porque firebird no de la talla...

Además 1 milloncito de registros... no es problema para él.

Hasta luego.

;)

ramiretor
27-02-2004, 20:43:05
Hola:
De acuerdo contigo es que a veces contesto, sin seguir todo el orden de los mensajes y al terminar de dar la respuesta me di cuenta que lo que se quiere hacer es un diccionario que ni trabaje en cliente-servidor ni nada por el estilo. Por lo tanto vamos con los demas: FireBird es una excelente opción. Ademas que los costos por una aplicacion en Oracle es altisima...

Saludos y no hagan caso a mi comentarior anterior

:confused: