Autor
|
Tema: Acceso exclusivo a BBDD (Leído 2,029 veces)
|
Ikku
Desconectado
Mensajes: 42
|
Hola,
Recientemente en mi trabajo están teniendo problemas a la hora de acceder a una base de datos, según ven dos aplicaciones acceden al mismo tiempo con consultas muy pesadas y se está planteando si una puede bloquear a la otra.
La duda que me surge es, se supone que cada aplicación genera una transacción no? y cuando acabe esta se incluye en la base de datos. Si yo la aplicación A hace una transacción de 9000 updates y la segunda también hace 5000 updates sobre los mismos elementos de esa tabla. Tiene que esperar a que termine la primera transacción para que se pueda incluir la segunda?
En ese caso, la transacción queda incluida en la BBDD y el programa sigue su ejecución sin esperar o tiene que esperar confirmación de que ha terminado la query para poder continuar?
Gracias Un saludo
|
|
|
En línea
|
|
|
|
lord_Sirikon
Desconectado
Mensajes: 151
Es sólo el silencio que precede a la tormenta.
|
Creo que...
Las transacciones son tratadas completamente de una en una cuando afectan a la misma tabla.
Por ejemplo: Hacemos desde la aplicación A una orden en la que borra una línea de la tabla, mientras que desde la aplicación B estamos ordenando de que modifique un dato en ésa línea.
Teniendo en cuenta que la base de datos primero comprueba si la operación se puede realizar y si se puede realizar la realiza...
A enviará la orden, y después de ser validada y antes de ser escrita, llega la orden de la aplicación B, la cual, como todavía no se ha borrado la línea, dará por válida y dará luz verde a ser escrita, justo después de eso la orden A elimina esa línea y posteriormente B intenta modificar esta línea, pero ya no existe por lo que daría un error grave y se petaría la base de datos.
Es por eso que las transacciones al llegar se comprueban si están bien escritas, si se pueden hacer, y después de ser realizadas y avisar al cliente de que se han realizado correctamente, no procesa la siguiente transacción.
En resumen: 1.- Sí tiene que esperar a terminar la primera transacción para incluir la segunda 2.- El programa espera la confirmación de que es query ha sido finalizada para poder procesar la siguiente
Esto que he dicho aquí podría no ser del todo cierto, espero haber ayudado en vez de haberlo liado más.
PD: Si el ordenador que lleva la base de datos en la empresa no es muy potente o no es especializado para servidores, hay que tener en cuenta que si son realmente 9000 updates de una vez pues no es algo ligero de manejar para un ordenador que no esté preparado así que las relentizaciones serían normales.
Saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Exclusivo Emulador de NES PARA MOVILES
Juegos y Consolas
|
olivermf1
|
9
|
16,118
|
11 Junio 2008, 21:02 pm
por sagitario18
|
|
|
Un problema exclusivo para Ingenieros...
« 1 2 3 »
Foro Libre
|
???
|
26
|
9,560
|
6 Mayo 2011, 20:15 pm
por Zamarronstein
|
|
|
Acceso BBDD desde fuera del main
Java
|
Baal_30
|
1
|
1,924
|
31 Mayo 2015, 17:00 pm
por Baal_30
|
|
|
Servidor gratuito con XAMP para acceso a BBDD
Desarrollo Web
|
Baal_30
|
6
|
3,615
|
16 Junio 2015, 21:29 pm
por Baal_30
|
|
|
Así de impresionante es jugar a Quake Champions, exclusivo de PC
Noticias
|
wolfbcn
|
0
|
1,267
|
5 Agosto 2016, 14:54 pm
por wolfbcn
|
|