Se multihilo transacciones de bases de datos a través de la conexión multi-hilo-pooling?

SDO:

Escenario de ejemplo:

El uso de un threadpool en java donde cada hilo para crear una nueva conexión desde la ConnectionPool y luego todas las discusiones proceder a hacer una cierta transacción db en paralelo. Por ejemplo la inserción de 100 valores en la misma tabla.

Será este lío de alguna manera con la tabla de base de datos / o es completamente seguro y sin ningún tipo de sincronización requerida entre los hilos?


Me resulta difícil encontrar información fiable sobre este tema. Por lo que sé motores DB manejar esto por su cuenta / si es que lo (aparentemente PostgreSQL desde la versión 9.x). ¿Hay artículos bien escritos que explican más a fondo?

Bono pregunta: ¿Hay aún un punto para hacer uso de transacciones paralelas cuando la base de datos se ejecuta en un solo disco duro?

Ancoron:

Mientras la base de datos en sí está cumpliendo con ACID está bien (aunque de vez en cuando alguien encuentra un error en alguna situación realmente extraño).

A la pregunta de bonificación: para PostgreSQL lo hace totalmente tiene sentido siempre y cuando tenga algo de tiempo para recoger las transacciones simultáneas (aumento de valor para commit_delay ), que a su vez puede ayudar a O del / la combinación de disco en lotes. También hay otros parámetros de rendimiento de transacciones de sintonía, la mayoría de los cuales puede ser muy peligroso si D urability es una de sus principales preocupaciones.

También, por favor tenga en cuenta que el cliente de base de datos también tiene que hacer algún trabajo entre las llamadas bases de datos que, cuando se ejecutan secuencialmente, se acaba de añadir el tiempo de inactividad de la base de datos. Así que incluso en este caso, el paralelismo ayuda (siempre y cuando tenga los recursos reales para él (CPU, ...).

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=214802&siteId=1
Recomendado
Clasificación