domingo, 15 de julio de 2007

Base de Datos

Una base de datos o banco de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos. En informática existen los sistemas gestores de bases de datos (SGBD), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de los sistemas gestores de bases de datos se estudian en informática.

Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.

Microsoft Access

Access es un sistema de base de datos muy popular, sin embargo debe tener en cuenta que tiene ciertas limitaciones en cuanto a número de accesos simultáneos y tamaño de las tablas manejadas.

1. Se puede copiar el archivo .mdb al directorio DATA del dominio.

2. Después puede asignarle un DSN (Data Source Name, 'nombre de origen de datos') mediante el panel de control.

3. Una vez obtenido el DSN se podrá acceder a la base de datos utilizando ADO en páginas ASP creadas en Visual Basic Script o JavaScript.

Aunque es un buen sistema para comenzar a programar sitios web con acceso a bases de datos o para realizar prototipos, si su sitio web alcanza un número elevado de visitas o sus requerimientos de almacenamiento son grandes, su aplicación con Access podría volverse inestable, lo que indicaría que necesita un servidor de bases de datos alternativo como SQL Server, MySQL o PostgreSQL.

También debería tener en cuenta si su base de datos va a ser modificada desde los propios scripts ASP o por el contrario éstos se limitarán a leer datos de la base de datos.

El método típico con las bases de datos Access es que los scripts ASP se limiten a leer datos del archivo .mdb.

Las actualizaciones de la base de datos se realizan por FTP copiando al servidor el nuevo archivo .mdb.

Si los scripts ASP necesitan modificar la base de datos dinámicamente, utilizar archivos .mdb de Access es definitivamente un método poco recomendable.

Cada vez que un script tenga que acceder a la base de datos para modificarla, el archivo .mdb quedará bloqueado.

Access no está preparado para bloqueos de escritura con múltiples usuarios accediendo simultáneamente: si dos usuarios intentan escribir a la vez en la base de datos, existe una probabilidad de que se produzca un error grave en el servidor web que podría incluso dejar colgada toda su aplicación ASP.

En resumen, las bases de datos Access son un buen sistema para aplicaciones ASP de sólo lectura y siempre que el volumen de datos y el número de visitas sean moderados. Aún así, si planea realizar una aplicación ASP utilizando Access, le recomendamos como medida de precaución que utilice un método de acceso a bases de datos estándar como ODBC. De esa forma, si crecen las visitas o el volumen de datos, podrá migrar a SQL Server sin realizar apenas cambios en su aplicación.

MySQL

Los Sistemas de Gestión de bases de datos relacionales MySQL y PostgreSQL que utilizamos en arsys.es funcionan sobre servidores Linux. Sin embargo, al tratarse de servidores de datos accesibles mediante TCP/IP que residen en máquinas dedicadas, pueden utilizarse indistintamente desde clientes Linux o Windows, por lo que podrá hacer uso de dichas bases de datos desde productos de alojamiento bajo cualquiera de los dos sistemas operativos.

Desde aplicaciones Linux en Perl o PHP se puede acceder a las bases de datos utilizando los controladores adecuados que están incluidos en nuestras instalaciones de dichos sistemas de scripting.

Desde aplicaciones Windows ASP puede crearse un DSN que apunte a la base de datos.

En ambos casos, si desea acceder a su base de datos a través de Internet desde su propio ordenador con sistema operativo Windows, puede hacerlo:

Utilizando Access: Para ello deberá instalar en su propio ordenador el controlador ODBC de la base de datos que utilice (MySQL o PostgreSQL) y crear un DSN en su ordenador que apunte a la base de datos en nuestro servidor.

De esa forma podrá abrir en Access una base de datos del tipo “ODBC Databases” que en esencia es una “base de datos apuntadora” que le permitirá utilizar el interfaz de Access para acceder a las tablas del servidor MySQL o PostgreSQL.

Instalando programas de gestión de las bases de datos MySQL y PostgreSQL que son aplicaciones Windows con interfaces gráficos. Los hay gratuitos o comerciales y son el equivalente a la consola de SQL Server: permiten gestionar las bases de datos, los usuarios, crear tablas, lanzar consultas, etc.

Bases de datos MySQL

MySQL es el servidor de bases de datos más popular en el mundo Linux. Es un programa libre y gratuito, muy robusto, veloz y capaz de manejar sin problemas tablas con millones de registros en sitios web de muchas visitas.

Dispone de espacio para bases de datos MySQL desde nuestro producto Plan Empresarial. Si necesita más espacio, también puede contratar nuestro Hosting Base de Datos MySQL o pasar a un Servidor Dedicado, el cual incluye el Servidor MySQL y todo el espacio en disco que se necesite.

En el espacio incluido para MySQL puede crear todas las bases de datos que quiera y repartir el espacio entre ellas como desee. Las bases de datos pueden crearse, cambiar la contraseña de acceso y darlas de baja utilizando el panel de control.

Gestión de bases de datos MySQL

Las bases de datos de MySQL no son archivos que usted pueda subir a su sitio web como los de Access, sino que residen en un servidor de datos separado. Por ello debe utilizar algún programa cliente que le permita conectarse al servidor de datos con el fin de crear las tablas, subir datos, editar registros, etc. Aunque MySQL está en un servidor Linux, usted puede gestionar sus bases de datos desde ordenadores con cualquier sistema operativo utilizando las aplicaciones adecuadas.

Existen varios métodos para gestionar sus bases de datos MySQL:

PhpMyAdmin es una aplicación realizada en PHP que le permite administrar sus bases de datos MySQL a través de Internet utilizando páginas web. En arsys.es hemos adaptado esta aplicación para el uso de nuestros servidores MySQL, de forma que está disponible para todos nuestros clientes. Para utilizar esta aplicación debe conectarse a la dirección web especificada en el panel de control de su producto y utilizar el login y contraseña de la base de datos que desee administrar.

PhpMyAdmin tiene entre otras las siguientes funcionalidades:

Permite crear tablas.

En cada tabla puede crear y modificar campos, especificando su tipo de datos, valores por defecto, etc.

Se pueden lanzar sentencias SQL contra la base de datos.

Se pueden obtener volcados de la base de datos tanto de estructura como de datos.

Se pueden importar datos al servidor: enviar archivos con los datos de una tabla.

ODBC para MySQL

Si su ordenador de trabajo utiliza un sistema operativo Windows, podrá gestionar las tablas de sus bases de datos MySQL utilizando cualquier programa Windows que utilice ODBC, por ejemplo Access.

Para ello:

1. Descargue el controlador ODBC para MySQL disponible en el sitio web: http://www.mysql.com/.

2. Tras instalarlo en su ordenador de trabajo, podrá crear un DSN que apunte a la base de datos remota en nuestros servidores y utilizar Access para acceder a las tablas.

El menú "Abrir base de datos" de Access tiene la posibilidad de abrir una base de datos definida por ODBC. Si hacemos eso con el DSN creado con el controlador ODBC de MySQL, nos encontraremos con que desde Access manejamos las tablas de las bases de datos MySQL que están en el servidor. Esto es casi lo mismo que los proyectos de Access (archivos .adp) con SQL Server.

Comparaciones

Aunque dispone de varias alternativas, incluidas en nuestros Planes de Hosting Web o como Hosting Base de Datos, a la hora de decidir el sistema de bases de datos sobre el que desea trabajar para su proyecto web, debe saber que cada uno de ellos tiene sus peculiaridades que lo convierten en el más adecuado según para qué tipo de proyectos o en función de los intereses del programador o webmaster.

Le presentamos un pequeño resumen, en modo de tabla comparativa, con los criterios principales a tener en cuenta a la hora de su decisión:

Bases de datos Access: Disponibles sólo bajo sistema operativo Windows con nuestros productos Plan Empresarial, Servidor Virtual, Servidor Virtual Ecommerce y Servidor Virtual ISP. Realizar una aplicación ASP sobre bases de datos Access es recomendable en los casos en que sea especialmente cómoda la actualización de la información por el procedimiento de enviar el archivo .mdb al servidor mediante FTP.

Ahora bien, para que la aplicación sobre base de datos Access no tenga problemas, es recomendable que cumpla estas condiciones:

El volumen de datos a manejar es pequeño. (Además así será más rápida su actualización por FTP).

El número de visitantes simultáneos no es muy alto.

La aplicación ASP no cambia la base de datos, simplemente muestra datos. Esto es consistente con el hecho de enviar periódicamente el archivo .mdb al servidor, pues si la aplicación ASP cambiase la base de datos, esos cambios se perderían al sobrescribirse con la nueva base de datos.

Cuando por alguno de los anteriores motivos, su aplicación no es consistente, o no va a poder cumplir alguno de los mismos, es preferible el uso de un sistema de base de datos más robusto, como SQL Server.

Bases de datos MS SQL Server: Disponibles sólo bajo sistema operativo Windows con nuestros productos Plan Empresarial, Servidor Virtual, Servidor Virtual Ecommerce y Servidor Virtual ISP o como Hosting Base de Datos SQL Server.

SQL Server es el sistema de bases de datos más completo y potente que ofrecemos y resulta ideal para los programadores especializados en productos Microsoft: ASP, Visual Basic, modelos de objetos componentes, etc. Además, es un sistema de base de datos perfectamente adecuado para aplicaciones críticas y con cualquier grado de complejidad.

SQL Server utiliza una parte del espacio de la base de datos para guardar el log de transacciones con los comandos pendientes, lo que asegura que, independientemente de si el programador usa o no transacciones en su código, en ningún caso la base de datos quedaría en un estado inconsistente debido a una ejecución parcial de comandos.

También ofrece otras muchas características avanzadas orientadas a mantener la integridad de la base de datos, como son los triggers, y ofrece soporte completo ACID (Atomicity Consistency Isolation Durability).

Bases de datos MySQL: Disponibles bajo sistema operativo Windows o Linux con nuestros productos Plan Empresarial, Servidor Virtual, Servidor Virtual Ecommerce y Servidor Virtual ISP o como Hosting Base de Datos MySQL.

MySQL tiene como principales características:

Su gran velocidad y su precio reducido. Es el servidor de bases de datos más rápido de todos los que ofrecemos y el de menor precio por MB.

MySQL es muy utilizado en aplicaciones PHP o Perl en servidores Linux. En general, si no necesita características como transacciones, procedimientos almacenados, triggers o sentencias SQL complejas, MySQL cumplirá la misma función que otras bases de datos más potentes, pero de forma más rápida y con un coste menor.

Para aplicaciones Windows, MySQL es una alternativa económica a SQL Server, pues su coste por MB es menor y además se puede aprovechar todo el espacio para datos, mientras que SQL Server necesita una parte del espacio para el log de transacciones.

Las limitaciones de MySQL vienen dadas por sus carencias respecto de los otros sistemas de bases de datos y por el grado de criticidad de su aplicación.

MySQL no es adecuada para aplicaciones críticas. Al no utilizar transacciones, un problema de cualquier tipo que interrumpiese una serie de comandos podría dejar su base de datos en un estado inconsistente, lo cual nunca ocurriría con SQL Server o PostgreSQL.

Tampoco tiene triggers por lo que no se pueden establecer reglas de integridad y consistencia a nivel de servidor.

Bases de datos PostgreSQL: Disponibles bajo sistema operativo Windows o Linux con nuestros productos Servidor Virtual, Servidor Virtual Ecommerce y Servidor Virtual ISP o como Hosting Base de Datos PostgreSQL.

Características:

PostgreSQL es el servidor de bases de datos de código abierto más potente que existe y es por tanto la alternativa a MySQL cuando se necesitan características avanzadas como transacciones, procedimientos almacenados, triggers, vistas, etc.

Es el servidor de bases de datos más utilizado por los programadores de servlets de Java y, en general, por todos aquellos que realizan aplicaciones cliente servidor complejas o críticas en el mundo Linux/Unix.

Para aplicaciones Windows, PostgreSQL es una alternativa económica a SQL Server, pues su coste por MB es menor y tiene similares prestaciones. Esta diferencia económica es especialmente sustancial si se necesita un Servidor Dedicado de bases de datos.

La mayor limitación de PostgreSQL viene dada por su velocidad: es el sistema de bases de datos más lento que ofrecemos.

No hay comentarios: