Mysql: Diseño y afinación para un rendimiento óptimo

Posted on February 3rd, 2010 in Base de Datos | No Comments »

Mysql Mysql es una base de datos popular gracias a su sencillez y costo pero a la vez por contar con la calidad, robustez y velocidad que requieren las aplicaciones actuales. Como desarrolladores muchas veces nos quedamos en el mundo de las consultas (queries) pero es necesario comprender el funcionamiento de la base de datos detrás del escenario, ya que cuenta con herramientas de gestión, optimización y mejora que permiten explotar todo el potencial de Mysql.

En el libro MySQL Database Design and Tuning, Robert Schneider nos muestra de una forma sencilla y concreta algunas de las herramientas incluidas en esta base de datos que nos permite diseñar una base de datos óptima, crear aplicaciones que aprovechen al máximo las capacidades de la misma para posteriormente enseñarnos a administrar y afinar el motor de la base para obtener el mejor rendimiento posible.

Entre los temas que mas me interesaron se encuentran:

  • Herramientas de monitoreo
  • Selección de Storage Engine y optimizando las propiedades de la tabla
  • Uso de restricciones como llaves primarias, foráneas, etc.
  • Un tema muy importante es el de “Entendiendo el Optimizador de Mysql” ya que el optimizador es el que toma las decisiones de cómo manipular las tablas. Entender sus estrategias y como controlarlo es fundamental para obtener un rendimiento óptimo.
  • Estrategias de indexación. La optimización no se trata solamente de poner índices, debemos de entender como estos afectan el funcionamiento de la base y la extracción de datos. Existen elementos como cache y pools que permiten dar una mayor velocidad de respuesta a nuestras consultas.
  • Gestión de transacciones y bloqueos para asegurar respuesta inmediata.
  • Parámetros de rendimiento del servidor. Como conexiones y tamaños de cache.
  • Secciones especificas sobre el rendimiento de tablas creadas en MyISAM e InnoDB.
  • Importación y exportación de datos con un enfoque al rendimiento y operación continua
  • Introducción al uso de las herramientas de computación distribuida de Mysql, el uso de replicación y clusters

Tanto para los que administramos bases de datos como para los que desarrollamos aplicaciones este libro es altamente recomendable ya que nos ofrece una perspectiva muy completa de cómo funciona MySQL permitiéndonos obtener el mayor provecho del mismo. Personalmente me resulto de mucho interés lo expuesto sobre optimizador, los índices y el manejo del cache y diferentes pools.

Un libro que debe estar en nuestra repisa de libros de consulta.

KeePass Password Safe: Resguardando tus contraseñas

Posted on January 27th, 2010 in Artículos, Software | No Comments »

plockb75Llevar una vida en línea es complicado. Es necesario contar con una serie de contraseñas para diferentes servicios como correo, redes sociales, foros, banco y portales. Además como administradores de IT debemos contar con las claves de servidores, direcciones de configuración y toda una serie de información altamente sensible y confidencial. Puede complicarse mucho llevar el registro de toda esta información.

Debemos contar con una estrategia de resguardo y administración de contraseñas, especialmente si trabajamos en IT y administramos sistemas. Tener las contraseñas en un post it o un archivo de Word incrementa la posibilidad de perder esta información o que llegue a manos equivocadas.

KeePass es un administrador de contraseñas de código abierto que nos permite gestionar nuestras claves de una forma muy sencilla, segura y portable. Entre lo que mas me llamó la atención es:

  • Código abierto, licencia sin costo
  • Encripción y seguridad para el archivo que almacena nuestra información
  • Diferentes llaves y combinaciones para acceder al archivo
  • Gestión muy sencilla pero a la vez flexible y con muchas opciones para organizar y buscar contraseñas
  • Opciones para importar, exportar e incluso sincronizar (perfecto para ambientes multiusuario o si tienes varios equipos)
  • Portable y muy ligero
  • Expandible y con plugins disponibles
  • Adjunta archivos y otro tipo de metadatos. Te sirve para resguardar otra información como número de series, códigos de servicio y firmas digitales.

Es una excelente herramienta a la cual debes darle un vistazo.

http://keepass.info

main_big

Los 9 Bugs mas comunes de IE y como arreglarlos

Posted on November 26th, 2009 in Uncategorized | No Comments »

internet-explorer-logoDesarrollar para web implica trabajar con IE6 y eso suele ser una tortuta.

Net Tuts+ nos comparte una práctica guía de los 9 bugs mas comunes de Internet Explorer y como lidiar con ellos.

9 Most Common IE Bugs and How to Fix Them
http://net.tutsplus.com/tutorials/html-css-techniques/9-most-common-ie-bugs-and-how-to-fix-them/

Aprendiendo de la historia del código

Posted on November 24th, 2009 in Artículos, Programación, Recursos | No Comments »

software_bugAndreas Zeller se ha dedicado al estudio y análisis del código de los sistemas. A través de su historia es capas de responde la pregunta: ¿Por qué mi código Falla? En esta presentación de Google Tech Talks nos muestra como es posible identificar de forma automática el origen de los Bugs, en donde están y también predecir en donde encontraremos los próximos Bugs.

Muy interesante y recomendable para quienes batallamos día a día arreglando líneas de código.

Learning from Code History
http://www.youtube.com/watch?v=SzRqd4YeLlM

Otros recursos:

Delta Debugging

Computación Retro

Posted on November 23rd, 2009 in Otros | 1 Comment »

En un mundo de Ipods, Blackberries y Netbooks pocas veces nos detenemos a pensar en el maravillosos avance tecnológico que se ha vivido en las últimas decadas. Estas imagenes nos ayudan a recordar aquel tiempo de diskettes monitores verdes.

Dejame lo apunto en mi outlook

¿Y el usb?

Checando el Facebook

Ligando en la Universidad

El Mouse

Salón de clases

Confusión

10 Megabytes por $3500 dolares, ¡Ganga!

Windows

Fotos por  SA_Steve

MicroEmulator: Emulandor de Java ME

Posted on October 7th, 2009 in Recursos, Software | No Comments »

microemulatorJava ME (Micro Edition) es la plataforma robusta y flexible de Java para el desarrollo de aplicaciones en dispositivos móviles y embebidos. Te permitirá crear aplicaciones para celulares, blackberries y PDAs.

Recientemente en un proyecto requeríamos de poder probar constantemente una aplicación creada por un tercero y extender la posibilidad de que la aplicación diseñada para el dispositivo móvil pudiera ser ejecutada desde la computadora.

MicroEmulator es un emulador que permite ejecutar aplicaciones en Jave ME sobre Java SE evitando la necesidad de requerir del dispositivo. Es un proyecto de código abierto y con licencia LGPL por lo que se puede integrar en proyectos comerciales.

El emulador me ha sido de gran ayuda para efectuar las pruebas. Su flexibilidad permitió integrar la aplicación dentro de un applet y también ejecutarlo desde Java Web Start dando la posibilidad a los usuarios de acceder a ella en el Internet de una forma sencilla y rápida.

Gracias a las opciones de configuración, uso de skins e integración con casos de uso de JUnit esta herramienta me ha resultado básica en los desarrollos de aplicaciones para dispositivos móviles.

http://www.microemu.org/

microemulator-microemulator-skins_1254764785365

¿Qué es Google Wave?

Posted on October 5th, 2009 in web | No Comments »

wavelogoGoogle Wave es la nueva herramienta de Google que innovara la forma en que colaboramos en la Web. Ofrece herramientas que permitirán la interacción de una forma flexible, integral e inmediata.

Aún a muchos les queda la pregunta de ¿Qué es Google Wave? Este video explica en dos minutos de que se trata.

YouTube Preview Image
Y en el blog lifehacker encontramos una vista previa Google Wave.
http://lifehacker.com/5370738/google-wave-first-look
Espero pronto poder empezar a explorar las posibilidades de esta herramienta.

About Google Wave
http://wave.google.com/help/wave/about.html

Recursos sobre Expresiones Regulares

Posted on September 21st, 2009 in Programación, Recursos | No Comments »

Ya les he compartido recursos sobre expresiones regulares con anterioridad en Novacreations.

8 Expresiones Regulares que Debes Conocer
http://www.novacreations.net/491-8-expresiones-regulares-que-debes-conocer/

Expresiones Regulares
http://www.novacreations.net/351-expresiones-regulares/

Les comparto otros recursos de interés para aquellos que empiezan a aprender y los que las usamos en nuestra labor diaria.

Para conocer el mundo de las expresiones regulares, entender su estructura básica y para que nos sirven.

Guías y referencias para cuando estamos trabajando con las expresiones.

Algunas herramientas para crear y probar expresiones regulares

¿Conocen algún otro buen recurso?

Señales de que eres un mal programador

Posted on September 18th, 2009 in Artículos, Recursos | No Comments »

d

La programación y desarrollo de sistemas es una profesión que requiere no solamente del conocimiento y experiencia, también requiere de vocación. Habilidades como la de investigación, abstracción, conceptualización y mucho gusto por las computadoras son básicos para ser un programador nato.

Sin embargo me he topado en la escuela y en el mundo laboral con personas que abiertamente afirman que no les gusta programar, que no tienen la vocación o que simplemente no se les da.

Estudiando, practicando y con el apoyo de colegas siempre es posible pulir las habilidades necesarias. El texto “Señales de que eres un mal programador” habla precisamente de estos aspectos en los que es necesario trabajar para obtener trabajo de calidad.

Signs that you're a bad programmer
http://sites.google.com/site/yacoset/Home/signs-that-you-re-a-bad-programmer

Existen empresas y consultoras que no toman en serio la calidad de las aplicaciones y su código. La mentalidad de obtener solo algo que “funcione” genera un gran riesgo a la organización ya que una aplicación forma parte de la infraestructura de la misma y es una herramienta que puede generar o quitar valor. Una aplicación de mala calidad incrementa el riesgo conforme la organización crece.

Imagen

Malas prácticas en Javascript

Posted on September 16th, 2009 in Uncategorized | No Comments »

javascript_the_good_partsHace poco publiqué una liga a las convenciones de código de Douglas Crockford para JavaScript. En esta ocasió en el blog de James Padolsey encontramos una muestra de alguno de las malas prácticas de JavaScript.

Esta lista nos permite encontrar y corregir errores en nuestra forma de programar.

http://james.padolsey.com/javascript/javascript-bad-practices/

¿Cuales consideras que son tus malas prácticas?

Me agrada su reflexión inicial sobre el hecho de que todos en algún momento escribimos mal código. Solo es con al práctica y considerando nuestros propios errores que podemos mejorar la calidad del mismo.