El porno prefiere Redis

(13 comentarios)

YouPorn es una página que nadie aquí visita nunca, pero que, misteriosamente, se ha convertido en la 94ª página más visitada de Internet. Supera los 100 millones de páginas vistas por día, consume más de 3 terabytes de ancho de banda cada 24 horas, y tiene que hacer frente a más de 300.000 consultas SQL por segundo.

Muy impresionante, sí, pero, ¿por qué este interés repentino en el tedioso mundo del porno? La respuesta es que hace un par de semanas migraron toda su infraestructura de MySQL a Redis, y parece que están muy impresionados con el rendimiento de este motor de base de datos. No está de más recordar el papel tan determinante que tuvo esta industria en el triunfo de VHS frente a Beta, por ejemplo.

Si queréis saber más sobre el funcionamiento interno de YouPorn, y no os queda muy lejos, podéis acercaros a la ConFoo.CA, en Montreal, Canadá, donde hablaran sobre la migración y otros temas igual de tórridos.

Vía

Guardar consultas con parámetros en Navicat

(13 comentarios)

Navicat es, desde que lo redescubrí gracias a un compañero de trabajo, mi cliente de base de datos preferido. Tal vez sea por costumbre. Quizás, el que sea multiplataforma (Windows, Linux y Mac OS). O el hecho de que se pueda utilizar con los sistemas gestores de bases de datos más populares del mercado (MySQL, SQL Server, SQLite, Oracle y PostgreSQL). Lo importante es que me gusta. Y una de las características que me gustan, aunque no sea muy impresionante, es que permite guardar las consultas que utilices habitualmente. Es más, se pueden guardar consultas con parámetros, y Navicat mostrará un diálogo para que introduzcamos un valor al intentar ejecutarla.

Para ello sólo tenemos que preceder el nombre del parámetro con el símbolo del dólar, y rodearlo con corchetes, de esta forma:

Consultas con parámetros en Navicat

Bases de datos en Joomla!

(28 comentarios)

Siguiendo con nuestro último tutorial en el que vimos cómo desarrollar módulos para Joomla veremos ahora cómo trabajar con bases de datos al programar para este CMS, bien utilizando sentencias SQL, a través de la clase JDatabase, o bien mediante la clase JTable, haciendo uso de una especie de pequeño ORM (mapeo objeto-relacional) basado en el patrón active record.

[Pulsa para continuar]

MySQL

(49 comentarios)

MySQL es uno de los sistemas de gestión de bases de datos más populares del mercado. Se trata de un SGBD basado en el modelo relacional, con licencia dual GPL y propietaria, desarrollado por MySQL AB, una compañía propiedad de Sun Microsystems, creadores de Java, desde Enero de 2008.

En esta entrada veremos algunos de los comandos básicos utilizados a la hora de trabajar con MySQL. Si programas en Java también te puede interesar nuestra entrada sobre JDBC; si programas en Python, nuestra entrada sobre DB-API.

[Pulsa para continuar]

Facilitando el uso de MySQL: phpMyAdmin

(41 comentarios)

En esta serie de artículos sobre el uso de Windows como servidorDNS dinámicas con No-IP, instalación de Apache, instalación de PHP y MySQL e instalación de Zend Optimizer que hemos ido viendo estos últimos días hemos llegados al punto en que tenemos ya instalados en nuestro PC Apache, PHP y MySQL.

En esta ocasión vamos a ver cómo administrar las bases de datos MySQL de forma sencilla, sin tener que recurrir a comandos crípticos introducidos en la consola, sino a través de la potente interfaz web que nos ofrece la aplicación phpMyAdmin, escrita en PHP y código abierto.

Descarga el archivo zip de la última versión estable de phpMyAdmin desde su página web y descomprime el fichero en un directorio cualquiera, por ejemplo phpmyadmin, dentro del DocumentRoot de ApachePor defecto, C:\Archivos de programa\Apache Group\Apache2\htdocs. Lo cierto es que esto no es lo más seguro, pero si lo más sencillo, y no merece la pena complicarse.

Para configurar phpMyAdmin tendremos que editar un archivo de texto (a estas alturas ya estamos acostumbrados) llamado config.inc.php.

Sustituye $cfg[‘PmaAbsoluteUri’] = ”; por $cfg[‘PmaAbsoluteUri’] = ‘http://localhost/phpmyadmin’; para indicar a la aplicación la URL con la que se accederá a phpMyAdmin. Evidentemente, en el caso de que no hayamos colocado la aplicación en la base de DocumentRoot o hayamos utilizado un nombre distinto para el directorio de phpmyadmin, tendremos que modificar la URL de la forma correspondiente.

Si queremos ser capaces de acceder a MySQL a través de phpMyAdmin desde un PC remoto tendremos que introducir el nombre de dominio correspondiente (o la IP, si es estática) en lugar de localhost, además de haberlo activado en su momento en el wizard de configuración de MySQL, aunque es más inseguro.

Busca ahora la variable $cfg[‘Servers’][$i][‘password’] e introduce la contraseña que utilizaste durante la configuración de MySQL. Evidentemente esto no es seguro si cualquiera tiene acceso físico a nuestro PC, en cuyo caso deberíamos utilizar autentificación http ($cfg[‘Servers’][$i][‘auth_type’] = ‘http’;) o un .htaccess de forma que se nos pida el login cada vez que queramos acceder a la aplicación.

Una vez realizados estos sencillos pasos seremos capaces de iniciar la aplicación dirigiendo nuestro navegador a la URL correspondiente. En nuestro ejemplo, http://localhost/phpmyadmin/.

Captura de la interfaz de phpMyAdmin