general

bases de datos.general

información sobre alojamiento de bbdd en nuestros servidores

Tengo una página en mi espacio web que accede a una base de datos y tarda mucho tiempo en ejecutarse ¿A qué puede ser debido?

Esta situación puede deberse a algunos de los siguientes casos:

  • Su pagina realiza una consulta a la base de datos, en la que se devuelve un gran número de registros.
  • Su página realiza una ordenacion de la consulta (sentencia ORDER BY) y la tabla no esta indexada.
  • Su página realiza una agrupación de la consulta (sentencia GROUP BY) y la tabla no esta indexada.
  • Está haciendo una query sobre la totalidad de los registros de la tabla pero muestra sólo algunos, bien en la query (sentencia HAVING), bien con programación.
  • Después de obtener los datos puede tener programación que manipule los datos de forma redundante y/o inadecuada.

Estos casos pueden a hacer que su página tarde un tiempo excesivo en mostrarse al usuario, o incluso a no terminar de ejecutarse y devolver un “timeout”.

Existen muchas formas de llevar a cabo una tarea determinada, pero no todas estas formas son igual de óptimas.

Si observa lentitud en sus páginas, considere revisar los casos anteriores.

Recuerde que los servidores instalados en Nora son servidores de producción, no de desarrollo.

¿Cómo accedo a una base de datos alojada desde mi plan con denominación -windows?

En los planes de alojamiento con denomniación “windows”, pro-windows, adicional-windows, la conexión con las bases de datos access pueden hacerse de la siguiente forma:

<%
set oConex = Server.CreateObject(“ADODB.Connection”)
set rs = Server.CreateObject(“ADODB.Recordset”)
database = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.MapPath(“”) & “..dbnombre_database.mdb”
oConex.Open database
%>

Si está trabajando con veriones de access 2007 o posteriores, la cadena de conexión tiene que ser:

<%
set oConex = Server.CreateObject(“ADODB.Connection”)
set rs = Server.CreateObject(“ADODB.Recordset”)
database = “Provider=Microsoft.ACE.OleDb.12.0;Data Source=” & Server.MapPath(“”) & “..dbnombre_database.accdb”
oConex.Open database
%>

NOTA: nombre_database.mdb y nombre_database.accdb es el nombre de la base de datos con la que quiere conectar. utilice ..db si ha alojado la base de datos en la carpeta db de su plan.

¿Cómo actualizo las bases de datos alojadas en los servidores?

La actualización de las bases de datos alojadas en los servidores, puede hacerse de dos formas :

  • mediante la herramienta disponible en el panel de configuración a tal efecto (descargando directamente desde su disco al servidor los archivos actualizados)
  • conectando por FTP con una cuenta que tenga habilitado permiso para acceder a la carpeta /db en el espacio en disco.

Es aconsejable que realice periodicamente copias de seguridad en su disco u otros medios de las bases de datos alojadas en el servidor.

¿Cómo modifico mis ficheros de bases de datos?

En ocasiones es necesario actualizar la base de datos de nuestro plan hosting, por ejemplo un *.MDB de access, con una nueva versión (crea o elimina tablas, etc), o una modificación en tablas MySQL.

Si realiza cambios críticos en bases de datos al mismo tiempo que su web esta recibiendo visitas que realizan consultas/inserciones a la base de datos, sus páginas de acceso a bases de datos dejarán de funcionar correctamente bloqueando su web.

El sistema de accesos a bases de datos “Microsoft Jet Engine” por ejemplo, mantiene un fichero con los bloqueos de registros en un momento dado. Otros sistemas, cachean la información a la que se está accediendo.

Para actualizar sus ficheros de bases de datos de forma segura, y evitar que el sistema se bloquee, deberá implementar en sus paginas algun tipo de control para saber en que momento va a realizar la actualización de ficheros, y durante el tiempo que tarde su upload por ftp o por el panel de configuración, phpmyadmin, etc, evitar que usuarios de internet accedan a los datos.

Esquematicamente, el proceso es como sigue:

¿están los accesos a bases de datos bloqueados?
NO -> Procesar la pagina HTML (ASP, PHP, etc) normalmente
SI -> Redirecionar al visitante a una pagina de cortesía donde le avise de la pausa por mantenimiento.

¿Cómo implementar un control para saber si las páginas han de bloquearse?
Puede utilizar cualquier sistema lógico que se le ocurra, le apuntamos varias posibilidades:

Opción 1.) si utiliza páginas ASP defina una variable al principio de su global.asa que le indique si ha de bloquear los accesos o no. Antes de realizar la actualización de base de datos, modifique la variable a 1 para indicar que se han de bloquear, actualice la base de datos, y vuelva a enviar un global.asa con la variable a 0. En el código del este global.asa, compruebe siempre el estado de la variable y si esta a 1, redireccione al visitante a la página de cortesía.

Opción 2.) puede realizar igualmente un control a través de un fichero colocado en su web, si existe el fichero, redireccione a los visitantes, si no existe, continúe con el proceso normal.

Opción 3.) … cualquier solución de programación que evite que se acceda a la base de datos mientras cambia los ficheros de la base de datos.

Tenga en cuenta que TODAS sus paginas con accesos a bases de datos han de realizar el control, o de otra forma, aparecerán efectos secundarios no deseables debido a la imposibilidad de acceder correctamente a las bases de datos.

El escenario descrito en esta FAQ es extensivo a otros sistemas de base de datos distintos a ACCESS, y puede funcionar igualmente en otro tipo de paginas HTML (CFM, PHP, etc).

NOTA: Además de seguir todo este proceso para la actualización de sus ficheros de bases de datos, es recomendable que SIEMPRE se asegure de que los mismos han sido actualizados correctamente.

¿Cómo se accede a una base de datos alojada, desde páginas web?

Para acceder a las bases de datos desde páginas web y realizar operaciones (insertar, consulta, borrar) sobre los registros es preciso que programe las páginas en una tecnología orientada al uso de bases de datos.

Las tecnologías actualmente soportadas en los servidores son :
— ASP estándar, de Microsoft
— ColdFusion, de Macromedia

Si necesita usar otra tecnología o precisa mas información, contacte con el comercial

* Acceso a las bases de datos *
La bases de datos alojadas se acceden a través de conectores ODBC. Este sistema permite acceder a la base de datos sin importar su ubicación física en el servidor. El sistema usa el lenguaje estandar de interrogación de bases de datos SQL.

Una vez ha descargado en la carpeta “/db” de su espacio las bases de datos y ha creado el correspondiente conector ODBC con una configuración dada, en su panel de configuración ya puede confeccionar páginas web para acceder a las bases de datos.

El conector ODBC o DSN (Data Source Name) es único para cada base de datos alojada en su plan hosting Puede elegir el nombre que desee para cada conector de bases de datos.

* Ejemplo de página ASP accediendo a bases de datos que muestra el primer registro:*

<%
Dim oConex, rs, SQL
set oConex = Server.CreateObject(“ADODB.Connection”)
set rs = Server.CreateObject(“ADODB.Recordset”)
oConex.Open “DSN=CODIGO101001″
‘ Consulta una supuesta tabla de nombre “tabla”
SQL=”SELECT * FROM tabla”
rs.Open SQL, oConex

response.write rs(0)

‘ se cierra la conexion
rs.Close
oConex.Close
set rs=nothing
set oConex=nothing
%>

Nota :
en la cuarta línea se sustituye CODIGO101001 por el nombre del conector ODBC que haya asignado a esa base de datos en su panel de configuración.

¿Cómo utilizo bases de datos en mi plan hosting?

Primero asegúrese que su plan hosting permite el alojamiento de bases de datos. Consulte nuestro web comercial para más información.

Si su plan hosting permite uso y alojamiento de bases de datos, en su panel de configuración seleccione ese plan hosting y observe que en el menú de la izquierda aparecerá “ODBC” Desde ese menú podrá realizar la descarga y configuración de las bases de datos dentro su espacio en disco.

Recuerde el mantenimiento de las bases de datos puede hacerse :
— Mediante la herramienta habilitada en su propio panel de configuración (menú “Archivos”)
— Conectando con una cuenta FTP que tenga habilitado permiso para acceder a la carpeta “/db” dentro del espacio para su plan hosting.

¿Qué tipos de bases de datos se soportan?

Con los planes hosting es posible alojar y utilizar :

  • Microsoft Access
  • SQL Server
  • MySQL Server

Por razones de seguridad y compatibilidad no se soportan otros tipos de bases de datos. No obstante si precisa usar otro formato de bases de datos contacte con el departamento comercial

 

Si no ha encontrado respuesta a su consulta técnica utilice el siguiente formulario para plantearnos su pregunta.