Gaceta Oficial N° 41.239 rebaja IVA 9 %

IVA 9% (pagos electrónicos) hasta 31 diciembre 2017

De nuevo esto es llover sobre mojado, ya que en diciembre de 2016 se hizo un decreto similar, PERO HAY UNAS DIFERENCIAS IMPORTANTES que debemos recalcar, pero primero la base legal de este nuevo cambio en nuestra forma de trabajar.

*** ¿APURADO O APURADA? HAGA CLICK AQUÍ, POR FAVOR ***

Descargar Gaceta Oficial N° 41.239 (Decreto N° 3.085)

En la Gaceta Oficial N° 41.239 publicada en fecha martes 19 de septiembre de 2017 se publicó el Decreto No 3.085 de la Presidencia de la República, mediante el cual se dispone una rebaja del porcentaje del IVA y que ponemos a vuestra disposición en el siguiente enlace:


Desde esta humilde página web (3 hojitas, 1 megabyte)


Seguir leyendo →

PRTG ® Network Monitor

Comparativa: PRTG ® Network Monitor y PandoraFMS

Introducción a PRTG ® Network Monitor.

En anteriores oportunidades en este blog hemos publicado artículos comparativos de software de monitorización como Nagios o Zabbix, de supervisión de respaldos tanto su definición y planificación como su implementación con Bacula y Veritas (y desde luego monitorizados con PandoraFMS) entre muchos otros temas. En esta oportunidad hablaremos de «PRTG ® Network Monitor» o simplemente PRTG ® tal como la empresa «Paessler AG» lo denomina en su página web oficial. Esta compañía está radicada en Alemania, en la ciudad de Nuremberg, desde el año 1997 y es miembro del programa “Cisco Solution Partner” y del “VMware Technology Alliance Partner” así que estamos hablando de verdaderos pesos pesados en el mundo del software y hardware (y su monitorización).

Características de PRTG ®.

PRTG ® Network Monitor
PRTG ® Network Monitor

Instalación e inducción a PRTG ®.

Aunque no ellos no lo expresan de manera explícita, tienen una fuerte dependencia de la casa de software Microsoft® ya que solo funciona bajo el sistema operativo “Microsoft Windows®” (recomiendan “Windows Server® 2012 R2”; para otras ediciones instalar el paquete “.NET framework 4.5” con sus parches de seguridad actualizados). Incluso hay quienes afirman que se puede instalar en entornos virtualizados y respetamos esa opinión.

Demás está decir que es completamente privativo el código fuente (a diferencia de PandoraFMS que es de código abierto) y donde mencionan el uso de código fuente abierto es en el caso de que uno quiera utilizar la “PRTG Application Programming Interface (API)”: para ello debemos publicar en GitHub1 -con licencia de código fuente abierta- el guion, complemento o suplemento que hagamos para luego registrarnos ante “Paessler AG” en el “PRTG Script World”2 y tras la aprobación del personal técnico se nos permitirá publicar allí un artículo explicando el uso del ente programado. Como veis es parte de la seguridad del programa y a la fecha de escribir estas líneas hay 208 guiones o sensores disponibles.

El párrafo anterior era necesario exponerlo porque en la antepenúltima palabra aparece el término “sensores”, algo muy importante en el mundo de PRTG ®, de tanta importancia como el dinero que vamos a pagar por dicho software. Atentos entonces a la definición de sensor:

«Definimos un sensor como un aspecto que se monitorea en un dispositivo. Por lo tanto, un sensor monitorea, por ejemplo una URL específica, el tráfico de una conexión de red, un puerto de un switch, la carga de la CPU en una máquina.»

Es así que tienen 200 sensores predefinidos y ellos estiman que cada cliente utiliza entre 5 y 10 sensores por dispositivo (para mayor información consulten el vídeo tutorial oficial en Youtube wmOmPZvs67o ) y a su vez introducen otro concepto nuevo: los canales que dependen de un sensor. Un canal es cada una de las características de un sensor, por ejemplo si tenemos un sensor de espacio libre de disco duro, cada uno de los discos duros presentes en un dispositivo, su valor de espacio libre cuenta como un canal. Como consideración final, hay sensores que presentan límites en cuanto al número de canales, tal como el avanzado de Python, que cuenta con un valor máximo de cincuenta3. Desde la versión 12 de PRTG han programado y publicado nuevos sensores:

  • Sensor Estado de Host Vmware.

  • Sensor WMI Proceso SharePoint.

  • Sensor WMI Application IIS.

  • Sensor SNMP Conexiones VPN Cisco ASA.

  • Sensor SNMP Tráfico VPN Cisco ASA.

  • Sensor Interface WAN Fritz!Box.

  • Sensor Options Ping SIP.

  • Sensor Google Analytics.

  • Sensor WMI Ping Remote.

  • Sensor Xen Host.

En los sensores básicos hay coincidencia entre ambos programas: tanto PandoraFMS como PRTG ® tienen herramientas para monitorizar bases de datos, aplicaciones, “ping”, puertos, servidores, etcétera. Pero para con PandoraFMS no nos debemos preocupar por sensores ni canales, ni estar haciendo operaciones matemáticas, solo sumamos el número de dispositivos (más sus agentes, de ser necesarios) que debemos y/o queremos monitorizar y listo ¡rápido y sencillo! Desde que Pandora FMS vio su primera versión en 2004 (proyecto nuevo que partió desde cero), responde a las necesidades para las que no había solución en una única herramienta de software. Su evolución se basa en la experiencia tanto de la comunidad de Código Fuente Abierto y de los clientes del fabricante: sus requisitos y exigencias han hecho que Pandora FMS se vaya adaptando y creciendo, cubriendo unas necesidades muy amplias para un gran abanico de usuarios y todo siempre bajo actualizaciones oficiales.

Almacenamiento de datos en PRTG ®.

En PandoraFMS los datos recogidos se guardan en una base de datos MySQL al igual que Zabbix (y en el caso de Nagios con ayuda de NDOUtils) pero PRTG ® maneja su propia base de datos aduciendo que es más rápido y representa menos carga para el sistema que ejecuta el colector de datos. Aseguran que la información está siempre disponible para exportar a diversos formatos (PDF, XML Y JSON) pero no se compara con la simple creación de un usuario con derechos de solo lectura en una base de datos: eso es transparencia en la información dado el caso se contrate una empresa auditora para medir el desempeño total de la red informática de una empresa cualquiera, ¡podrán extraer datos en tiempo real del motor de datos en vez de esperar que se genere un informe para luego volver a procesar los resultados!

Interfaz con el usuario o “Front end”.

Acá hay una diferencia adicional: PRTG ® cuenta con su propio programa de interfaz con el usuario y esto tiene sentido dado su fuerte dependencia de Windows®: solo hay que realizar una sola compilación para este sistema operativo. Incluso cuenta con otra aplicación que lanza la consola web y aquí si transitan el camino elegido por PandoraFMS: es mucho mejor utilizar los navegadores web ya que cada dispositivo moderno cuenta siempre con uno instalado (o más). PRTG ® necesita mínimo Google Chrome 49, Mozilla Firefox 45 o Internet Explorer 11 (o sus correspondientes versiones más recientes). También en la sección de inducción explicamos la forma y manera para uno crear su propia interfaz basada en API, amén de otros componentes que deben ser de código abierto.

Motor de recolección y análisis de datos.

PRTG ® está programado en “Microsoft® Visual Studio®” y acepta el lenguaje Python para otros componentes; PandoraFMS está escrito en Perl, su agente Linux también en Perl, Agente Windows® en C++ y Agente Android en Java. Pandora FMS cuenta también con una extensa librería de plugins encaminados a cumplir misiones mucho más complejas, principalmente diseñadas para la monitorización completa de aplicaciones, tanto localmente como remotamente a los parámetros de mayor importancia de las aplicaciones más utilizadas en los mundos de software privativo y software abierto.

Tipos de licencia disponibles en PRTG ®.

Hay cuatro tipos de licencias disponibles y son excluyentes entre sí (no se da el caso que se “sumen” los sensores):

  • “Freeware” o Versión Sin Cargo alguno hasta un máximo de 100 sensores.

  • “Trial Edition” o Versión de Prueba por 30 días con sensores ilimitados (al finalizar el período de prueba bien puede adquirir las siguientes dos licencias u optar por la “Freeware” y su limitación a 100 sensores).

  • “Special Edition” o Versión Edición Especial

  • “Commercial Edition” o Versión Edición Comercial.

En todo caso, el valor de la licencia siempre dependerá del número de sensores, no del número de dispositivos.

En PandoraFMS contamos con la versión “Open” sin costo monetario alguno y la comunidad de software puede colaborar e incluso bifurcar el código fuente para crear sus propias soluciones especiales, de todas estas mejoras -y las propias desarrolladas especialmente por el equipo de programadores de PandoraFMS– se escogen, depuran y se prueban a fondo para publicar la versión PandoraFMS “Enterprise”. De hecho, al adquirir la versión “Enterprise” se tiene comunicación directa con nuestro equipo de profesionales, prestos a desarrollar nuevas soluciones porque trabajamos siempre con compromisos a largo plazo.

Agentes en PRTG ® y PandoraFMS.

En la sección de “Instalación e inducción a PRTG ®” en el apartado de PandoraFMS mencionamos brevemente a los Agentes: ambos programas los utilizan, pero ¿Qué es un Agente?

Un Agente es un software especificamente compilado para el sistema operativo del dispositivo que necesitamos o deseamos monitorizar (más adelante veremos cómo monitorizar los dispositivos que utilizan firmware en vez de un sistema operativo) que recopila y extrae información para luego enviarla cuando le sea solicitado o cuando tenga una agenda programada (evento a solicitud o evento cronológico). Ambos programas ofrecen alertas vía Twitter para este último caso.

PRTG ® monitorizando en Microsoft Windows®.

El sistema operativo Windows® ofrece el “Windows Management Instrumentation” (WMI) (o Windows Management Interface) el cual es un conjunto de extensiones para el “Windows Driver Model” y que pone a disposición toda una serie de datos y eventos registrados por el kernel del sistema operativo, sin embargo este método representa un costo tanto a corto como largo plazo. A largo plazo las consultas WMI generan cierta carga de trabajo sobre el desempeño del ordenador a monitorizar, cosa que tenemos que tener siempre en cuenta.

A corto plazo el costo es de instalación: si tenemos un “Active Directory” y un Dominio previamente configurado podremos realizar la instalación masiva de dicho Agente en cada una de las máquinas de una manera automatizada (en PandoraFMS disponemos desde la versión 6 la integración con “Active Directory”). Pero si no disfrutamos de esta configuración habrá que echar mano en la creación de guiones en PowerShell para que desde un repositorio que habilitemos se pueda instalar. En último caso, si son pocos los ordenadores, podremos conectarnos via Escritorio Remoto o en su defecto de una manera muy segura y a bajo costo con nuestro software eHorus (recomendamos la versión de ejecución aislada, no necesita de rutina de instalación como tal) y desde cualquier navegador web podremos realizar dicha tarea.

Lo que en PandoraFMS llamamos Agente en PRTG ® es llamado Sonda Remota4 y necesitamos una Sonda Local -que es instalada automáticamente cuando instalamos el Servidor Central– y ambos programas mantendrán comunicación permanente así estén ubicados en distintas redes de área local (LAN) o incluso dispersadas geográficamente. Para PandoraFMS esto no representa complicación alguna y a la hora de centralizar todas las operaciones lo podremos habilitar con la metaconsola el Servidor Central y sus Servidores Satélites.

Algo que observamos con preocupación en el caso de PRTG ® es que mientras más sensores necesitemos menos opciones tenemos de agruparlos en racimos (“cluster”): al llegar a 5 mil la cosa se complica tal como confiesan en su página web. ¡Para PandoraFMS la cantidad no representa ningún escollo!

En la siguiente figura podemos observar la función de la Sonda Local y su intermediación para comunicar al Servidor Central y las Sondas Remotas en PRTG ®:

En ambos programas se deberá autorizar debidamente los Agentes o las Sondas Remotas por medio de credenciales y además listas autorizadas por direcciones IPv4 o IPv6. En este enlace tenemos un ejemplo sobre cómo PandoraFMS puede extraer la información de la temperatura del CPU de un dispositivo Windows® mediante WMI.

PRTG ® monitorizando en Linux GNU.

En esta sección ambos programas trabajan de la misma manera: por medio de SSH, es decir, un túnel seguro y encriptado para impedir la intercepción y/o modificación por parte de terceros. Pero no todo es “miel sobre hojuelas” también debemos considerar cual distribución Linux exactamente estamos utilizando a fin de garantizar que estén instalados los programas con los cuales retribuiremos los valores a recolectar. Hoy en día, debido a la potencia de cálculo de los ordenadores modernos y capacidad de disco duros, estarán preinstalados la mayoría de ellos y generalmente no deberíamos tener mayor problema en este aspecto.

Monitorización con SNMP.

SNMP es la abreviatura para “Simple Network Management Protocol”, o Protocolo Simple de Administración de Red, en castellano (para una descripción en detalle consulte nuestro artículo dedicado al respecto). Dicho protocolo permite la normalización de la información -es decir, datos en forma predefinida- permitiendo así, por ejemplo, que podamos realizar una autodescubrimiento de dispositivos en la red de área local que apoyen esta característica (detección de red).

Es de hacer notar que tanto para Windows como para GNU/linux deberemos instalar el servicio -o “demonio”- SNMP que permita ofrecer los valores públicos generalmente con la norma V2c ya que la norma V3 ofrece el beneficio de encriptación de la comunicación pero requiere un trabajo adicional tanto para configurarla como un carga añadida al equipo a ser monitorizado5. De nuevo recalcamos: si disponemos de “Active Directory” y un Dominio instalado nos valdremos de “Directivas de Grupo” o GPO para instalar este servicio de manera fácil y practica.

Acotación especial para Windows®: PRTG ® necesita que al instalar el servicio SNMP también le sea instalado el “Proveedor WMI de SNMP” lo que permitirá realizar guiones o scripts por medio de WMI, que como ya explicamos tienen un coste operativo sobre el desempeño del ordenador. En fin, la empresa Microsoft® siempre se ha caracterizado por siempre introducir a las normas abiertas sus propias normas cerradas y privativas.

En este punto como ya tendremos configuradas las credenciales en nuestro Servidor Central, accederemos a las computadoras y estableceremos los eventos extraordinarios sobre los que queremos nos sea informado, esto se conoce “Alertas SNMP trap”: simplemente no le preguntamos al dispositivo “como se siente” sino que el dispositivo nos dirá “si se siente mal”.

Monitorización de “Active Directory”®.

En algo que sobresale PRTG ® sobre PandoraFMS es el sensor de errores de replicación de Active Directory y recomiendan encarecidamente el vigilar el “alto impacto en el desempeño de su sistema de monitoreo”. Esto es debido a que realiza las siguientes tareas:

  • Prevención de errores de replicación.

  • Identificación de usuarios inactivos y desconectados.

  • Número de errores de sincronización consecutivos.

  • Si se ha eliminado la fuente.

  • Si se ha desactivado la sincronización programada.

  • Hora del último intento de sincronización.

  • Resultado de la última sincronización.

  • La última vez que se realizó una sincronización correctamente.

  • Número de secuencias de sincronización alineadas.

  • Número de operaciones de replicación pendientes.

Todo esto es posible por medio del “.NET framework 4.5” que es el entorno de programación de “Visual Studio” y que permite la programación sobre “Active Directory” de una manera relativamente fácil y rápida.

Conclusiones.

Si bien el control y manejo del “Active Directory” de Microsoft Windows por parte PRTG ® ofrece una ligera ventaja no se compara en modo alguno al hecho de que PandoraFMS se ejecuta en ambiente GNU/Linux con lenguaje Perl disfrutando así de las múltiples ventajas del código fuente abierto. Si además sumamos que PandoraFMS aloja sus datos en MySQL, sin nada que ocultar, y con la posibilidad de replicar dichas bases de datos con propósitos de respaldos y posibles auditorías concluímos que PandoraFMS ofrece la mejor opción contra el llamado “Manolo V1.0” pero a escala empresarial: una empresa no debe depender única y exclusivamente de otra empresa para monitorizar sus recursos informáticos, se debe tener la alternativa de poder solucionar -e incluso mejorar- por sus propios medios su sistema de monitorización mediante normas o estandares abiertos.

free as in freedom

Feliz Día del Software Libre 2017

De antemano os decimos que libre no quiere decir necesariamente que es gratis: una cosa es compartir y enseñar y otra muy distinta es que trabajemos gratis. Manejamos el Software Libre (así, con mayúsculas, porque es un ente) desde el punto de vista del servicio, de horas trabajadas, de que podemos automatizar las tareas, sí pero que la instalación, monitorización y mantenimiento (en ese orden) ocasiona «horas hombre» u «horas mujer» de trabajo duro y que conlleva una gran responsabilidad, éso es por lo que cobramos. Ahora bien, allá aquellos que piensan que trabajamos encerrados en «neveras» con nuestros ordenadores y que nos las pasamos «tuiteando», bueno tratamos siempre de convencer, que es más importante que vencer; tercer sábado de septiembre ¡FELIZ DÍA DEL SOFTWARE LIBRE!

free as in freedom
free as in freedom

Seguir leyendo →

Anti-Monopoly ( ― San Francisco State University ― Professor Ralph Anspach)

La Historia de Internet – Guerra de Navegadores

Si no sabemos de dónde venimos, no sabremos -jamás ni nunca- hacia dónde vamos, las nuevas generaciones deben saber, deben conocer lo que nosotros vivimos en esa época ¡por la libertad del internet! Recuerdo las descargas del código fuente del Netscape eran una barbaridad de 200 megabytes cuando nos afanábamos de nuestros discos duros de 700 MB (yo tenía un flamante Samsung, IDE por supuesto que había comprado con un préstamo en el trabajo y duré 6 meses para pagarlo ¡un disco duro!). Seguir leyendo →

Feliz Día del Programador

Feliz Día del Programador 2017

«Feliz Día del Programador» desde el 2015 tenemos conocimiento que celebramos este día, sin distingo del lenguaje que usemos, tengamos que usar o que desarrollemos (los más avezados en la materia). Sin duda que los ordenadores es uno de los más grandes inventos de la humanidad, con la labor destacada de Alan Turing (con quien en vida se cometió una gran injusticia en su vida personal).

Feliz Día del Programador
Feliz Día del Programador

Modestía aparte: sobre nosotros recae un gran poder que conlleva una gran responsabilidad y aprovechamos el día para recordarnos nuestra dosis diaria de humildad, paciencia y empeño no solo en este día sino en todo el año para que los usuarios a quienes nos debemos (y nos dan el sustento económico en este, por ahora, sistema capitalista) sean los máximos beneficiados de nuestros frutos mentales ¡Y SI PROGRAMAMOS EN SOFTWARE LIBRE CONTRIBUIMOS AL PATRIMONIO TECNOLÓGICO DE LA HUMANIDAD! Seguir leyendo →

Gaceta Oficial 41231 sumario

Gaceta Oficial N° 41.231: aumento de sueldo 40% 1° septiembre 2017.

Abrimos septiembre con los precios aumentados de agosto, ante cada arremetida de la inflación inducida y especulativa un aumento de sueldo correspondiente (los precios suben en ascensor y los salarios por las escaleras). No es primera vez que vemos esta situación, en 1994 sucedio algo parecido pero en menor cuantía, en todo caso echarse a llorar nos deshidrata y no cambia en lo absoluto la situación. Volviendo al trabajo: en nuestra aplicación de farmacia por primera vez (en 2006 no se nos ocurrió pensar en ello) colocaremos la combinación de teclas CTRL+M al introducir cantidades monetarias para multiplicar por mil ya que de la reconversión monetaria del 2007 solo quedó el recuerdo. En los puntos de debito de los bancos podrían programar una de las teclas especiales como multiplicador por mil en cualquier país del mundo puede suceder esto, de hecho hay modelos de calculadoras electrónicas marca Casio que tienen teclas «doble cero» y «triple cero».

Como podrán notar la cuenta Twitter de la Imprenta Nacional invita a descargarla en su «servicio de Gaceta del Día» y literalmente es eso, del día, porque lo que hacen es subir a un sitio de almacenaje llamado «mega.nz» y cada día cambian el enlace. A esta fecha tampoco funciona la página web del Tribunal Supremo de Justicia, o dice «servicio no disponible» o si abre no muestra el calendario de siempre y cuando uno mete el número de la Gaceta no devuelve resultado. En fin, nadie dijo que esto iba a ser fácil, pero contribuimos con nuestro granito de arena compartiendo la información con todos, sin ningún distingo, a continuación las cinco primeras hojitas, 1,5 megabytes en formato PDF:


Desde esta vuestra humilde página web lo pueden descargar del siguiente enlace:

—>>> Gaceta Oficial N° 41.231 <<<—


Seguir leyendo →

Tux venezolano

Microsoft® SQL Server ® en Linux GNU

Introducción.

El 28 de diciembre de 2016 -día de los santos inocentes, fecha para nosotros los hispanohablantes de realizar bromas de toda índole- fue anunciado la adquisición de una membrecía tipo «Platinum»1 por parte de la empresa Microsoft® en la Fundación Linux y el lanzamiento de Microsoft® SQL Server ® . Dado que sabemos que para los angloparlantes el 1° de abril es el día de realizar, por costumbre, chascarrillos, pues tomamos la noticia muy en serio. Y si para nosotros nos quedaba alguna duda el Blog del equipo de Evangelismo técnico de Microsoft® España lo publicó oficialmente en idioma castellano incluyendo una divertida figura la cual muestra un letrero con la leyenda “Microsoft ? Linux”(sic) y un pingüino de pie al lado apuntando con el pico (intentamos contactar al autor del artículo en castellano vía Twitter para que nos autorizara el uso de las imágenes pero no obtuvimos respuesta; este será una artículo con el mínimo de imágenes).

.

Tux venezolano
Tux venezolano

Nosotros, que somos usuarios de ordenadores desde 1989 con el famoso MS-DOS® (cuando aún ni siquiera el señor Linus Torvalds2 había comenzado su carrera universitaria) aún estamos frotándonos los ojos, no lo podemos creer que Microsoft® SQL Server ® corra bajo Linux. Pero a todas estas es una realidad insoslayable y lejanos quedaron los días de antagonismo con el anterior Director Ejecutivo General Steve Ballmer3 quien dejó el cargo en 2014 y cuyo sucesor el señor Satya Nadella4 llevó a la empresa a desarrollar una de las más grandes infraestructuras de computación en la red “cloud computing” con el producto “Microsoft Azure®” (anteriormente conocido como “Windows Azure®”).

Este producto “Windows Azure®” destaca porque su kit de desarrollo de software -“Software Development Kit” o “SDK”- está publicado en código fuente abierto (que es diferente a la licencia de software libre que rige a Linux) y fue con lo que poderosa Casa de Software inició formalmente su camino hacia el mundo GNU/Linux. A la fecha de hoy ya se están desarrollando en “Microsoft Azure®” la inteligencia artificial que ha devenido en llamarse aprendizaje de máquina o “machine learning”5 en inglés.

Esta pequeña introducción, simplificada de forma exagerada, nos da pie para traer a colación nuestro artículo de hoy: Microsoft® SQL Server ® en Linux.

Microsoft® SQL Server ® en Microsoft Windows®.

Vale, no los hemos engañado, sí vamos a hablar de GNU/Linux pero primero debemos conocer el contexto de esa popular motor de base de datos. Y sí, si le hemos engañado un tantito así en el subtitulo que encabeza este párrafo: Microsoft® SQL Server ® nace en 1989 para ser ejecutado en… IBM OS/2, así como lo están leyendo6. Para esa época quien reinaba en el campo comercial era la empresa Ashton-Tate con su producto estrella dBase que ocasionaba el tránsito de grandes volúmenes de datos en la red de área local debido a que cada cliente se llevaba una copia de la base de datos a cada ordenador donde se ejecutaba. Por ello Microsoft compró la licencia de SQL Server ® a Sybase que funcionaba con el modelo cliente/servidor a través de comandos sencillos y que devolvían limitadas cantidades de datos, casi todo el trabajo se realiza aparte y remoto en el servidor. Ashton-Tate aportó su mercado de clientes y funcionaba dBase como interfaz al usuario mientras que Microsoft y Sybase se encargaron del trabajo en el lado del servidor.

Pasado el tiempo (1994) llegó la versión 6 de SQL Server ® que también se ejecutaba bajo el reciente Windows NT® y dicha versión ya no contaba con la mano de obra de Sybase. A partir de la versión 7.0 fue reescrito masivamente en lenguaje C++ y a partir del año 2000, ya cuando tenía tiempo de haberse descontinuado el OS/2, el SQL Server ® se quedó solamente para el sistema operativo Windows NT®. Luego en el año 2001 su sucesor Windows XP® hereda la tecnología Windows NT® -valga redundancia ya que “NT” significa “New Technology”- y pudo llegar a los usuarios comunes y sus pequeñas y medianas empresas: ya no era de uso exclusivo para las grandes corporaciones el manejo eficiente de los datos relacionales.

Para el año 2005 se presentó una disyuntiva: la irrupción en firme de los procesadores de 64 bits y varios núcleos, así como gran cantidad de memoria RAM para los cuales Microsoft® SQL Server ® no estaba preparado para aprovechar al máximo este potencial. En reacción a ello se decide realizar una capa de plataforma (“platform layer”) para contener “SQLOS layer”. Un SQLOS es “un sistema operativo de alto nivel de usuario altamente configurable con una poderosa interfaz de programación de aplicaciones” (la explicación oficial y detallada la pueden leer en este enlace web9) y pronto veremos que fue una muy buena elección ya que separa completamente lo que es la programación en sí de lo que son las cargas de trabajo e hilos de ejecución en un ordenador que tenga instalado Microsoft® SQL Server ®.

Microsoft® SQL Server ® en Linux.

En el mundo de los servidores web definitivamente reina desde hace muchos años las diversas distribuciones GNU/Linux y por la rama Debian está el Ubuntu Server el cual es utilizado por muchísimas empresas, tanto grandes, medianas y pequeñas y todos se han dado cuenta de su increíble estabilidad y eficiencia para publicar sus sitios en Internet. Pero para las bases de datos hay bastantes programadores que han escogido a Microsoft® SQL Server ® y debido a esto las compañías deben adquirir un sistema operativo Microsoft Windows® creando un trabajo adicional en la administración de la red de área local debido a un ambiente mixto.

Esta inquietud fue surgiendo poco a poco7 entre los clientes de Microsoft® y así se lo hicieron saber a la empresa radicada en Redmond (estado de Washington, EE.UU.) lo que los puso en un buen aprieto ya que no sabían cómo portar las decenas de millones de líneas de código acumuladas durante todos estos años al ambiente del sistema operativo del pingüino. La respuesta a esta problemática fue encontrada en un proyecto que databa de 2011 llamado Drawbridge®8 el cual fue ideado inicialmente para virtualización de aplicaciones en un entorno seguro (en inglés llamado “sandbox”).

Se necesitaba entonces “aislar” al Microsoft® SQL Server ® y cuyos programadores codificaban de manera despreocupada ya que trabajan en un entorno bien conocido y que se encargaba de lidiar con el diverso hardware existente. Una vez fueron bien entendidos y adaptados los procesos de Drawbridge se establecieron los siguientes parámetros (de nuevo, la explicación oficial está en este enlace web10):

  1. Calidad y seguridad deben de estar al mismo nivel que establecieron por cerca de 30 años a Microsoft® SQL Server ® en Microsoft Windows®.

  2. Proveer el mismo valor en términos de funcionalidad, desempeño y escala.

  3. Compatibilidad de aplicaciones entre Microsoft® SQL Server ® tanto en Microsoft Windows® como en Linux.

  4. Habilitar una ruta de innovación en el código fuente base de Microsoft® SQL Server ® y asegurarse que las nuevas características y correcciones aparezcan inmediatamente a través de todas las plataformas.

  5. Para los futuros Servicios Integrados habilitar una fundación para Linux.

Para hacer que Microsoft® SQL Server ® apoye diversas plataformas, el trabajo de ingeniería esencialmente es remover o abstraerse de las dependencias de Microsoft Windows®, ¡como vemos no la tenían fácil los desarrolladores, estaban siendo empujados fuera de su zona de comodidad!

Fue así como crearon “SQL Platform Abstraction Layer” ( SQL PAL) que se encarga de fusionar los conceptos de “SQLOS layer” y Drawbridge® y de ahora en adelante el equipo de desarrollo puede trabajar con un único código base y no tiene que preocuparse acerca de en dónde se ejecutará el código (y esto incluye la nueva plataforma Microsoft Azure® de la que hablamos al principio). Como vemos, hasta ahora, todo ha llegado a buen término y los proyectos y recursos del gigante informático, que una vez parecían desperdigados, ahora forman parte de un todo.

Instalación de Microsoft® SQL Server ®.

Como decía Santo Tomás de Aquino: “hasta no ver, no creer” es por ello que tomamos una máquina virtual con 4 gigabytes de memoria RAM (el requerimiento mínimo es de 3,25 gigabytes), descargamos Ubuntu Server 16.04 por medio de tecnología Torrent (es más rápido y podremos luego devolver lo que descargamos a más personas que también lo necesiten) y tras instalarlo y colocarle sus debidas actualizaciones de seguridad (¡que por que sea un servidor de prueba no nos exime de perder las buenas costumbres de trabajo!) decidimos instalar en esta máquina “limpia” a Microsoft® SQL Server ® y grabamos un video de 23 minutos que pueden buscar en la página web de Youtube con el siguiente código: XDd1gblgi4c .

Esencialmente las instrucciones son importar las llaves de seguridad habilitadas por Microsoft® en su sitio web con las cuales podremos -y debemos- certificar que el contenido descargado desde esa empresa no haya sido alterado. Después agregaremos el enlace de la ubicación del repositorio en nuestro archivo dedicado a tal efecto, actualizamos el listado de componentes y damos la orden de descargar e instalar los paquetes. De hecho en el blog de Microsoft® donde están publicadas las instrucciones11 se indica el utilizar el parámetro “-y” para aceptar de manera inmediata la licencia de uso. Recomendamos instalar sin dicha opción para que tengamos siempre muy presente y en cuenta que estamos utilizando software privativo y que debemos ceñirnos a la licencia que muestra en la siguiente figura de nuestra autoría (Creative Commons Attribution-Share Alike 4.0 International):

 

Microsoft SQL Server mssql-conf setup
Microsoft SQL Server® mssql-conf setup

Instalación SQL Server ® command-line tools.

Una vez tengamos instalado nuestro SQL Server ® sería cuestión de configurar el muro de fuego “firewall” y establecer las políticas de acceso al ordenador tendremos ya listo y configurado para comenzar a recibir datos de lleno por medio de otras computadoras. Pero si queremos trabajar directamente en la consola de nuestra máquina debemos instalar las herramientas de líneas de comandos “command-line tools” con la orden «sudo apt-get install mssql-tools unixodbc-dev» que como era de esperarse también contiene unas preguntas para la aceptación -o negación- de aceptar las condiciones de uso.

En nuestro caso, en el vídeo que les comentamos, aparte de instalar las “command-line tools” tuvimos la oportunidad de crear una base de datos, crear una tabla, introducir unos pocos valores y hacer una simple consulta condicional y todo funcionó de maravillas. Pero no pensemos que vamos a tirar en el olvido esta herramienta, vamos a ver cual otro uso le podemos dar.

Monitorización de SQL Server ®.

Como herramienta de monitorización el equipo de desarrollo SQLCAT12 de Microsoft® llegó a la conclusión de que se necesitan tres herramientas para monitorizar:

  • collectd.

  • InfluxDB.

  • Grafana.

Nos centraremos en collectd y muy brevemente hablaremos de InfluxDB y Grafana.

“collectd”13.

Este software de código fuente abierta está escrito en lenguaje C y es un demonio o servicio que instalaremos y ejecutaremos en el servidor que está alojado el Microsoft® SQL Server ®. Se precia de ser muy popular en los enrutadores que utilizan OpenWrt, el cual es una distribución Linux especialmente diseñada para estos artefactos ya que además tiene más de 100 complementos o plugins que facilitan la tarea de configurar las aplicaciones más populares en Linux como Apache y MySQL (al momento de escribir estas líneas revisamos dicha lista y no hallamos uno específico para Microsoft® SQL Server ®, dado lo novedoso de la irrupción de este software en el mundo GNU).

Para entregar los datos “collectd” bien puede escribirlos en formato de archivo RDD (“RDDfile”) para que luego sean graficados con RDDtool14 o bien puede ser recolectado por medio de un complemento o plugin especialmente diseñado para Nagios15. Pero lo que hallamos sumamente útil es el complemento o plugin16 diseñado para ofrecer datos en forma de SNMP, lo cual no nos debería sorprender ya que comentamos anteriormente que está presente en OpenWrt y lo veríamos -su monitorización- como un enrutador cualquiera. Actualmente PandoraFMS no tiene un plugin para collectd pero no tiene problema alguno en conectarse por medio de SNMP.

Para instalar collectd deberemos tener instalado Git y además Docker Engine para luego crear una cuenta en Microsoft® SQL Server ® usando las siguientes instrucciones:

USE
master;

GO

CREATE LOGIN [collectd] WITH PASSWORD = N'mystrongpassword';

GO

GRANT VIEW SERVER STATE
TO
[collectd];

GO

GRANT VIEW ANY DEFINITION TO [collectd];

GO

Esto último es de vital importancia para que collectd tenga el debido acceso a nuestro servidor de base de datos. Microsoft® invita a clonar su repositorio en GiHub17, donde tiene instrucciones muy detalladas de lo anterior e incluso nosotros podremos aportar cualquier observación, corrección o colaborar con una mejora si solicitamos un pull request e dicho proyecto.

“InfluxDB”18.

Se encarga de comunicarse con collectd para entonces guardar y organizar los datos recabados.

“Grafana”19.

Un software que produce impresionantes gráficos y dibujos que representan los datos colectados por InfluxDB. Se recomienda encarecidamente que tanto InfluxDB y Grafana sean instalados en otro ordenador aparte del que ejecuta Microsoft® SQL Server ® o incluso cada uno en su propia máquina si el volumen de equipos que vamos a monitorizar es lo suficientemente grande.

Conclusiones.

De lo que bien se aseguró Microsoft® es de hacer un buen estanco con su aplicación SQL Server ®: nada del código se podrá fugar hacia Linux y evita comprometer la confiabilidad de Linux sin contar además de que tienen el código base siempre listo para ser mejorado ante la llegada de nuevo hardware o abracar otros sistemas operativos existentes o venideros ¡las opciones y oportunidades siempre es mejor que sobren y no que falten!


Todas las marcas aquí nombradas están acompañadas del símbolo “®” y pertenecen a Microsoft® Corporation y cumplen con el uso adecuado de dichas marcas comerciales, todo según se especifica en el siguiente enlace web publicado de manera ex professo por Microsot® Corporation:

https://www.microsoft.com/trademarks



Todas las imágenes aquí utilizadas fueron capturadas y/o modificadas bajo nuestra autoría y están bajo licencia Creative Commons Attribution-Share Alike 4.0 International


Apéndice:

Como todo buen apéndice, éste puede ser extirpado sin ningún tipo de problema?.

Indice de figuras e imágenes y la acreditación de autoría:

  1. Tux Linux
  2. Licencia de uso de Microsoft® SQL Server ® .

Fuentes consultadas:

  1. “Connect (); 2016” por Daniel Mitchell, Technical Evangelist Intern, Twitter @danymitb.
  2. “Diez cosas que no sabías de Linux GNU” en Pandora FMS blog.
  3. “Steve Ballmer” en Wikipedia.
  4. “Satya Nadella” at Wikipedia.
  5. “Microsoft Azure Machine Learning para principiantes” en blog de Microsoft®.
  6. “The Evolution of SQL Server ®” en Informit.
  7. “How Microsoft brought SQL Server ® to Linux” en Techcrunch.
  8. “Drawbridge” en blog de Microsoft®.
  9. “Platform layer for SQL Server ®” en blog de Microsoft®.
  10. “SQL Server ® on Linux: How? Introduction” en blog de Microsoft®.
  11. “Install SQL Server ® and create a database on Ubuntu” en blog de Microsoft®.
  12. “How the SQLCAT Customer Lab is Monitoring SQL on Linux” en blog de Microsoft®.
  13. “collectd.org”.
  14. “RRDtool Gallery”.
  15. “10 razones por las que no deberías instalar Nagios en tu empresa” en PandoraFMS blog.
  16. “RDDtool SNMP plugin”.
  17. “mssql-monitoring” en GitHub.
  18. “InfluxDB”.
  19. “Grafana”.

 

MySQL Workbench 6.3

MySQL Workbench: ¡conoced un gran aliado!

MySQL Workbench: si no lo conoces estás perdiendo un gran aliado.

por Jimmy Olano.

Introducción.

MySQL Workbench 6.3
MySQL Workbench 6.3

 

Cuando escuchamos acerca de MySQL de inmediato pensamos en la poderosa base de datos relacional “RDBMS”, la cual ahora pertenece al gigante Oracle®, y quienes han mantenido bajo licencia de software libre dicho programa. Nosotros los programadores de aplicaciones gustamos de utilizar la línea de comandos para nuestros propósitos pero “MySQL Workbench” es la respuesta acertada para disfrutar de una interfaz visual en el diseño y administración de nuestras bases de datos.

En esta entrega evaluaremos a “MySQL Workbench version 6.3.6 Community” la cual es base para la “Standard Edition” y se diferencian por la documentación extendida, módulos/complementos adicionales y el soporte directo al usuario, todo esto con licencia comercial.

Si bien es cierto que os estamos hablando de programación con bases de datos como apertura también os decimos que “MySQL Workbench” tiene una sección muy útil en cuanto a la administración de servidores de datos y os lo presentamos como marco de referencia para nuestro objetivo: monitorizar el manejo y almacenamiento de nuestra información, ¡acompañadnos!

Prerrequisitos.

Desde luego que para utilizar “MySQL Workbench” debemos tener instalado un servidor MySQL, y para nuestro caso usamos ambas aplicaciones en un mismo equipo GNU/Linux Ubuntu 16 LTS, 64 bits, así que las gráficas acá indicadas pueden ser diferentes a lo que veáis en vuestros ordenadores.

Los ejemplos de datos nombrados aquí dados son ficticios y tienen propósitos puramente didácticos, cualquier parecido con la realidad será absoluta y feliz coincidencia. Ciertas marcas registradas están acompañadas de un símbolo ® o © y pertenecen a sus respectivos propietarios.

Requerimientos de software.

“MySQL Workbench” (la cual abreviaremos de ahora en adelante como MySQL Workbench) está diseñado para trabajar bajo ambientes:

  • GNU/Linux (Ubuntu a partir de la versión 9 y Fedora a partir de la versión 11 están certificadas oficialmente).

  • Solaris.

  • FreeBSD.

  • Mac OS 10.6.1 o superior.

  • Windows 7 o superior.

En el caso de Windows se necesita el entorno “Microsoft .NET 3.5” y luego solo basta con descargar el programa instalador con extensión “Microsoft Installer .msi”.

Para GNU/Linux necesita como mínimo Cairo 1.6.0, glib-2.10, libxml-2.6, libsigc++ 2.0, pcre y libzip. Para este ambiente, en la distribución Debian (y sus “sabores”) solo bastará invocar con derechos de administrador el comando “apt-get install mysql-workbench” para que automáticamente descargue todos los paquetes necesarios e incluso nos invite a eliminar de nuestro disco fijo las librerías que no estén en uso para ahorro de espacio.

Requerimientos de hardware

Para poder utilizar MySQL Workbench como mínimo debemos contar con:

  • Procesador doble núcleo de 2 Ghz (4 núcleos recomendado)

  • 4 gigabytes de RAM (6 gigabytes recomendado).

  • Pantalla con una resolución mínima de 1024×768 píxeles (1280×1024 recomendado).

Esta configuración es normal en las computadoras modernas (cosa diferente son los requisitos para “MySQL Server”).

Ejecutando MySQL Workbench.

Una vez lo hallamos instalado en nuestro ordenadores procedemos a ejecutarlo y veremos una pantalla de bienvenida parecida a esta:

 

A la derecha veremos los accesos directos a las opciones más utilizadas o que nos ayudarán a orientarnos en el uso de esta herramienta (a este conjunto lo denominan “Workbench Central”):

  • “MySQL Utilities” que corren bajo una ventana terminal (línea de comandos).

  • “MySQL Bug Reporter” ya que el código abierto permite la depuración constante por parte de toda la comunidad que quiera colaborar en ello.

  • Enlaces web hacia foros en líneas, esto cambia de tanto en tanto dependiendo de la moda y cantidad de usuarios que los sustenten.

  • “Database Migration” si necesitamos traer datos otra base de datos MySQL o incluso de otros tipos de bases de datos tenemos este excelente asistente, mostramos las cómo iniciar la importación desde una base de datos PostgreSQL en la siguiente figura.

Nos detendremos un poco sobre “MySQL Utilities”: al elegir esta opción se nos abrirá una ventana de terminal de comandos (amada por unos, marginada por otros) donde en realidad presenta un listado que no pertenece a MySQL Workbench en sí mismo, son comandos que uno igual pudiera correr en una ventana terminal independiente. Por ejemplo, podremos ver a mysqldiskusage, comando que nos permitirá conocer cuánto espacio ocupan las diferentes bases de datos que alberga nuestro “MySQL Server” (nota: ejecutad siempre, por motivos de seguridad, dichos comandos por medio de una conexión SSH).

Lo que queremos destacar es que MySQL Workbench funciona con elementos propios y otros agregados, ofreciendo gran flexibilidad a nuestra labor de monitorización, veamos.

Utilizando MySQL Workbench.

MySQL Workbench tiene tres áreas principales bien definidas (a esto lo denominan “Workspace”):

  • Desarrollo de Lenguaje de Consulta Estructurado (“Structures Query Language Development” SQLD por su abreviatura en idioma inglés).

  • Modelado de Datos de una manera visual y que incluye, además, la ingeniería en uno y otro sentido entre un esquema (interacción guiada) y una base de datos así como la creación, modificación y visualización de los objetos (tablas, columnas, disparadores, consultas definidas, etc.)

  • Administración del servidor en la cual haremos hincapié más adelante.

Acotamos que muchas opciones no solo se limitan a estas áreas: por nombrar alguna, MySQL Workbench permite exportar (e importar) datos de una manera bien práctica y con la opción de acceder a características avanzadas:

Esta figura muestra ya cuando estamos conectados a una base de datos y estamos prestos a sacar (o respaldar) nuestros recursos almacenados pero ¿cómo conectarnos? A continuación os presentamos con mayor detalle.

Conectando a nuestra base de datos.

Si bien tenemos el modelado de datos, el cual podemos hacer “fuera de línea”, eventualmente esa información la deberemos almacenar en una base de datos; asunto muy distinto es monitorizar al servidor ya que para ello debemos conectarnos de manera obligatoria. De manera automática, a la izquierda de la pantalla de bienvenida, MySQL Workbench detecta nuestro servidor MySQL local a lo cual podemos hacer clic, introducir la contraseña y conectarnos, sin embargo os presentamos la interfaz de conexión al presionar las teclas CTRL+U (menú desplegables “Base de datos” → “Conectar a base de datos”):

Es de hacer notar que si tenemos varias bases de datos que administrar ahorramos tiempo si hacemos perfiles de conexión y las grabamos con MySQL Workbench, dichas fichas pueden contener instrucciones adicionales como conectarnos siempre por medio de SSH (pestaña “Remote Management”) o elevar privilegios como para iniciar o detener el servidor (pestaña “System Profile”).

Plenamente conectados.

Tras ingresar nuestras credenciales estaremos en línea y no es de sorprendernos que lo primero que ofrece MySQL Workbench es realizar comandos SQL (debemos recordar que esa es una de las funcionalidades principales de este software y con lo que la mayoría de las personas asocia).

Dos ordenes rápidas nos permiten elegir una base de datos que está a simple vista a la izquierda y mostrar las tablas que contiene, en este aspecto MySQL Workbench cumple las mismas funciones que phpMyAdmin solo que nuestro entorno no es un navegador web sino una aplicación de nuestro sistema operativo.

Comentamos que podemos hacer un modelado de datos para luego plasmarlo en una base de datos pero si es el caso que llegamos a una empresa y ya está todo planteado debemos entonces, ya sea para tener un panorama general o para mejorar la estructura de datos un proceso de ingeniería inversa, solo os traemos una gráfica para tener una noción de ello y tal vez sea útil a la hora de monitorizar, nosotros los seres humanos muchas veces necesitamos de mapas mentales para realizar nuestro trabajo.

Monitoreando nuestro “MySQL Server”.

Dejando un lado las labores de diseño, consulta y modificación para los desarrolladores, poco hemos tardado en llegar a nuestro objetivo que es monitorizar: justo debajo de la opción “MANAGEMENT” la primera opción que os presentamos es el estado del “MySQL Server” en la sección “Server Status”:

De un solo golpe de vista tenemos la información del nombre del servidor, si se está ejecutando, el puerto de escucha, los directorios de configuración, versión utilizada y compilada así como si es un servidor principal o es una réplica. También, de manera muy resumida, la carga de trabajo, tráfico de red entre otros valores relevantes.

Otra sección a la que podemos tener acceso es “Instance” → “Startup/Shutdown” donde podremos iniciar o detener el trabajo (y que debéis tener cuidado si estáis conectado a un servidor en producción): ¡pendientes si hay usuarios conectados!):

Una vez nos hayamos enterado de la situación en general podremos obtener mayores detalles si usamos el apartado “Perfomance” y luego “Dashboard” donde está nuestro tablero de instrumentos.

Al hacer clic allí veremos unas gráficas muy importantes:

Tráfico de red.

 

Muestra el número de bytes por segundo tanto enviados como recibidos y el número de clientes conectados. Esto permite rápidamente el conocer el caudal y si estamos llegando al máximo permitido por el hardware, unos valores por encima de 85% durante mucho tiempo nos indicará si debemos pensar en migrar a servidores en réplicas o en racimos en internet (cloud cluster) para poder asumir la nueva carga de trabajo.

Estado del servidor MySQL.

Si colocamos esto en segundo lugar no es porque sea menos importante que el tráfico de datos; acá nos muestra la eficiencia del caché de datos (la información que es solicitada más a menudo mejor es mantenerla en RAM para reducir el desgaste de disco duro) así como el número de SQL ejecutadas por segundo e incluso discrimina sus diferentes acciones específicas: consultas (“el pan nuestro de cada día”), insertados, modificación y borrado de datos -más frecuentes- y creación, modificación y borrado de tablas que no deberían suceder (con muy contadas excepciones) y que cae en el campo de la seguridad informática (solo cuentas privilegiadas pueden ejecutar estas acciones).

Estado del InnoDB.

InnoDB es un mecanismo de almacenamiento de código abierto desarrollado por la compañía finlandesa Innobase (ahora adquirida también por Oracle) el cual es muy popular por sus superiores ventajas, tema que da para hacer un artículo completo al respecto. Si nuestros datos están almacenados de esta manera, MySQL Workbench nos mostrará las solicitudes de lectura y escritura al disco duro (solicitudes que a su vez las recibe el caché de datos sobre el cual comentamos en la sección anterior).

InnoDB es preferida por su capacidad ACID la cual a su vez vez tiene un límite de 200 transacciones por segundo y que para sobrepasarlo necesitaremos un hardware muy especializado y/o el reparto de la carga de trabajo entre varios servidores, por lo que esta monitorización es muy importante.

Reportes de desempeño.

Aunque no de una manera gráfica pero igualmente útiles son los reportes de desempeño, una serie de guiones SQL almacenados por los programadores de MySQL Workbench y que se ejecutan ya sea de manera automática o a petición, como este es nuestro caso en las siguientes dos imágenes.

La última imagen ilustra las tablas temporales y su tiempo de servicio y numero de veces ejecutadas (en columnas a la derecha al mover la barra de desplazamiento horizontal), pero ¿por qué son prioritarias para nosotros? La respuesta es que para las consultas almacenadas o creadas por los usuarios, “MySQL Server” guarda dichos valores en tablas temporales y observar su comportamiento nos puede ayudar a identificar retrasos en la retribución de la información. Éste y otros valores o conjuntos de valores permitirán decidir qué esquema de desempeño utilizaremos en la siguiente sección.

Esquema de desempeño.

MySQL Workbench nos ofrece una configuración muy sencilla en cuanto a la manera sobre cómo se recolecta la información para que luego nos sea presentada: hemos llegado entonces a la quintaesencia de la monitorización de servidores.

Existe un delicado equilibrio entre la recolección de datos y el servicio de datos: al aumentar los niveles de exigencia del primero disminuye lo segundo, es por ello que MySQL Workbench ofrece 4 niveles básicos.

  1. Completamente habilitado.

  2. Personalizado (arriba mostrado).

  3. Por defecto, valores “de fábrica”.

  4. Deshabilitado.

¿Cuál nivel es mejor para nosotros? Os indicamos que depende de la fase de desarrollo de vuestro software, la opción (a) se ofrece para desarrollo en ambiente de prueba, la opción (c) para software ya conocido, establecido y bien depurado y la opción (d) pues bueno, no la recomendamos para nada.

Dejamos la opción personalizada de último para brevemente mostraros sus opciones ampliadas, vamos a la siguiente figura:

Es tan avanzado que primero debemos conocer los componentes conceptualizados que luego podremos configurar:

  • Actores (usuarios que solicitan o tramitan información).

  • Instrumentos (memoria, blackhole, InnoDB, MyIsam, etc.: objetos programados que procesan la información).

  • Consumidores (tablas donde guardaremos los datos recolectados).

A estos elementos en su conjunto serán registrados en los tres eventos siguientes:

  • Al llegar una nueva solicitud y finalizar la misma (una vez todos y cada uno de sus componentes hayan finalizado; recordad además que las transacciones ACID son “más costosas” en tiempo y recursos de máquina, arriba lo comentamos en detalle).

  • A su vez todos y cada uno de los pasos que abarque la solicitud.

  • Los diferentes eventos asíncronos que crean períodos de espera en cada una de las etapas del punto anterior, esto permite detectar cuellos de botella y diseñar algoritmos que entreguen datos a tiempo a los procesos siguientes. Este concepto es un poco difícil de entender ya que implica hilos de ejecución que bien pueden ser independientes de principio a fin o que tal vez necesiten en algún punto información de otro hilo para continuar. La simplificación que damos es exagerada pero bien ilustra en pocas palabras la situación planteada.

Para configurar todas estas opciones haremos clic en las diferentes pestañas de la última figura mostrada, allí recomendamos comenzar por agregar los usuarios (actores) y objetos (los disparadores triggers que se activan bajo eventos tales como por ejemplo dar de alta un usuario o alcanzar determinado número de registros, etc.), luego marcamos los instrumentos que queremos supervisar (InnoDB, por ejemplo) y las tablas donde los guardaremos (Consumers) teniendo en cuenta los hilos (Threads) de dichos instrumentos.

Expandiendo las posibilidades de MySQL Workbench.

Desarrollada bajo lenguaje C++ esta aplicación acepta guiones “scripts” escritos en lenguaje Lua o Python, este último más extendido y con muchas opciones. Con ello podremos:

    • Automatizar tareas comunes, el anhelado premio para los administradores.

    • Mejorar la interfaz para el usuario.

    • Crear complementos.

    • Manipular esquemas de datos.

    • Crear características personalizadas para MySQL Workbench.

      Para muestra un botón, podremos crear un complemento escrito en lenguaje Python con solo darle un nombre de inicio y MySQL Workbench precargará el ambiente de trabajo con las librerías especialmente destinadas tales como la interfaz gráfica y las que interactúan con la base de datos.

      Conclusión.

      Ya podemos dejar de pensar que solo los programadores utilizan MySQL Workbench para modelar datos y crear, modificar, consultar y eliminar sus estructuras de almacenamiento; incluso labores de respaldo, importación o exportación de datos: el tema va mucho más allá de eso.

      Aunque hemos dejado mucha tela por cortar en este artículo, solo es una muestra del gran aliado que podemos obtener en la monitorización de servidores de datos MySQL: pudiéramos decir que las combinaciones son prácticamente infinitas.