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 04-06-2005
adlfv adlfv is offline
Miembro
 
Registrado: may 2005
Posts: 39
Poder: 0
adlfv Va por buen camino
Cambio de motor de BD

Hola a todos.

Estoy haciendo un programa, que comencé con MySQL (usando una librería especial)... La aplicación maneja muuuuchos datos, la BD tiene como 80 tablas, y hay del orden de 10.000 transacciones mensuales facilmente... No sé si MySQL soportará eso y con que tan bien funcinará.

Hace algún tiempo me plantee el hacer la aplicación de forma genérica para cualquier motor de base de datos mediante OleDB o bien ODBC (dichos controladores, dicho sea de paso NO FUNCIONAN BIEN para MySQL ). Lo que hice para hacer la aplicación generica fue hacer 3 data modules (no tenía claro cómo hacerlo y seguro hay una forma mejor), uno para MySQL con la librería de componentes, uno para OleDB (ADO) usando dbGo en Delphi 2005 y otro para BDE usando los componentes de siempre. El cambio de data module... lo hago por código, y la asignación de los data sources a los controles también.

Ahora bien, me gustaría saber cómo puedo hacer para hacer el cambio de un motor de BD a otro, y así... para ir probando la eficiencia, y la robustez de todo el sistema, si que me afecte al programa... Quiero minimizar las modificaciones cuando cambie de uno a otro, y que funcione todo bien. Según entendí esto se logra con ADO (OleDB), haciendo un cambio de la conexión, y teniendo el driver adecuado instalado. El driver de MySQL para ADO, es sumamente deficiente... no reconoce bien los campos. Existe un diver para ADO de MySQL que funcione bien?

Estoy pensando en cambiar concretamente a Oracle 8i (para probar primero), qué versión de Oracle me recomiendan? Qué motor de BD me recomiendan?

Estoy un poco confundido con todo esto, puesto que siempre había hecho aplicaciones con BDE normalitas, y esta es grande y debo hacerla lo mejor posible desde un principio.

Por otro lado... la eterna controversia... ODBC o ADO? Qué uso? Si alguien me puede orientar un poquito en todo esto, le estaré muy agradecido.

Muchas gracias de antemano.

Y un cordial saludo a todos
Responder Con Cita
  #2  
Antiguo 06-06-2005
axelbb axelbb is offline
Miembro
 
Registrado: oct 2004
Posts: 127
Poder: 20
axelbb Va por buen camino
Veamos...

Hola.

Preguntas:
"la BD tiene como 80 tablas, y hay del orden de 10.000 transacciones mensuales facilmente... No sé si MySQL soportará eso ..."

¡Si no soportara eso no merecería llamarse Motor de Base de Datos!!. En serio, si implica que alguna tabla llegue a los 120.000 registros en un año, en 10 llegaría a 1.200.000 ¡¡No es nada para un servidor de bases de datos!! Por experiencia, hasta los manejadores de "escritorio" (Clipper, dBase, Fox...) trabajaban cómodamente con ese volumen. No uso MySQL, pero creo que Google la usa para su buscador (más de 8.000.000.000 de páginas web).

Personalmente, no uso ni ADO ni ODBC, que al final son lo mismo. Prefiero usar componentes nativos mientras los haya. Hay uno llamado ZEOS que soporta el protocolo MySQL en Delphi y es gratuito. No es muy rápido, pero anda bien. Supongo que accede al API del servidor nativamente, antes que por ODBC.

Sobre programar para cualquier servidor... No es tan simple. En ese caso sí, tienta usar ADO para poder cambiar más fácilmente, pero desgraciadamente cada motor tiene su SQL propio. Si bien deberían parecerse mucho, verás que tienen pequeñas diferencias que hacen que de todas formas tengas que retocar las sentencias en tu programa. Y si entramos dentro del servidor, con procedimientos almacenados, triggers, y otros detalles (tipos de datos...), hay que decir que se parecen bien poco unos y otros.

Sobre Oracle, yo lo pensaría si el volumen de datos es el que comentaste arriba. ¿Has probado de instalar Oracle? Es monstruoso, con cientos de opciones de configuración. Tiene sentido en sistemas grandes de verdad, y con ganas de tomarse el tiempo de aprender y configurarlo como corresponde para sacarle la enorme diferencia que puede hacer sobre los demás motores. Además... ¿qué pensás hacer con el precio de las licencias? Es más bien caro, porque no estamos hablando de instalaciones ilegales, desde luego. Tendrás que encontrar clientes que paguen y le encuentren realmente utilidad a esa inversión. Si no vas a guardar ingentes cantidades de registros, yo no lo pensaría, me quedo con FireBird o PostgreSQL. Hay otras gratuitas excelentes, pero esas las tengo bien probadas, y andan en serio. La instalación que le hagas a tu cliente será legal sin pagar licencias, y ese ahorro facilitará hacerle un precio conveniente para ambos. Si vas a insistir con Oracle, podrías bajarte la 10g del site de Oracle. Y que te diviertas! Yo la instalé, la probé dos semanas, y la borré totalmente de mi PC. Por ahora, quiero una vida simple

Saludos
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


La franja horaria es GMT +2. Ahora son las 18:46:08.


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