Base de datos Cassandra

cassandra database 480x372 Base de datos Cassandra

Migración de grandes hacia Cassandra db

Por la red ha saltado la alarma ya que Twitter pretende migrar al sistema de base de datos Cassandra, hasta la fecha los de Twitter confiaban en la base de datos mysql con un complejo sistema de Twitter.

No es la primera compañía que migra hacia Cassandra tras la adquisición de MySQL por Oracle, un movimiento que no ha sido del agrado de prácticamente ningún desarrollador, además con estos movimientos tan sólo acrecentamos el temor de que Oracle acabe ahorcando el proyecto libre MySQL en favor de sus sistemas de bases de datos de pago.

La base de datos Cassandra fue liberada por Facebook en el año 2008, en la actualidad es usada por servicios web de alto tránsito y de alta actividad en cuanto a base de datos se refiere, nombres como Rackspace, Digg, Facebook, Cisco, etc son algunas de las compañías que ya trabajan bajo Cassandra el echo de que muchas redes sociales de gran renombre la utilicen es garantía de su funcionalidad pues bien es sabido que tanto Twitter como Facebook y Digg son las aplicaciones web que mueven un mayor volumen de registros de bases de datos.

Características destacadas de Cassandra

Cassandra DB dispone de algunas características muy interesantes entre las que destacamos:

Tolerancia a fallos

Los datos son replicados en múltiples nodos de forma que si falla uno el sistema es capaz de leer los datos desde cualquier otro nodo sin problema alguno sin ningún tipo de downtime o tiempo de espera, elevando así el tiempo de operatividad muy por encima de MySQL.

Descentralización de los datos

Todos los clusters que conforman una base de datos disponen de la misma información por lo que los datos están replicados y se encuentran en todos los puntos aportando toda la ventaja que implica la descentralización de los datos.

Modelo de datos avanzado

Cassandra dispone de lo que se denomina un Rich Data Model es decir un sistema eficiente y simple para la ejecución de consultas a la base e datos.

Elasticidad

Te permite leer y escribir simultáneamente sin interrupciones.

Requerimientos de Cassandra

Servidor Apache, 1Gb. de mínimo de memoria RAM bajo entornos virtualizados, si el hardware es dedicado debería ser superior a 4Gb. de todas formas es habitual encontrarse cluster con 16 y 32 Gb. de memoria RAM.

A nivel de CPU Cassandra trabaja de forma excelente con sistemas multi-núcleo así que a mayor número de cores, mayor rendimiento. Así pues si precisas de un gran rendimiento, no te cortes y tira por sistemas de cuatro u ocho núcleos.

Capacidad de disco, ideal 2 discos por cada cluster, en uno se almacena el llamado CommitLogDirectory o fichero de registro de activicidad (log) y en el otro los datos o DataFileDirectories.

Sistema operativo, lo mejor un sistema operativo de 64bits, a mayor estabilidad mejor rendimiento. Por supuesto, Unix o Linux, incluído Mac OSX.

Enlace: http://incubator.apache.org/cassandra/

Aplicación web PHP para backup de mysql

aplicacion web de copias de bases de datos 480x319 Aplicación web PHP para backup de mysql

Sypex Dumper es una aplicación web de código abierto escrita en lenguaje PHP para establecer completos sistemas de copia de seguridad de bases de datos MySQL. Funciona en capa web y por tanto es multisistema.

Esta aplicación web está construída con PHP y posee una potente interface Ajax. Gracias a los sistemas que incorpora permite no tener que preocuparse de timeouts ni limites de archivos tan típicos como el max upload limit del PHP, unos problemas que vienen siendo muy habituales entre los webmasters a la hora de mover bases de datos por la red.

El código se encuentra muy optimizado y es más de 5 veces más rápido en exportar una base de datos que otros métodos hasta ahora más tradicionales como phpMyAdmin, MySQL Front, Heidi o incluso los conocidos scripts mysql dumper.

Enlace: http://sypex.net/en/products/dumper/about/

Optimizar bases de datos Mysql

optimizar bases de datos mysql 387x479 Optimizar bases de datos Mysql

Hoy que los servidores virtuales y servidores privados están muy de moda vamos a aprender que es lo que debemos realizar para optimizar el motor de bases de datos Mysql.

Con dos sencillos comandos en la terminal de tu servidor web podrás obtener un sabio consejo para optimizar el rendimiento de tus bases de datos Mysql. Estos comandos te descargan un script en perl y con el siguiente lo ejecutas.

wget mysqltuner.pl
perl mysqltuner.pl

Deberás de proporcionar al script la información que te solicita, esta es usuario de administración de mysql y la correspondiente clave, a partir de hay en unos segundos te mostrará los sabios consejos para que tu servidor funcione algo más ligero.

Enlace: http://blog.mysqltuner.com/download/

Mover grandes bases de datos MYSQL

Muchas veces habrás tenido la necesidad de mover alguna base de datos entre dos servidores, si la base de datos es pequeñita podrás atreverte con una exportación en pantalla de las tablas de origen para después pegarlas en la pestaña SQL del servidor destino, si bien esto es sólo hábil para pequeñas tablas o con paciencia ir haciendo diversos copy paste.

En tu ayuda existen soluciones como la de exportar la base de datos en un archivo .sql para posteriomente subirla al servidor final, ahora bien ese archivo por defecto debe tener un máximo de 2Mb. es entonces cuando decides exportarla en un archivo pero comprimida en formato .gzip, si bien esto da a veces algún problema entre phpMyAdmin de diferentes versiones también puede llegar a resultar insuficiente cuando tu base de datos sobrepasa los valores de subida del servidor y no tienes acceso a ellos.

Para solucionarlo te presentamos una clase escrita en PHP que te permite mover prácticamente cualquier base de datos, se llama BigDump Clase PHP BigDump (6)  y su funcionamiento es así de sencillo:

// Configuración de la base de datos

$db_server   = 'miservidordedatos.com';
$db_name     = 'mibasededatos';
$db_username = 'misuario';
$db_password = 'micontraseña';

// Otras configuraciones (Opcional)
$filename         = 'respaldo.sql.gz';

...

$db_connection_charset= 'conjunto de caracteres (latin1, utf8, etc.)';

Enlace:

http://www.ozerov.de/bigdump.php

http://infoaleph.wordpress.com/2009/02/19/bigdump-importacion-segmentada-de-grandes-bases-de-datos-mysql/

Instalar Apache 2 PHP 5 MYSQL 5 y Webmin 1.5

En este tutorial, que  bien podría haberse llamado, instalando apache que es gerundio… vamos a proceder a instalar Apache 2.2 PHP5 MySQL 5 Webmin 1.500 en un ordenador equipado con sistema operativo Ubuntu 9.10 Karmic Koala, suponemos que esta instalación será válida para casi la práctica totalidad de distribuciones de Linux.

Lo primero para disponer de un flamante servidor web en tu máquina es acceder a una terminal del sistema para ello nos dirigimos a:

Aplicaciones > Accesorios > Terminal y pulsamos sobre el icono:

icono terminal ubuntu Instalar Apache 2 PHP 5 MYSQL 5 y Webmin 1.5

Ahora nos toca instalar Apache, actualmente la versión es la 2.2., depende de cuando quieras instalar Apache podría existir ya otra versión superior por lo que mejor antes de comenzar a instalar date una vuelta por http://httpd.apache.org

web servidor web apache 300x234 Instalar Apache 2 PHP 5 MYSQL 5 y Webmin 1.5

Te hemos marcado en el lateral como puedes saber la última versión estable de Apache para que tan sólo tengas que cambiar el número de la versión, por ejemplo si es “apache2.5″ cambia en el comando install el 2.2. por el 2.5

sudo aptitude install apache2.2

Cuando tu ordenador acabe de instalar te aparecerá nuevamente la línea de comandos, ahora vamos a proceder a instalar el lenguaje de programación PHP en su versión 5. Si estás empezando en esto de la programación web te recomendamos que utilices esta versión pues versiones inferiores ya están bastante en desuso aunque existe mucho código por internet exclusivo de la versión 4. Como dato curioso os diremos que si tu máquina es Quad Core, es decir tiene multinucleo, la versión de PHP5 obtendrá un mayor rendimiento.

Para instalar PHP realizaremos otro aptitude install, toma nota:

sudo aptitude install php5

Ahora vamos a proceder a instalar el servidor de bases de datos MySQL, para ello copia y pega en tu terminal la siguiente instrucción:

sudo aptitude install mysql-server

El instalador te pedirá una clave para la administración de MySQL anótala, si no lo haces luego todo se complica, ante cualquier pregunta dile que sí o mejor dicho “Y” de yes.

Ya tenemos el servidor web funcionando, si lo quieres comprobar abre un navegador e introduce en él la dirección web:

http://localhost

Debería salirte un mensaje en inglés diciendo “It’s works!” que traducido al español viene a ser: “¡Esto funciona!”

Ahora vamos a descargar una herramienta web que permite gestionar casi todos los parámetros del servidor web, y de servicios FTP desde un navegador web, la aplicación también es gratis y se llama Webmin.

Para descargar el paquete Webmin tendrás que hacerlo desde su página web, no hace falta que cierres la terminal porque dentro de poco volveremos a ella: http://www.webmin.com/download.html

Fíjate en la siguiente imagen como nos descargamos el paquete para Unix.

version webmin 300x283 Instalar Apache 2 PHP 5 MYSQL 5 y Webmin 1.5

Una vez descargada nos aseguramos que se encuentra en la carpeta de Descargas, si no lo estuviera lo movemos en un please desde cualquier ventana con un arrastrar y soltar, volvemos ahora a la terminal de comandos y procedemos a entrar en el directorio donde está descargado para posteriormente descomprimir el fichero e instalarlo.

cd Descargas/

Y ahora lo descomprimimos con un:

sudo tar ­zxvf webmin-­1.500.tar.gz

Al descomprimirlo nos abrá creado una nueva subcarpeta, accedemos a ella con otro cd “cambiar directorio”

cd webmin-1.500/

Y ejecutamos el script de instalación:

sudo sh ./setup.sh

Ahora nos comenzará a realizar una serie de preguntas sobre la configuración que deseamos, en principio y a menos que quieras personalizar muchas cosas tan sólo deberás ir presionando la tecla Enter para que este se configure por defecto, recuerda introducir una clave de usuario que no se te olvide con facilidad

Para acceder al webmin introduce en tu navegador web: http://localhost:10000/

Te pedirá nombre de usuario “admin” y la clave que hayas escogido en el proceso de instalación.

administrar apache con webmin 300x143 Instalar Apache 2 PHP 5 MYSQL 5 y Webmin 1.5

Los ficheros de las webs que realices deberán  estar en la carpeta: /var/www

Ahora ya te dejamos que seas tú el que configures tu nuevo servidor web y el que comiences a desarrollar.

Página 1 de 212