Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Redundancia: Job vs Trigger vs SP

Estas en el tema de Redundancia: Job vs Trigger vs SP en el foro de SQL Server en Foros del Web. Estimados, como andan. Estoy realizando un trabajo de reingeniería de base de datos en SQL Server. El proceso consiste en desarmar grandes tablas y generar ...
  #1 (permalink)  
Antiguo 22/11/2018, 06:20
Avatar de Huasi  
Fecha de Ingreso: mayo-2007
Mensajes: 81
Antigüedad: 12 años
Puntos: 2
Redundancia: Job vs Trigger vs SP

Estimados, como andan.
Estoy realizando un trabajo de reingeniería de base de datos en SQL Server.
El proceso consiste en desarmar grandes tablas y generar tablas mas pequeñas donde se reparta la misma información.
La necesidad surge a raíz del crecimiento desenfrenado del negocio.
Trabajo con unas 200 bases de datos que poseen la misma estructura, se le asigna una a cada cliente. Hay 3 tablas que son críticas y generan aproximadamente 300000 registros diarios cada una.
Para que se den una idea, el count para una de ellas me devuelve 178098907 registros y tiene almacenada información de dos años hacia atrás. Los datos mas antiguos están backupeados y se montan bajo demandas puntuales.

De manera resumida, tenemos Tabla1 que posee 200 millones de registros y genera 300000 registros diarios.
Entre sus columnas hay una llamada categoría y maneja tres valores: A, B y C.
La primer parte consiste en generar Tabla1A, Tabla1B y Tabla1C.

Como todos los procesos del sistema apuntan a Tabla1, esta primer parte consiste solamente en alimentar cada una de las nuevas tablas generadas y más adelante distribuir las tareas del transaccional sobre las tablas nuevas.

Ya tengo el script para repartir los 200 millones de datos en las tres nuevas tablas.
La consulta que me trae por aquí es sobre los 300000 datos que se escriben a diario.
Es conveniente:
  • Generar un Job que se ejecute una vez al día cada madrugada, que lea los 300000 datos que se generaron y los escriba en las tablas nuevas
  • Modificar el SP que alimenta Tabla1 para que por cada escritura que se realiza haga la réplica en la correspondiente tabla nueva
  • Crear un Trigger for Insert que al momento que se realice una escritura en Tabla1 replique en la tabla nueva correspondiente

Por mi parte la opción del Job me parece la peor ya que voy a contar con los datos un día después, pero la ventaja que obtengo es que no haría mas pesado el transaccional.
Aguardo por sus consejos.

Saludos
  #2 (permalink)  
Antiguo 26/02/2019, 09:19
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.375
Antigüedad: 12 años, 9 meses
Puntos: 767
Respuesta: Redundancia: Job vs Trigger vs SP

Has pensado en utilizar replicacion?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 21/03/2019, 09:41
 
Fecha de Ingreso: octubre-2007
Ubicación: VEVLN
Mensajes: 223
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Redundancia: Job vs Trigger vs SP

conoces el concepto de Data Warehouse ???
creo que es lo que necesitas
  #4 (permalink)  
Antiguo 14/05/2019, 06:47
Avatar de Huasi  
Fecha de Ingreso: mayo-2007
Mensajes: 81
Antigüedad: 12 años
Puntos: 2
Respuesta: Redundancia: Job vs Trigger vs SP

Libras, se tuvo en cuenta pero el costo era muy alto y no era la mejor solución al problema
dorvax, conozco pero se trata de un sistema transaccional por lo cual no aplica.

Lo solucioné regenerando la tabla e índice bajo una estructura particionada, para ello hubo que actualizar la versión de SQL Server.

En otro post les voy a consultar sobre estas cuestiones.

Saludos



La zona horaria es GMT -6. Ahora son las 00:54.