¿Que tipo de base de datos / lenguage utilizar?

E_Blue

Lanero Reconocido
26 Sep 2006
1,086
Hola, me gustaría si alguien me puede orientar sobre que tipo de base de datos utilizar.

Lo que necesito hacer es una base de datos con unas 8 columnas, que soporte hasta 40.000 registros y que me permita hacer búsquedas rápidas y como "frutilla del postre" me gustaría que posea alguna forma de seguridad para que no se pueda leer si no es con el programa que he hecho en VB6.
La base de datos NO es compartida y solo va instalada en una PC.
Actualmente estoy utilizando en mi "prototipo" de programa una base de Access la cual funciona muy bien pero hasta ahora solo tiene unos 30 registros ya que como dije es un "prototipo".

Aclaro que no entiendo mucho sobre bases de datos, por eso quería saber que me aconsejan, hasta ahora estoy entre dejar la base de Access, usar Fox Pro 6.0, o SQL.
No tengo claro que beneficios y contras tiene cada tipo de base.

Cualquier info sera bienvenida

Desde ya muchas gracias.

E_Blue
 
Bienvenido...
no te recomiendo Acces muy inestable... fácil de manejar, transportar y todo, pero para aplicaciones con mucho flujo de información, trafico y eso no da la talla... y ademas es paga...

personalmente uso estas dos.. MySql y FireBird.. algunas veces Interbase...
las dos primeras son libres y son perfectas para lo q planteas en tu prototipo...

con respecto a q no pueda ser leída por tu aplicación.. mmm esta como difícil...... pues las bases de datos tiene pass para el acceso , pero tu sabes q no son 100% seguras ante cualquier ataque de personas q sepan del tema...

es mi opinión personal.. hay otra sbd pero como no las manejo no las menciono...
saludos y éxitos ne tu proyecto.
 
Pues que te digo, SQL Server en promedio es buena, acepta buen flujo de registros y pues no es lenta( a veces si) y es licenciada, Fox Pro me parece una porqueria ya que cada rato( o por lo menos a mi me paso) se pierden los indices, Access es una base de datos de juguete, en la vida real no sirve de mucho, MY SQL, es mi concepto es muy buena, robusta, rapida, facil de usar, Libre, Gratis, Etc, Postgress Tambien me parece muy buena, igual que MYSQL, ORACLE, Buena,Robusta, Segura, Pero Costosisisissisisima, DB400 para mi la mejor, pero necesitas en server, estas son las que he manejado, pensando en que tu aplicacion es en VB te recomiendo SQL Server pero la 2000( en mi opinion mas estable que la nueva) o si no tienes para licencias puedes optar por MYSQL o Postgress pero es un poco mas complicado ponerla hablar con tu aplicacion en VB pero igual es facil.
 
Por lo que veo es solo un proyecto pequeño...usa Mysql , SQL server 2005 express, Oracle Express Edition ....o hasta Access...
 
La licencia GNU GPL de MySQL obliga a distribuir cualquier producto derivado (aplicación) bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero no desea distribuirlo bajo licencia GNU GPL, puede adquirir la licencia comercial de MySQL que le permite hacer justamente eso.
 
Huy si man eso es cierto lo de la licencia...y tu sabes como es la Dian para joder con las licencias de los software...ya he visto casos donde incautan los equipos...asi mucho cuidado...no le pase como una ves que desarrolle un software para un colegio en .NET y Oracle version Express y tuve un rollo con esa berracas licencias despues...asi pilas...
 
Muchas gracias por las respuestas!!!

Hola, analizando lo que hay disponible, estoy ahora entre SQL Express 2005 que segun se tiene una licencia libre hasta 4Gbytes y dejar la base Access con motor JET 4.0(ADO).
Lo que no se es si la licencia del ADO es libre o no.
¿Alguien sabe algo acerca del tema?
El otro problema que tengo es que nunca use SQL de ningun tipo y con el conversor de Access me tira un error y no me deja convertir ni hacer consultas SQL desde Access.
Me dice algo como que no puede convertir una base de datos ADO/ISAM para realizar la consulta SQL.:\
Necesito manejar algo que no tenga una licencia publica, porque el soft que se va a crear luego la empresa en la que trabajo lo va a vender.

Que lio esto de las licencias....:\
 
Estimado E_Blue:

Según lo que leo (8 columnas 40.000 registros) cualquiera de los motores que te han recomendado es válido, es más, para esa cantidad de registro algunos es exagerado.

En cuanto a tu sugerencia de dejarla en Access tal como está, no le veo problema SIEMPRE Y CUANDO TENGAS LA LICENCIA para que no te metas en lios después,

Regularmente yo trabajo con Access cuando el cliente tiene licencia y el proyecto es pequeño, y en postgresql cuando el proyecto es grande y el cliente no tiene como comprar la licencia de un motor com SQL, ORACLE, etc.

No te asustes por 40.000 registros, y menos con una simple tabla de 8 columnas, personalmente he puesto a sudar a Access con 750.000 registros y ni siquiera se pone lento, (no estoy defendiendo ni recomendando a access, solo comparto una experiencia profesional).

El rendimiento de una aplicación depende en gran medida de un buen diseño y una correcta utilización de campos indexados (entre otras cositas). He visto casos en que mamertos con un gran motor como ORACLE implementan soluciones con un bajo rendimiento por no poner a punto el motor dependiendo de la plataforma en que trabajan o simplemente por tener un mal diseño de la base de datos.

Así que para una solución tan pequeña te recomiendo utilices cualquiera de las opciones que te recomendaron, cualquiera es válida.

Besos, Yese.

Posdata: Fox ..... no lo soporto.
 
Motores de Bases de Datos gratuitos:
MySQL: Para pocos registros (menos de 500.000)
PostgreSQL: Para todo :cool:

Motores de Bases de Datos propietarias:
Oracle: Domina el mercado!!! :cool:



@ndres
 
Si quieres evitarte algun dolor de cabeza provocado por alguna licencia te recomiendo usar el PostgreSQL, como dijo xjuanchox, puedes tener problemas por usar una version Express (por ejemplo con Oracle Express o SQL Server Express) para uso no personal o como dice likybuay.

Por otra parte no creo que tengas problema con el MySQL porque no creo q vayas a modificar el gestor de base de datos (es decir, no vas a modificar el MySQL en si), solo usaras de gestor para una aplicacion. El MySQL restringe este tipo de aplicacion??
 
De la pagina de MySQL:

MySQL software es Open Source.
Open Source significa que es posible para cualquiera usar y modificar el software. Cualquiera puede bajar el software MySQL desde internet y usarlo sin pagar nada. Si lo desea, puede estudiar el código fuente y cambiarlo para adapatarlo a sus necesidades. El software MySQL usa la licencia GPL (GNU General Public License), http://www.fsf.org/licenses/, para definir lo que puede y no puede hacer con el software en diferentes situaciones. Si no se encuentra cómodo con la GPL o necesita añadir código MySQL en una aplicación comercial, puede comprarnos una licencia comercial. Consulte la Introducción a las Licencias MySQL para más información (http://www.mysql.com/company/legal/licensing/)

La licencia te obliga a publicar tu codigo fuente solo si modificas el codigo fuente de MySQL o si dentro de tu aplicacion incluyes codigo de MySQL, es decir si simplemente haras una aplicacion en cualquier lenguaje y haras que se conecte a una base de datos MySQL no tendrias ningun tipo de problema con la licencia.

Mi recomendacion es la misma que Henrir, MySQL te servira para lo que necesites, pero si quieres extenderlo mas a futuro (mas de 500.000 registros) mejor usa PostgreSQL.

Saludos
 
  • Me gusta
Reacciones: 2 personas
De la pagina de MySQL:



La licencia te obliga a publicar tu codigo fuente solo si modificas el codigo fuente de MySQL o si dentro de tu aplicacion incluyes codigo de MySQL, es decir si simplemente haras una aplicacion en cualquier lenguaje y haras que se conecte a una base de datos MySQL no tendrias ningun tipo de problema con la licencia.

Mi recomendacion es la misma que Henrir, MySQL te servira para lo que necesites, pero si quieres extenderlo mas a futuro (mas de 500.000 registros) mejor usa PostgreSQL.

Saludos

correcto!
Ademas de PostgreSQL, también esta FireBird....


cual elegiste para tu proyecto?:rolleyes:
 
correcto!
Ademas de PostgreSQL, también esta FireBird....


cual elegiste para tu proyecto?:rolleyes:

Si me preguntas a mi creo que voy a dejar Access porque ya lo tengo implementado en el codigo y la base ya esta creada solo falta agregar datos.
Pero aun tengo la duda respecto a la licencia, es decir no entiendo si ambos, la empresa que va a comprar el soft y la que desarrolla el soft deben tener la licencia o solo uno de ellos.:\

Resumiendo todavia no me cierra esto de las licencias cuando se crea un soft para vender, siempre hice soft para mi nunca he vendido un soft, por eso esto me tiene en el aire.:S
 
Si me preguntas a mi creo que voy a dejar Access porque ya lo tengo implementado en el codigo y la base ya esta creada solo falta agregar datos.
Pero aun tengo la duda respecto a la licencia, es decir no entiendo si ambos, la empresa que va a comprar el soft y la que desarrolla el soft deben tener la licencia o solo uno de ellos.:\

Resumiendo todavia no me cierra esto de las licencias cuando se crea un soft para vender, siempre hice soft para mi nunca he vendido un soft, por eso esto me tiene en el aire.:S

si me hablas de acces... creo q lo mas lógico seria q los dos tuviesen las licencias.
tu como desarrollador y uso para tal.. y los clientes q deben tener ne paquete de Acces instalado... digo yo! pues no estoy seguro nunca he usado Acces en un soft.

quien nos quita la duda?
 
Parcero Oracle es caro...eso si si lo vas a comprar puede estar rondando los 10.000.000 a 15.000.000 (Cambio de Dolares a Pesos )de pesos la version 10g y dependiendo de si lo quieres FULL o con determinados modulos, la verdad Oracle es para aplicaciones que sean muy grandes (Demasiado Grandes).....y el que dijo alla arriba que MYSQL soporta 500.000 resgistro....esta loco...MYSQL soporta muchisimo mas que eso, no postulen informacion que no sea correcta o que por lo menos se tomen el trabajo de verificar y les explico:

MyIsam o InnoDB tienen una capacidad maxima de 64 TB como dice CBBzun, pero se encuentran limitados por el sistema de archivos que estes usando (FAT, FAT32, NTFS, EXT2, EXT3, HFS) ya que cada uno tiene un limite maximo del tamaño de archivo, si quieres ver mas a detalle cuanto es esta capacidad puedes revisar la documentacion de mysql, aqui te dejo un enlace a una tabla sobre capacidad segun el sistema de archivos.

Y por si no creen alli les dejo el Link

http://dev.mysql.com/doc/refman/5.0/es/table-size.html
 
Hola, han posteado una cantidad de información sin fundamentos, por favor no recomienden Oracle para una bd de una sola tabla y 8 campos y solo unos pocos 40000 registros, eso es como matar con una bomba atómica a una mosca, esa cantidad de información la maneja perfectamente access, lo mismo sucede con SQL server 2005, postgresql, MySQL, esos grandes motores estan optimizados para manejar millones de registros y cientos de miles de accesos concurrentes.


Ya que el tipo de arquitectura es stand-alone, escoge un motor de base de datos que te permita ser embebido, en tu caso el access es perfectamente embebible, FireBird, derby apache,...,etc. Tambien te digo que revises si el motor de la base de datos permite la conexion con VB ó los controladores necesarios para la conexion, pero con access, esta mas que perfecto.

Existen una cantidad de aplicaciones de escritorio stand - alone que utilizan access, pero, como hoy en dia ya cada lenguaje esta proporciando la suya de manera nativa, solo es cuestion de ver las habilidades de cada uno en determinado lenguje, y si tu caso es VBasic, te lo recomiendo, Access esta diseñado especialmente para tu caso.
 
Man se ve que no ha utilizado mysql .....es muy bueno y se puede usar ya que ofrece mas seguridad que access y es muy liviano, y bueno lo de cientos de conexciones....se equivoca man la version freeware de Mysql no soporta cientos de conexciones como dices, ahora bien SQL Express es muy liviano y el gasto de maquina es insinificante ....Access...por Dios es una groseria usar Access...te has puesto a pensar si borran el archivo por error de access que contiene la base de datos....o un virus afecta el contenido.....En mysql no tendras ese problema ....asi que pilas man no hables de informacion sin fundamentos.. llevo muchos años trabajando con DBMS y access seria lo ultimo que recomendaria.... Lea e informese antes de hablar...
 
Hola a todos!!,
Primero que todo, MySQL, su version "free" ó GNU GPL, que en realidad no lo es como todos piensan, esta limitada, si es cierto, creo que a un maximo de 1000 conexiones concurrentes, "solo se necesita 1 conexion" pero tener en cuenta que si desarrollas una aplicacion bajo esa MySQL con licencia GNU GPL tienes que ponerle el mismo tipo de licencia a tu aplicacion, y vaya que no creo que él quiera que cualquier persona tenga derecho a tener su aplicacion, debido a que la necesita de manera privativa, tambien, MySQL esta dirigido para aplicaciones WEB, por eso es que es tan usado en internet, MYSQL la version con Licencia GNU GPL no la puedes usar en una empresa, ó al menos que pages por la version enterprise.

Por supuesto que ha mysql se le pueden borrar los archivos, ningun motor de base da datos esta excento de eso, debido a que en lo mas bajo, todo termina comvirtiendose en archivos planos ó archivos. Aclaro, aun no he conocido algun caso de que un virus haya borrado una bd de access, y si eso ha courrido, vaya que en realidad fue un grave descuido de los usuarios el no tener un minimo de proteccion en los pc. Para eso se debe hacer backup constantes de la bd, por que no solo los virus son el peligro, existen muchas amenazas que se deben considerar en todas las aplicaiones, TODAS.

Yo por curiosidad hice una aplicacion casi con esas caracteristicas en java, con access 2003, y le hice unos test de hasta 100000 registros, y la verdad que no hubo ningun problema, existen muchas aplicaciones que usan de manera embebida a access, y nadie lo nota, yo conosco una aplicacion gratis de contabilidad "Contasol" que tiene access como motor de base de datos, la usan en una empresa y no me han comentado absolutamente nada acerca de ralentizaciones ó perdida de datos.

Access es eficaz, hace lo que tiene que hacer, manejar datos para pequeñas pymes, donde se necesiten pocas conexiones.

Tienes que tener en cuenta que es para una arquitectura stand-alone, para que funcione en un solo pc, esto significa, que lo puede embeber, permitiendo que se pueda transportar y hacer backup de manera mas facil.

Aclaro, yo no defiendo a Access ó mucho menos a microsoft, solo estoy proponiendo lo que considero que es la mejor solucion a la necesidad, es mas, yo desarrollo en linux aplicaciones j2se y j2ee.
 

Los últimos temas