Access en alta concurrencia
Hola Raul, mi nombre es Gonzalo y soy Chileno, sabes estoy completando un trabajo para la Universidad sobre Access (algo básico), pero uno de los tópicos que me dejó complicado es el relacionado con Access en ambientes de alta concurrencia, lo poco que he averiguado es que Access es limitado respecto de SQL y otros similares, en el fondo la pregunta apunta a comparar Access con otros programas similares y tiene un dejo de replicar la capacidad de esta herramienta para ser utilizada en red.
En resumen ¿Sabes tu sobre la capacidad de access para ambientes de alta concurrencia? ¿Cómo es respecto de otros programas similares?
De ante mano Muchas Gracias.
En resumen ¿Sabes tu sobre la capacidad de access para ambientes de alta concurrencia? ¿Cómo es respecto de otros programas similares?
De ante mano Muchas Gracias.
1 respuesta
Respuesta de raulmoscardo
1
1
Lo cierto es que si, algunas de las limitaciones son estas:
Tamaño de archivo de una base de datos de Microsoft Access (.mdb) 2 gigabytes. Sin embargo, debido a que la base de datos puede incluir tablas de otros archivos, su tamaño total sólo está limitado por la capacidad de almacenamiento disponible.
Número de objetos en una base de datos 32.768
Módulos (incluyendo formularios e informes con la propiedad TieneUnMóduloAsociado (HasModule) establecida a True) 1.000
Número de caracteres en un nombre de objeto 64
Número de caracteres en una contraseña 14
Número de caracteres en un nombre de usuario o de grupo 20
Número de usuarios que pueden tener acceso a la vez 255
Especificaciones acerca de la tabla de base de datos de Microsoft Access
Número de caracteres en un nombre de tabla 64
Número de caracteres en un nombre de campo 64
Número de campos en una tabla 255
Número de tablas abiertas 2.048. El número real puede ser menor debido a tablas que abre Microsoft Access internamente.
Tamaño de tabla 1 gigabyte
Número de caracteres en un campo de texto 255
Número de caracteres en un campo memo 65.535 cuando se introducen datos desde la interfaz de usuario;
1 gigabyte cuando se introducen datos mediante código.
Tamaño de un campo objeto OLE 1 gigabyte
Número de índices en una tabla 32
Número de campos en un índice 10
Número de caracteres en un mensaje de validación 255
Número de caracteres en una regla de validación 2.048
Número de caracteres en una descripción de tabla o campo 255
Número de caracteres en un registro (sin incluir los campos memo y objeto OLE) 2.000
Número de caracteres en la configuración de una propiedad 255
Especificaciones acerca de la consulta de base de datos de Microsoft Access
Número de relaciones forzadas 32 por tabla menos el número de índices que hay en la tabla para campos o combinaciones de campos que no forman parte de las relaciones
Número de tablas en una consulta 32
Número de campos en un conjunto de registros 255
Tamaño de un conjunto de registros 1 gigabyte
Límite para ordenar 255 caracteres en uno o más campos
Número de niveles de consultas anidadas 50
Número de caracteres en una celda de la cuadrícula de diseño de consulta 1.024
Número de caracteres para un parámetro en una consulta de parámetros 255
Número de AND en una cláusula WHERE o HAVING 40
Número de caracteres en una instrucción SQL aproximadamente 64.000
El etc. que continua seria muy largo de enumerar, de hecho creo que a partir de la versión 9.0 (la access 2000) ya ofrece la posibilidad de convertir una base de datos de Microsoft Access a Microsoft SQL Server, por entre otros motivos los siguientes:
Altos niveles de rendimiento y escalabilidad
En muchas situaciones, Microsoft SQL Server ofrece un rendimiento superior al de una base de datos de Access. SQL Server también admite bases de datos muy grandes con un tamaño de hasta 1 terabyte, que es muy superior al límite actual para una base de datos de Access establecido en 2 gigabytes. Finalmente, el funcionamiento de SQL Server en Microsoft Windows NT es muy eficaz porque se pueden procesar consultas en paralelo (mediante el empleo de varios subprocesos nativos dentro de un proceso único para tratar las solicitudes del usuario) y se minimizan las necesidades de memoria adicional cuando se agregan más usuarios
Mayor disponibilidad
Mediante el empleo de Microsoft SQL Server se puede realizar una copia de seguridad dinámica, ya sea incremental o completa, de la base de datos mientras se está utilizando. Por consiguiente, no es necesario exigir a los usuarios que salgan de la base de datos para realizar una copia de seguridad de los datos. Esto significa que la base de datos se puede estar ejecutando las veinticuatro horas del día y los siete días de la semana.
Mejora de la seguridad
Microsoft SQL Server se puede integrar con la seguridad del sistema operativo Windows NT para proporcionar un único inicio de sesión en la red y en la base de datos. Esto facilita en gran medida la administración de esquemas de seguridad complejos. Asimismo, una base de datos de SQL Server en un servidor goza de una mayor protección, dado que no es posible el acceso directo de usuarios no autorizados al archivo de base de datos sin antes obtener acceso al servidor
Capacidad de recuperación inmediata
Si se produce un fallo en el sistema (por ejemplo, un bloqueo del sistema operativo o un corte de suministro eléctrico), Microsoft SQL Server tiene un mecanismo que recupera en unos minutos una base de datos en su último estado de coherencia, sin la intervención del administrador de la base de datos. Las aplicaciones críticas se pueden recuperar y volver a ejecutar inmediatamente.
Transacciones y datos distribuidos de confianza
El procesamiento de transacciones es un requisito vital para un sistema que está diseñado para admitir aplicaciones críticas como, por ejemplo, operaciones bancarias y entrada de pedidos en pantalla. Microsoft SQL Server admite transacciones atómicas con registro de transacciones, con lo que se garantiza que todos los cambios realizados en una transacción se guardan o se revocan.
La coherencia y la capacidad de recuperación de una transacción de base de datos están garantizadas incluso si se produce un fallo en el sistema y en el transcurso de actualizaciones complejas por parte de más de un usuario. SQL Server trata todos los cambios de una base de datos dentro de una transacción como una sola unidad de trabajo. Por definición, una transacción completa bien se ejecuta de forma segura reflejándose todos los cambios resultantes en la base de datos, o bien se revoca deshaciéndose todos los cambios efectuados en la base de datos.
Mediante el empleo de un protocolo de ejecución de dos fases, SQL Server puede incluso admitir transacciones sincronizadas que comprendan más de un servidor, garantizando que todos los servidores de la red se mantengan en un estado coherente.
Procesamiento basado en el servidor
Microsoft diseñó Microsoft SQL Server desde el principio como una base de datos cliente/servidor. Los datos y los índices residen en un único equipo servidor al que obtienen acceso frecuentemente muchos equipos clientes a través de la red. SQL Server reduce el tráfico de red mediante el procesamiento de consultas de bases de datos en el servidor antes de enviar los resultados al cliente. De este modo, la aplicación cliente/servidor puede realizar el procesamiento en la mejor ubicación, es decir, en el servidor.
La aplicación también puede utilizar procedimientos almacenados y desencadenadores para centralizar y compartir lógica de aplicaciones, políticas y reglas corporativas, consultas complejas y código de validación de datos y de integridad referencial en el servidor, en lugar de en el cliente.
Como parece que Microsoft ya tenia claro todo esto, también admite la posibilidad de crear: Un proyecto de Microsoft Access (. ADP) es un nuevo tipo de archivo de Access que proporciona un acceso eficaz en modo nativo a una base de datos de Microsoft SQL Server mediante la arquitectura de componentes OLE DB. Mediante el uso de un proyecto de Access, se puede crear fácilmente una aplicación cliente/servidor.
El trabajo con un proyecto de Microsoft Access es muy similar al trabajo con una base de datos de Access. El proceso de crear formularios, informes, páginas de acceso a datos, macros y módulos es el mismo. Una vez establecida la conexión a una base de datos de SQL Server, se pueden ver, crear, modificar y eliminar tablas, vistas, procedimientos almacenados y diagramas de base de datos mediante la utilización de las herramientas de diseño de Microsoft SQL Server.
Actualizar datos y objetos mediante el empleo del Asistente para convertir a SQL Server El Asistente para convertir a SQL Server convierte una base de datos de Microsoft Access (.MDB) a una base de datos nueva o existente de Microsoft SQL Server 6.5 y 7.0 o a un proyecto nuevo de Microsoft Access (. ADP), mediante la conversión de datos y definiciones de datos y la transferencia de objetos de base de datos.
Lo cierto es que no puedo hacerte una comparativa exhaustiva, pero debes saber que entre el personal siempre hay continuas refriegas, y me refiero que para el que gusta de las bases de datos: DBase, Delphi, VisualFoxPro, MySQL, Access, FileMaker, etc..., al final llega la hora en que hay que decidir con cual se ha de trabajar, y esta claro que sobre gustos no hay nada escrito.
Tamaño de archivo de una base de datos de Microsoft Access (.mdb) 2 gigabytes. Sin embargo, debido a que la base de datos puede incluir tablas de otros archivos, su tamaño total sólo está limitado por la capacidad de almacenamiento disponible.
Número de objetos en una base de datos 32.768
Módulos (incluyendo formularios e informes con la propiedad TieneUnMóduloAsociado (HasModule) establecida a True) 1.000
Número de caracteres en un nombre de objeto 64
Número de caracteres en una contraseña 14
Número de caracteres en un nombre de usuario o de grupo 20
Número de usuarios que pueden tener acceso a la vez 255
Especificaciones acerca de la tabla de base de datos de Microsoft Access
Número de caracteres en un nombre de tabla 64
Número de caracteres en un nombre de campo 64
Número de campos en una tabla 255
Número de tablas abiertas 2.048. El número real puede ser menor debido a tablas que abre Microsoft Access internamente.
Tamaño de tabla 1 gigabyte
Número de caracteres en un campo de texto 255
Número de caracteres en un campo memo 65.535 cuando se introducen datos desde la interfaz de usuario;
1 gigabyte cuando se introducen datos mediante código.
Tamaño de un campo objeto OLE 1 gigabyte
Número de índices en una tabla 32
Número de campos en un índice 10
Número de caracteres en un mensaje de validación 255
Número de caracteres en una regla de validación 2.048
Número de caracteres en una descripción de tabla o campo 255
Número de caracteres en un registro (sin incluir los campos memo y objeto OLE) 2.000
Número de caracteres en la configuración de una propiedad 255
Especificaciones acerca de la consulta de base de datos de Microsoft Access
Número de relaciones forzadas 32 por tabla menos el número de índices que hay en la tabla para campos o combinaciones de campos que no forman parte de las relaciones
Número de tablas en una consulta 32
Número de campos en un conjunto de registros 255
Tamaño de un conjunto de registros 1 gigabyte
Límite para ordenar 255 caracteres en uno o más campos
Número de niveles de consultas anidadas 50
Número de caracteres en una celda de la cuadrícula de diseño de consulta 1.024
Número de caracteres para un parámetro en una consulta de parámetros 255
Número de AND en una cláusula WHERE o HAVING 40
Número de caracteres en una instrucción SQL aproximadamente 64.000
El etc. que continua seria muy largo de enumerar, de hecho creo que a partir de la versión 9.0 (la access 2000) ya ofrece la posibilidad de convertir una base de datos de Microsoft Access a Microsoft SQL Server, por entre otros motivos los siguientes:
Altos niveles de rendimiento y escalabilidad
En muchas situaciones, Microsoft SQL Server ofrece un rendimiento superior al de una base de datos de Access. SQL Server también admite bases de datos muy grandes con un tamaño de hasta 1 terabyte, que es muy superior al límite actual para una base de datos de Access establecido en 2 gigabytes. Finalmente, el funcionamiento de SQL Server en Microsoft Windows NT es muy eficaz porque se pueden procesar consultas en paralelo (mediante el empleo de varios subprocesos nativos dentro de un proceso único para tratar las solicitudes del usuario) y se minimizan las necesidades de memoria adicional cuando se agregan más usuarios
Mayor disponibilidad
Mediante el empleo de Microsoft SQL Server se puede realizar una copia de seguridad dinámica, ya sea incremental o completa, de la base de datos mientras se está utilizando. Por consiguiente, no es necesario exigir a los usuarios que salgan de la base de datos para realizar una copia de seguridad de los datos. Esto significa que la base de datos se puede estar ejecutando las veinticuatro horas del día y los siete días de la semana.
Mejora de la seguridad
Microsoft SQL Server se puede integrar con la seguridad del sistema operativo Windows NT para proporcionar un único inicio de sesión en la red y en la base de datos. Esto facilita en gran medida la administración de esquemas de seguridad complejos. Asimismo, una base de datos de SQL Server en un servidor goza de una mayor protección, dado que no es posible el acceso directo de usuarios no autorizados al archivo de base de datos sin antes obtener acceso al servidor
Capacidad de recuperación inmediata
Si se produce un fallo en el sistema (por ejemplo, un bloqueo del sistema operativo o un corte de suministro eléctrico), Microsoft SQL Server tiene un mecanismo que recupera en unos minutos una base de datos en su último estado de coherencia, sin la intervención del administrador de la base de datos. Las aplicaciones críticas se pueden recuperar y volver a ejecutar inmediatamente.
Transacciones y datos distribuidos de confianza
El procesamiento de transacciones es un requisito vital para un sistema que está diseñado para admitir aplicaciones críticas como, por ejemplo, operaciones bancarias y entrada de pedidos en pantalla. Microsoft SQL Server admite transacciones atómicas con registro de transacciones, con lo que se garantiza que todos los cambios realizados en una transacción se guardan o se revocan.
La coherencia y la capacidad de recuperación de una transacción de base de datos están garantizadas incluso si se produce un fallo en el sistema y en el transcurso de actualizaciones complejas por parte de más de un usuario. SQL Server trata todos los cambios de una base de datos dentro de una transacción como una sola unidad de trabajo. Por definición, una transacción completa bien se ejecuta de forma segura reflejándose todos los cambios resultantes en la base de datos, o bien se revoca deshaciéndose todos los cambios efectuados en la base de datos.
Mediante el empleo de un protocolo de ejecución de dos fases, SQL Server puede incluso admitir transacciones sincronizadas que comprendan más de un servidor, garantizando que todos los servidores de la red se mantengan en un estado coherente.
Procesamiento basado en el servidor
Microsoft diseñó Microsoft SQL Server desde el principio como una base de datos cliente/servidor. Los datos y los índices residen en un único equipo servidor al que obtienen acceso frecuentemente muchos equipos clientes a través de la red. SQL Server reduce el tráfico de red mediante el procesamiento de consultas de bases de datos en el servidor antes de enviar los resultados al cliente. De este modo, la aplicación cliente/servidor puede realizar el procesamiento en la mejor ubicación, es decir, en el servidor.
La aplicación también puede utilizar procedimientos almacenados y desencadenadores para centralizar y compartir lógica de aplicaciones, políticas y reglas corporativas, consultas complejas y código de validación de datos y de integridad referencial en el servidor, en lugar de en el cliente.
Como parece que Microsoft ya tenia claro todo esto, también admite la posibilidad de crear: Un proyecto de Microsoft Access (. ADP) es un nuevo tipo de archivo de Access que proporciona un acceso eficaz en modo nativo a una base de datos de Microsoft SQL Server mediante la arquitectura de componentes OLE DB. Mediante el uso de un proyecto de Access, se puede crear fácilmente una aplicación cliente/servidor.
El trabajo con un proyecto de Microsoft Access es muy similar al trabajo con una base de datos de Access. El proceso de crear formularios, informes, páginas de acceso a datos, macros y módulos es el mismo. Una vez establecida la conexión a una base de datos de SQL Server, se pueden ver, crear, modificar y eliminar tablas, vistas, procedimientos almacenados y diagramas de base de datos mediante la utilización de las herramientas de diseño de Microsoft SQL Server.
Actualizar datos y objetos mediante el empleo del Asistente para convertir a SQL Server El Asistente para convertir a SQL Server convierte una base de datos de Microsoft Access (.MDB) a una base de datos nueva o existente de Microsoft SQL Server 6.5 y 7.0 o a un proyecto nuevo de Microsoft Access (. ADP), mediante la conversión de datos y definiciones de datos y la transferencia de objetos de base de datos.
Lo cierto es que no puedo hacerte una comparativa exhaustiva, pero debes saber que entre el personal siempre hay continuas refriegas, y me refiero que para el que gusta de las bases de datos: DBase, Delphi, VisualFoxPro, MySQL, Access, FileMaker, etc..., al final llega la hora en que hay que decidir con cual se ha de trabajar, y esta claro que sobre gustos no hay nada escrito.
Raul, una última cosita... alta concurrencia, significa que muchos usuarios interactúan simultáneamente ¿no? ¿Cuántos usuarios pueden conectarse o utilizar los recursos mediante Access de una base en un servidor?
Si sonó muy enredado disculpa...
Gracias de antemano.
Si sonó muy enredado disculpa...
Gracias de antemano.
Si hablamos de access en un servidor el Número de usuarios que pueden tener acceso a la vez es 255, aunque esto también está relacionado con como "Especificar valores multiusuario/ODBC de intervalo de actualización y número de reintentos en una base de datos de Access". Si necesitáramos más de 255 peticiones de conexión al mismo tiempo, habría que pensar en convertir la base de datos a SQL Server.
- Compartir respuesta
- Anónimo
ahora mismo