sábado, 14 de julio de 2007

SOFTWARE LIBRE "LINUX"


SISTEMAS MANEJADORES DE BASE DE DATOS
En este artículo se pretende hablar un poco, sobres lo que son los sistemas manejadores de bases de datos(DBMS) ambientados, tanto en windows como en linux con la finalidad de comparar las herramientas en uso, las generalidades y características específicas, para ello se deasrrollarán los aspectos de cada punto por separado y luego se realizará una breve comparación.

MICROSOFT ACCESS: Creado por microsoft (DBMS) para uso personal y de pequeñas organizaciones, sus bases no requieren de excesiva potencia, ya se integra con el resto de las aplicaciones de microsoft y permite crear programas que muestran la interfaz de usuario de base de datos más potentes por que es un sistema capaz de acceder a tablas externas a través de ODBC(Open Data Connectivity), que hace posible el acceder a cualquier dato de cualquier aplicación sin importar que sistema manejador de base datos se esté usando, para ello la plicación y el sistemas deben ser compatibles con ODBC. Access es muy popular, sin embargo tiene ciertas limitaciones en cuanto al número de accesos simultáneos y tamaño de las tablas manejadas.
Si se programa un sitio webacceso a base de datos o realizar prototipos, cuando éste alcance un número elevado de visitas o si sus requerimientos de almacenamiento son grandes, la aplicación puede volverse inestable lo que indica que se necesita un servidor de BD como SQLSERVER, MYSQL O POSTGRESQL. También se debe tener en cuenta que si la BD va a ser modificada desde los scripts ASP dinamicamente, el "archivo.mdb" quedará bloqueado, y accsess no está preparado para bloqueos de escritura con multiples usuario accediendo simultaneamente, lo que puede producir un error grave en el servidor web que podría incluso colgar toda la aplicación ASP.

MYSQL: Es software de fuente abierta, es decir; es posible para cualquier persona usarlo y modificarlo, usa el GPL(GNU General Public License) para definir que puede y que no pede hacer el software, en diferentes situaciones, también está disponible en versiones comerciales licenciadas funcionando para plataformas windows y para linux. Este sistema es un administrador relacional de base de datos, esto es que archiva datos en tablas separadas y no todos los datos dentro de un archivo, lo que permite velocidad y flexibilidad, las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. Posee múltiples motores de almacenamiento, permitiendo al usuario escoger la que sea mas adecuada para cada tabla de la BD, así como también posee agrupación de transacciones, reuniendolas de varias conexiones para incrementar el número de transacciones por segundo.

MYSQL es muy robusto, veloz y capaz de manejar sin problemas tablas con millones de registros en un sitio web de muchas visitas, dispone de espacio para bases de datos desde un producto plan empresarial, en el cual si se necesita más espacio se puede contratar un HOSTING BDMYSQL o pasar a un servidor dedicado, el cual incluye un servidor MYSQL y todo el espacio en disco que se necesite, por tanto pueden realizarse aplicaciones web de acceso a BDMSQL desde el script en perl, página ASP o PHP. al recidir los archivos en un servidor separado, se requeire el uso de algún programa cliente que permita conectarse al servidor de datos con el fin de crear tablas, editar registros,subir datos, etc. Esto lo hace mediante el uso de herramientas como lo es "phpmyadmin"(http://es.wikipedia.org/wiki/PhpMyAdmin), que es una aplicación realizada en php que permite administrar bases de datos MYSQL através de internet, utilizando páginas web, pero no todo es bueno ya que Mysql no es adecuada para aplicaciones críticas, esto es por que al no usar transacciones un problema de cualquier tipo que interrumpiese una serie de comandos puede dejar a la BD en estado inconsistenete, no posee triggers por lo que no se pueden establecer reglas de integridad y consistencia a nivel servidor, aunque versiones resientes poseen triggers.

COMPARACIONES ENTRE MYSQL Y ACCESS

- MYSQL es un sistema manejador de base de datos, que entre otras cosas tiene:
Abstracción de almacenamiento, cosa que no cumple ACCESS.
Consistencia,otro punto que ACCESS no cumple.
Respaldo y recuperación, ACCESS lo cumple a nivel de archivo normal.
Control de concurrencia, concepto totalmente desconcido para ACCESS.
- MYSQL es bastante potente, puede tratar por ejemplo 200000 registros sin casi pérdida de rendimiento,no así con ACCESS, que al tratar esa cantidad de registro se tonar inestable y lento.
- MYSQL consta de BACKUP, sistema de permiso a usuarios sobre tablas, esto es ACCESS simplemente no existe.
- MYSQL resulta mucho menos costoso, mas seguro y viable que ACCESS.
- MSQL es un DBMS generalmente utilizado para organo¡izaciones grandes, donde el volumen informativo es inmenso, en este sentido ACCESS es creado para uso personal y peque- ñas empresas, que no necesiten de una bases de datos enorme.
Son diversas las opiniones de especialistas, quienes coinciden en expresar que estos sistemas manejadores de bases de datos no son comparables, a manera personal de decir que esto se hizo para entre otras cosas puntualizar las ventajas que se obtienen al utilizar las herramientas que brinda el uso de software libre.