martes, 28 de agosto de 2007
viernes, 10 de agosto de 2007
MySQL vs. PostgreSQL
Hemos estado buscando por internet informacion y comparativas sobre MySQL
y PostgreSQL para ver cual puede ser mejor, y la informacion es abundante
pero confusa. Hay muchos comentarios al respecto, la mayoria de ellos
catalogables dentro de las "guerras santas" como las que se producen en las
comparaciones "Linux vs. Windows", "Mac vs. PC", etc... Para hacerse una
idea, basta con ver todas las paginas que aparecen en el buscador google al buscar
"postgres vs mysql" o hacer una busqueda similar en SlashDot.
De entre todo lo leido, podemos sacar estas conclusiones:
* MySQL:
o Su principal objetivo de diseño fue la VELOCIDAD. Se sacrificaron
algunas caracteristicas esenciales en sistemas mas "serios" con este fin.
o Otra caracteristica importante es que consume MUY POCOS RECURSOS, tanto
de CPU como de memoria.
o Licencia GPL a partir de la version 3.23.19.
o Ventajas:
+ Mayor rendimiento. Mayor velocidad tanto al conectar con el servidor
como al servir selects y demas.
+ Mejores utilidades de administracion (backup, recuperacion de errores,
etc).
+ Aunque se cuelgue, no suele perder informacion ni corromper los datos.
+ Mejor integracion con PHP.
+ No hay limites en el tamaño de los registros.
+ Mejor control de acceso, en el sentido de que usuarios tienen acceso a que tablas y con
que permisos.
+ MySQL se comporta mejor que Postgres a la hora de modificar o añadir
campos a una tabla "en caliente".
o Inconvenientes:
+ No soporta transacciones, "roll-backs" ni subselects.
+ No considera las claves ajenas. Ignora la integridad referencial,
dejandola en manos del programador de la aplicacion.
* PostgreSQL:
o Postgres intenta ser un sistena de bases de datos de mayor nivel que
MySQL, a la altura de Oracle, Sybase o Interbase.
o Licencia BSD.
o Ventajas:
+ Por su arquitectura de diseño, escala muy bien al aumentar el numero de
CPUs y la cantidad de RAM.
+ Soporta transacciones y desde la version 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. Ademas,
tiene ciertas caracteristicas orientadas a objetos.
o Inconvenientes:
+ Consume BASTANTES mas recursos y carga mas el sistema.
+ Limite del tamaño de cada fila de las tablas a 8k!!! (se puede ampliar a
32k recompilando, pero con un coste añadido en el rendimiento).
+ Es de 2 a 3 veces mas lenta que MySQL.
+ Menos funciones en PHP.
En cuanto a consideraciones de estabilidad del servidor, cada comparativa
da datos contradictorios. En general parece que MySQL es mas estable (aunque
tambien hay gente que opina lo contrario), y que Postgres tiende a
desperdiciar memoria y sobrecargar bastante el sistema (aunque de nuevo, hay
opiniones distintas).
Como conclusion a la comparacion entre MySQL y Postgres, parece aceptado que MySQL junto con Apache y PHP forman
un buen equipo para servir paginas web con contenido dinámico, discusiones,
noticias, etc., por ejemplo al estilo de
SlashDot. En general, sistemas en los que la velocidad y el numero de
accesos concurrentes sea algo primordial, y la seguridad no sea muy
importante (pueda bastar con hacer backups periodicos que se restauraran
tras una caida del servidor). En cambio, para sistemas mas serios en las que la consistencia de la
BD sea fundamental (BD con informacion realmente importante, bancos,
etc.) PostgreSQL es una mejor opcion pese a su mayor lentitud.
jueves, 9 de agosto de 2007
Configuración de módem con chip Conexant HSF (winmodem)
Existe un driver oficial para este tipo de módems, realizado por Linuxant, que se puede utilizar de dos maneras:
* Gratuita, que limita la velocidad a 14.4 Kbps y no permite funciones de FAX.
* Pagando, funciona a 56 Kbps y con FAX. Puedes adquirir el driver al módico precio de 15 dólares.
Sin embargo, tras buscar por Internet, encontré una versión beta gratuita de este driver. Funciona perfectamente, sin el límite de 14.4 Kbps que impone la versión oficial gratuita, aunque no funciona como FAX. Pero ahora puedo navegar a mis flamantes 56 Kbps. Ya sé que es poco para los muchos que están acostumbrados a sus ADSL pero bastante para gente como yo que no tiene una conexión fija en ningún lado.
Los pasos para utilizar cualquiera de las tres versiones del driver son los mismos.
Instalación del módem
Para comprobar si nuestro módem funcionará con este driver, obtenemos información sobre él abriendo un Terminal y tecleando el comando:
lspci
En la lista que nos muestra, buscamos nuestro módem y nos fijamos en la numeración que aparece delante de la descripción del dispositivo:
00:11.6 Communication controller: VIA Technologies, Inc. AC97 Modem Controller (rev 20)
Ahora ejecutamos el comando:
lspci -n
y localizamos la línea que comience con la misma numeración:
00:11.6 Class 0780: 1106:3068 (rev 20)
los números en negrita indican el PCI ID de este dispositivo. Con esta información consultamos la lista de modelos soportados al final de este documento. En mi caso es un módem VIA.
Ahora que sabemos que el driver funcionará, podemos descargarlo de alguno de los siguientes sitios:
http://hsf.szm.sk/hsflinmodem-5.03.27lnxtbeta03042700.tar.gz
Descomprimimos en una carpeta el archivo tar.gz, tecleando:
tar xvzf hsflinmodem-5.03.27lnxtbeta03042700.tar.gz
Entramos en la carpeta donde hemos descomprimido el archivo:
cd hsflinmodem-5.03.27lnxtbeta03042700
Editamos el archivo common.mak que está dentro de la carpeta modules y modificamos la ruta para indicar donde tenemos las cabeceras del kernel. En mi caso fue:
# Debian 3.0 example:
KERNELSRC= /usr/src/kernel-headers-2.4.23-1-k7
Ahora como superusuario:
su
Ejecutamos:
make install
Si no hemos tenido problemas, lo único que nos queda por hacer es ejecutar:
hsfconfig
y responder a las preguntas que nos va haciendo para configurar el módem. les saldrá algo como esto:
Should we attempt to automatically configure your hardware? [yes]
Selected PCI VendorID=1106 DeviceID=3068
and INF file /etc/hsf/inf/linux_via_smartmc.inf
Supported countries:
ARGENTINA, AUSTRALIA, AUSTRIA, BANGLADESH,
BELGIUM, BOLIVIA, BRAZIL, BRUNEI, BULGARIA,
CANADA, CHILE, CHINA, COLOMBIA, COSTA_RICA,
CROATIA, CYPRUS, CZECH_REPUBLIC, DENMARK, DOMINICAN_REPUBLIC,
ECUADOR, EGYPT, EL_SALVADOR, FINLAND, FRANCE,
GERMANY, GREECE, GUATEMALA, HAITI, HONDURAS,
HONG-KONG, HUNGARY, ICELAND, INDIA, INDONESIA,
IRELAND, ISRAEL, ITALY, JAPAN, KOREA,
KUWAIT, LAOS, LATVIA, LIECHTENSTEIN, LUXEMBOURG,
MALAYSIA, MALTA, MEXICO, MYANMAR, NETHERLANDS,
NEW_ZEALAND, NORWAY, PAKISTAN, PANAMA, PARAGUAY,
PERU, PHILIPPINES, POLAND, PORTUGAL, ROMANIA,
RUSSIA, SAUDI_ARABIA, SINGAPORE, SLOVAKIA, SLOVENIA,
SOUTH_AFRICA, SPAIN, SRI_LANKA, SWEDEN, SWITZERLAND,
TAIWAN, THAILAND, TURKEY, UK, UKRAINE,
UNITED_ARAB_EMIRATES, URUGUAY, USA, VENEZUELA, VIETNAM
Please enter your country name [SPAIN]:
Configuring modem for country: "SPAIN"
You can change this setting later with the command "hsfconfig --country"
Warning: existing HSF modules found under /lib/modules/2.4.23-1-k7/misc/
Would you like to keep using them? [no]
This package does not contain pre-built modules suitable for your system:
Distribution: Debian-testing/unstable
Kernel arch: i686
Kernel version: linux-2.4.23-1-k7
Trying to automatically re-compile the modules.
(this requires a C compiler and proper kernel sources to be installed)
Where is the linux source build directory that matches your running kernel?
[/lib/modules/2.4.23-1-k7/build]
Re-compiling HSF modules for kernel 2.4.23-1-k7, using source directory
/lib/modules/2.4.23-1-k7/build. Please wait.
Re-compilation and installation of HSF modules succeeded.
Your HSF modem should now be accessible as /dev/ttySHSF0
Llegados a este punto el módem está instalado en /dev/ttySHSF0. Por comodidad, es conveniente crear un enlace simbólico con el nombre /dev/modem que es más sencillo de recordar:
ln -s /dev/tyySHSF0 /dev/modem
Ahora sólo nos queda cargar el módulo del módem, para eso podemos ejecutar:
modconf
y dentro de la carpeta misc cargar el módulo necesario, yo cargo hsfvia y hsfosspec.
O directamente podemos cargar los módulos necesarios con la orden modprobe. En mi caso sería:
modprobe hsfvia hsfosspec
Suscribirse a:
Entradas (Atom)
