Alguien que me explique

MySQL - Oracle
En la universidad, jamás (repito: Jamás) nos enseñaron a implementar bases de datos en Oracle, DB/2 o Postgres.
El DBMS más utilizado siempre fue MySQL; porque era free, sencillo, rápido y no requería tanto espacio.

Recuerdo que Ilian cursó la materia de Base de Datos en el primer semestre de la maestría y ocupo Oracle para la implementación.

No recuerdo muy bien cómo, pero me hice una cuenta en oracle y descargué la version 10g de Oracle Database de no menos de 670Mb. Y así como la bajé, la grabé en un CD y se la dí a Ilian.

Hace poco me surgió la duda y la curiosidad de saber ¿Cómo será Oracle? así que en la semana me conecté de nuevo al sitio con mi cuenta y descargue 480Mb que contenían al Oracle Application Server sin saber exactamente qué era. Cuando lo instalé vi que no era otra cosa que una versión del servidor web Apache que permitía ejecutar scripts de jsp.

Total que para no andar perdido de nuevo en el sitio de Oracle, mejor le pedí el disco a Ilian, me lo prestó, instalé el DBMS en mi PC (Pentium IV 1.8 Ghz, 512 de Ram y D.D de 120 Gb).

La instalación fue bastante lenta, pero menos de lo que se tarda en crear una base de datos nueva; eso si es muy tardado.

Y aunque en el mundo de los negocios se habla muy bien de Oracle a mi me pareció algo confuso y sobrevaluado.
Tras la instalación, me pedía un nombre de usuario y una contraseña para ingresar y por más que se la escribía, no me daba acceso al iSQL*Plus que viene siendo una consola para consultas en SQL, pero bueno… se agradece la extensa ayuda que viene dentro del CD de instalación pues ahí encontré la respuesta. Usuario: SYSTEM ó SYSDBA ó SYS. Password: El que se usó durante la instalación.

Posteriormente, el asunto se tornó más oscuro pues hice una nueva base de datos en el sistema y (vacía) ocupaba nada más y nada menos que 320 Mb. No comprendo por qué causa ocupa tantísimo espacio en mi disco duro una base de datos vacía.

La cosa fue peor cuando copié desde un archivo de texto (generado por phpMyAdmin) las sentencias SQL que construyen las tablas de una base de datos en MySQL y las ejecuté en el iSQL*Plus. Justo ahora, han pasado 37 minutos (y contando) y no se han terminado de ejecutar las sentencias.

Las sentencias SQL que utilicé provienen de un dump de la BD que utilizo para la página de la biblia y consta de tan solo 32,262 registros.

Las comparativas más sorprendentes que puedo mencionar son las siguientes:

Una BD con 32,262 registros en MySQL ocupa 6.05 Mb, en Oracle ocupa 920 Mb.

El tiempo que tardé en ejecutar las sentencias SQL que contenía 32,262 registros en MySQL, no duró más de 5 minutos.
El tiempo que lleva ejecutandose el mismo número de registros pero en Oracle, precisamente ahora, lleva 45 minutos (y contando).

En este momento vienen varias preguntas a mi cabeza y espero que alguien que tenga la respuesta, pueda despejar mis dudas.

¿En realidad es mejor implementar una BD en Oracle que en MySQL cuando se trata de unos cuantos miles de registros?

¿Porqué ocupa tanto espacio una base de datos en Oracle aunque esté vacía?

¿Es un mito o es una realidad que una BD grande (por ejemplo los datos de todos los mexicanos registrados en el IFE) en Oracle es más consistente, segura y estable?

¿Qué resulta mejor? ¿Oracle + JSP o MySQL + PHP?

Actualización: Un muy buen sitio en español que nos da una guía para comenzar a utilizar ORACLE

Anuncios

7 pensamientos en “Alguien que me explique

  1. Se usa lo que mejor se te acomoda. Sería bueno comparar rendimiento en uno y otro cuando estás usando millones de registros y trabajas sobre ellos en comparación de unos cuantos cientos.

    Para efectos prácticos recomendaría hubieras usado mejor el Oracle XE (http://www.oracle.com/technology/products/database/xe/), que puede que sea más acomodado a las aplicaciones que buscas tener en él y más comparable con MySql.

    Pero insisto, se usa lo que mejor se te acomoda, no necesariamente uno sea mejor que otro en todos los casos.

  2. que te puedo decir, no soy experto en estos temas, pero según mi experiencia (que no es mucha) Oracle no es muy impresionante! (claro preguntale a Elektra o a Tv Azteca que usan para almacenar datos “delicados” de clientes) si quieres una comparativa directa con Oracle no lo compares con MySql comparalo con Postgresql y con millones de registros no con algunos cientos, según esto Oracle es para hacer desarrollos fuertes y para aplicaciones “de verdad” (yo no digo a eso, yo solo transcribo lo que me dijo alguien “certificado” de oracle) y si no preguntale a los portales “chonchos” de internet (amazon y otros) con jsp, pagos en línea y todo ese rollo, ya se que existen aplicaciones similares en postgresql y hasta en mysql, pero eso es lo que dicen…:)

  3. Ninio,

    yo he utilizado mysql y sql server hasta la fecha, aun no me animo a meterme con el oracle, pero un dia de estos abrire la caja de regalo.

    Lo que si te puedo decir es que segun lo que he leido e investigado por ahi [seria bueno darte referencias pero acabo de formatear mi laptop y se me olvido completo mis favoritos =S, lo se….lose], bueno el caso es que mysql y manejadores como sql server tienen la ventaja de la rapidez en bases de datos digamos de mediano tamanio, 32.000 y cacho registros hasta donde yo se es considerado pequenio aun.

    Pero oracle te proporciona ventajas tales como un manejo seguro y robusto de BD’s grandes, es decir millones de registros, no 30.000 o incluso 100.000, hablamos de millones.

    Entonces digamos que mientras mysql y otros aprotan velocidad, oracle aporta robustes y seguridad, claro esta, como todo en este mundo existen sus sacrificios para obtener el tesoro.

    TQM
    @lex

  4. Hola, primero, debo responder porque Oracle Database 10g ocupa tanto espacio de almacenamiento si la base de datos está vacía:

    Oracle dispone de un buen número de tabals en el diccionario de datos grabn parte del volumen de datos (320 MB) se asigna automáticamente para impedir fragmentaciones de los bloques y segmentos del diccionario de datos y de la base de datos creada por defecto.

    Yo también adquirí el software para evaluación de Oracle 10g mediante un CD que la compañía me envió por correo, la instalé en un ordenador de las mismas características que la tuya y la instalacion es lenta, pero con un ordenador de mayor capacidad (P4 3.0 GHz., 512 de RAM ) dura 17 minutos.
    Oracle Database 10g Standard Edition funcionó super rápido en mi ordenadorsea cual sea la instrucción SQL que ejecutara, migré uina base de datos Access 2003 que contenía 200,000 registros en apenas 10 minutos.

    Ahora (2006 hasta la fecha) trabajo con Oracle Database 10g Express Edition
    y trabaja a la perfección tanto para desarrollo como para producción, y en cuanto a producción, he distribuido una aplicación basada en Oracle XE que almacena 950,000 registros con 20 sesiones abiertas y sigue siendo estable , rápida y coherente.

    Saludos.

  5. Oh!! muchas gracias por la explicacion Roberto Párraga, de verdad que ha sido bastante clara tu explicacion y sobre todo, porque es parte de tu experiencia con lo cual no dudo en lo que me dices.

    Quizás debería empezar a pensar en aprender a utilizar Oracle para luego migrar las BD del trabajo que estoy implementando sobre MySQL, la mayor de ellas tiene apenas 60 mil registros.

    De nuevo, gracias por la explicación y por compartir tu experiencia.

  6. Hola, debes saber, que Oracle registra como una bitácora todas las operaciones realizadas con DML(Insert,Update,Delete) POR ESO DEMORA UN POCO MAS QUE MYSQL.

    Saludos.

  7. Roberto: Gracias por el comentario y cualquier otra observación en relacion a las (grandes) diferencias entre Oracle y MySQL no dudes en escribirla

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s