domingo, 1 de febrero de 2015

MySQL y PostgreSQL ¿Cuál es Mejor?


PostgreeSQL y MySQL se ha prolongado muchos años como los gestores de base de datos por excelencia. En el comienzo, PostgreSQL era el sistema de base de datos de código abierto más rico en características, mientras que MySQL era el más rápido de los dos. Sin embargo, a lo largo del tiempo estos sistemas han convergido y las diferencias se han vuelto mucho más sutiles. Hoy en día, muchos proyectos se ejecutarían tan bien en un sistema de base de datos como en el otro. Además, ambas opciones de código abierto ofrecen una dura competencia a sus alternativas de código cerrado y más costoso. Las principales diferencias giran en torno a conformidad SQL, necesidades de desarrollo, cumplimiento ACID y proyectos de pila LAMP.

Conformidad SQL 

Una de las primeras mayores diferencias entre PostgreSQL y MySQL tratan de la conformidad SQL. Los dos sistemas de bases de datos usan el Lenguaje Estructurado de Consultas (SQL), pero sólo uno de ellos está conforme al estándar establecido por la Organización Internacional de Normalización (ISO). Cuando es importante que tu código se adhiera a este estándar, PostgreSQL es tu mejor opción. Esto te permitirá hacer fácilmente una transición de PostgreSQL a otro sistema de base de datos mientras tu proyecto se desarrolla. Sin embargo, esto también significa que no serás capaz de pedir prestado código de otros proyectos desarrollados en MySQL, los cuales no son conformes al SQL estándar de ISO. Esto presenta una difícil decisión que debería hacer basándose en las necesidades actuales y futuras de su proyecto.

Nuevos Desarrollos

Cuando estés creando un nuevo proyecto por tu cuenta, desde el principio, entonces deberías usar PostgreSQL. Porque el sistema de base de datos es más fiable y construido sobre estándares intenacionales. Dado que MySQL y PostgreSQL son ambos proyectos de código abierto, el coste de usar un sistema u otro es el mismo. Quitando el coste de la ecuación, PostgreSQL es la opción obvia para nuevos desarrollos de proyectos porque ofrece una superior protección de datos. Incluso si estás más familiarizado con MySQL, siempre puedes apuntarte a un curso online sobre PostgreSQL. No obstante, si planeas ampliar en proyectos de código abierto PostgreSQL puede no ser la mejor opción.

Proyectos de Código Abierto

En la biblioteca de proyectos de código abierto ya existentes, MySQL es el sistema de base de datos más popular. Al principio, esto se debió principalmente a la velocidad de MySQL sobre PostgreSQL. Ahora, el factor principal de la popularidad de MySQL es su uso establecido en gran cantidad de proyectos. De esta manera, si piensa usar, contribuir, o empezar un proyecto de código abierto probablemente quiera mantenerse con MySQL. Esto le hará mucho más fácil conseguir que otros desarrolladores participen en sus proyectos. También encontrará que existen muchos más cursos online que enseñan MySQL que PostgreSQL. Además, es más fácil pedir prestado código de proyectos de código abierto si está usando MySQL.

Pedir Prestado Código de Proyectos de Código Abierto

Ya que MySQL no cumple con el estándar ISO para SQL, gran parte del código que ejecuta en MySQL no funcionará en PostgreSQL. Esto significa que si quiere pedir prestado código de proyectos de código abierto que usen MySQL, tendría que reescribir el código para que funcione con PostgreSQL (aquí hay una clase que puede ayudar con la traducción PostgreSQL). Esto contradice el objetivo de pedir prestado código abierto porque tendrá que gastar tiempo desarrollando y probando algo que debería ser tan sencillo como copiar y pegar. En lugar de eso, es mucho más fácil usar simplemente MySQL cuando piensa pedir prestado código de proyectos de código abierto.

MySQL

  • Su principal objetivo de diseño fue la VELOCIDAD. Se sacrificaron algunas características esenciales en sistemas más "serios" con este fin.
  • Otra característica importante es que consume muy pocos recursos, tanto de CPU como de memoria.
  •  Licencia GPL a partir de la versión 3.23.19.


Ventajas:

  • Mayor rendimiento. Mayor velocidad tanto al conectar con el servidor como al servir selects y demás.
  • Mejores utilidades de administración (backup, recuperación de errores, etc).
  • Aunque se cuelgue, no suele perder información ni corromper los datos.
  • Mejor integración con PHP. 
  • No hay límites en el tamaño de los registros.
  • Mejor control de acceso, en el sentido de qué usuarios tienen acceso a qué tablas y con qué permisos.
  • MySQL se comporta mejor que Postgres a la hora de modificar o añadir campos a una tabla "en caliente".


Inconvenientes:

  • No soporta transacciones, "roll-backs" ni subselects.
  • No considera las claves ajenas. Ignora la integridad referencial, dejándola en manos del programador de la aplicación.


PostgreSQL

  • PostgreSQL intenta ser un sistena de bases de datos de mayor nivel que MySQL, a la altura de Oracle, Sybase o Interbase.
  • Licencia BSD.


Ventajas:

  • Por su arquitectura de diseño, escala muy bien al aumentar el número de CPUs y la cantidad de RAM.
  • Soporta transacciones y desde la versión 7.0, claves ajenas (con comprobaciones de integridad referencial).
  • Tiene mejor soporte para triggers y procedimientos en el servidor.
  • Soporta un subconjunto de SQL92 mayor que el que soporta MySQL. Además, tiene ciertas características orientadas a objetos.


Inconvenientes:

  • Consume más recursos y carga más el sistema.
  • Límite del tamaño de cada fila de las tablas a 8 (se puede ampliar a 32k recompilando, pero con un coste añadido en el rendimiento).
  • Es de 2 a 3 veces más lenta que MySQL.
  •  Menos funciones en PHP.


Síntesis


          Como conclusión a la comparación entre MySQL y PostgreSQL, parece aceptado que MySQL junto con Apache y PHP forman un buen equipo para servir páginas web, además permite la reutilización de código lo que puede crear un compendio de programadores trabajando y mejorando códigos e inclusive lenguajes de programación, además de ser mucho más rápido e integrarse al servidor y lenguaje de manera más eficiente, por lo que en definitiva MyQSL es la mejor opción a nuestro parecer, por su parte PostgreSQL debe permitir a los programadores poder reutilizar el código ya que reescribirlo amerita la utilización de horas hombre de manera abrupta y ralentiza el trabajo de creación de una página web.

Autores:
José Agustín Torrez C.
Carlos Eduardo Araque A.

martes, 25 de noviembre de 2014

APRENDIZAJE EN PROGRAMACIÓN EN LA UPTM

¿Realmente si aprenden a programar?

En la Universidad Politécnica Territorial del Estado Mérida Núcleo Bailadores la programación orientada a objetos se ha venido implementando desde hace poco, los estudiantes que se encuentran en el trayecto 4 del Programa de Formación de Grado en Informática y están a punto de culminar su carrera de pregrado se le ha hecho difícil aprender la programación ya que en realidad se les enseña de una forma muy poco enfatizada y su conocimiento ha sido bastante deprimente. Los estudiantes durante cada trayecto que culminan presentan los avances del proyecto socio tecnológico donde se expone en las comunidades la aplicación con los avances y mejoras realizadas en concordancia con las exigencias y peticiones que realizan los usuarios de los sistemas, es allí donde profesores y estudiantes han venido trabajando de una forma errónea ya que unos pocos estudiante desarrollan las habilidades en el área de programación y este no es el deber ser, ya que todos como futuros ingenieros en informática deben poseer conocimientos en el área de la programación y más en la programación orientada a objetos que se ha venido trabajando durante mas de 3 años para poder consolidar las aplicaciones con todos sus módulos funcionales.

En este sentido, los estudiantes que no logran adquirir esta parte del conocimiento en las aulas de clase de la institución deben aprenderlo obtenerlo en cursos y talleres fuera donde buscan una mejor forma de adquirir esta habilidad, puesto que el esfuerzo a través de nuevas estrategias de aprendizaje no se ve evidente y no se ve la intención de hacerlo, todo ello en función de evitar los errores que se han venido viendo devengando a lo largo en el Programa Nacional de Formación, donde los ingenieros graduados en esta casa de estudios que manejan la programación son escasos y es allí donde se evidencia el error de una mala praxis en la enseñanza ya que estos profesionales deberían ser capaces de desenvolverse en cualquier campo de la informática.

¿Es difícil aprender a Programar?

 ¿Debilidades de los profesores y estudiantes?



Se debe decir que una debilidad palpable en la institución es la falta de profesores aptos y con habilidades necesarias en el área de programación ya que son muy pocos los que manejan esta área, en el transcurso de nuestros estudios dentro de la UPTM nos hemos percatado que la debilidad más fuerte que poseen los profesores es la programación, que debería ser en dado caso todo los contrario ya, puesto que están impartiendo clases a futuros ingenieros egresados de esta casa de estudio, pero no es lo que se aprecia ya que en el los últimos días se ha observado una apatía tanto de los profesores y como de los estudiantes con el nuevo modelo de educación que se aplica en la casa de estudios donde no se enseña y no se tiene reflejado un pensum adecuado y acorde con lo que se necesita para desempeñarse en el campo laboral, es por esto que tanto los estudiantes que solo asisten a clases y no muestran interés en aprender y los profesores que ya no muestran interés en enseñar hacen que la institución caiga en una recesión en cuanto a la calidad y prestigio que esta puede ofrecer, en definitiva la institución debe comenzar a contratar personas capacitadas en el área de informática de forma integral, que tengan vocación de educación y de servir como medio de formación para los nuevos profesionales ya que de lo contrario nosotros los futuros ingenieros no tendremos oportunidades reales en el campo laboral.


¿Qué hay que mejorar?

Se debe comenzar a mejorar, en primer lugar con los profesores para que sean más exigentes y críticos a la hora de enseñar y evaluar, los docentes que no cumplan con el perfil para ser educadores de calidad dentro en la casa de estudio deben ser reemplazados con mejor talento humano para de esta forma formar estudiantes con gran habilidades ya que si tenemos una planta profesoral que no cumpla con los perfiles que exige el pensum de estudios que se puede esperar de los estudiantes a los que ellos les imparten clases. Deben enfocarse más en el área de la programación donde se observa una gran debilidad en los estudiantes, dar prioridad al software libre ya que se viene trabajando desde el comienzo con software propietario y la nueva plataforma de la Administración Publica Nacional esta basada en el software libre y un egresado que consiga trabajo en un organismo público no podría ofrecer un buen rol dentro de su área de especialización.

¿Si aprenden lógica de programación?


Es una materia que se daba en el pensum de estudio anterior cuando estábamos calificados como Instituto Universitario Tecnológico de Ejido y esta casa de estudios egresaba técnicos superiores universitarios, en el nuevo esquema de estudio no está implementada esa asignatura que sería bueno que se impartiera ya que la lógica de programación es una parte fundamental en la enseñanza de los lenguajes de programación y un estudiante que no maneje esta terminología no tendrá los mecanismos necesarios para poder programar con facilidad.

Todo el mundo debería saber programar - Mini Documental

Autores:
TSU José Agustín Torrez
TSU Carlos Eduardo Araque