Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Un viaje en el tiempo Leonel Abreu
Un viaje en el tiempo
2
BIG Thanks to SQLSatMadrid sponsors
3
Agenda ¿Que es una tabla temporal? Son útiles para Como implementarlas
Ventajas y como utilizarlas Son útiles para Efectos de auditoria Disaster Recovery Análisis de Datos Como implementarlas Escenario y demo
4
Que es una tabla temporal?
Tambien System Versioned Mantienen cambios Solamente un par de columnas mas Para definer períodos También una segunda tabla La que contendrá la historia
5
Ventajas Seguridad Fácil de mantener Puede ser utilizada
No es possible hacer cambios en los históricos Fácil de mantener Porque no se require codificación adicional Puede ser utilizada En tablas nuevas En tablas existentes
6
¿Por qué utilizarlas? Auditoria Viaje en el tiempo Recovery
Se guardan los registros que sufren cambios Viaje en el tiempo Estado de los datos tal como estaban en el pasado Recovery Cambios accidentales como DELETE no deseados
7
¿Por qué utilizarlas? Cálculos También BI Esquema incluido
Tendencias en el tiempo También BI Porque pueden ser utilizadas como SCD Esquema incluido Si la estructura de la tabla sufre cambios, también se registra.
8
¿Por qué utilizarlas? Los datos cambian contantemente Workarounds son…
Los datos históricos pueden ser críticos para el éxito del negocio Los enfoques tradicionales no proporcionan información 100% confiable Workarounds son… Complejos, costosos, limitados, inflexibles, ineficientes SQL Server 2016 hace la vida fácil No hay que hacer cambios en código Tal cómo estaba Auditoría Slowly Changing Dimensions Recovery Source:
9
Sin cambios en la programación
Por donde comenzar? Sin cambios en la programación Nuevo enfoque FOR SYSTEM_TIME AS OF FROM..TO BETWEEN..AND CONTAINED IN Temporal Querying CREATE temporal TABLE PERIOD FOR SYSTEM_TIME… ALTER regular_table TABLE ADD PERIOD… DDL INSERT / BULK INSERT UPDATE DELETE MERGE DML SELECT * FROM temporal Querying Source:
10
¿Cómo funcionan? * Viejos Update */ Delete * Insert / Bulk Insert
Tabla Temporal (data actual) Tabla histórica * Viejos Source: Update */ Delete * Insert / Bulk Insert
11
¿Cómo funcionan? El mismo query Temporal Queries * (Time travel,etc.)
Tabla Temporal (data actual) Tabla histórica Versión histórica Source: El mismo query Temporal Queries * (Time travel,etc.)
12
“Get actual row versions”
Sólo nuevas cláusulas Department (current) Department (current + history) “Get actual row versions” AS OF BETWEEN..AND CONTAINED IN DepNum DepName MngrID From To A001 Marketing 6 2008 ∞ A002 Sales 5 2007 DepNum DepName MngrID A001 Marketing 5 6 A002 Sales 2 A003 Consulting 10 A001 ∞ A001 Department (history) A002 DepNum DepName MngrID From To A001 Marketing 5 2005 2008 A002 Sales 2 2007 A003 Consulting 6 2006 10 2009 2012 ∞ A002 A003 A003 Source: 2005 2015 SELECT * FROM Department SELECT * FROM Department FOR SYSTEM_TIME AS OF ' ' SELECT * FROM Department FOR SYSTEM_TIME BETWEEN ' ' AND ' ' SELECT * FROM Department FOR SYSTEM_TIME CONTAINED IN (' ', ' ') Período de validez Tiempo actual
13
Azure SQL Database SELECT * FROM Department FOR SYSTEM_TIME
Hechos: Las tablas históricas son mucho más pesadas que las actuales Retención (políticas del negocio) “Warm”: consultada muy seguido “Cold”: rara vez consultada SELECT * FROM Department FOR SYSTEM_TIME AS OF ' ' Otra opción: Stretch a la table histórica: PeriodEnd < “Ahora - 6 meses” Azure SQL Database Source:
14
demo
15
SQLDay 2017 Q & A
16
Información Adicional
Querying Data in a System-Versioned Temporal Table Modifying Data in a System-Versioned Temporal Table Changing the Schema of a System-Versioned Temporal Table
17
Sponsor sessions at 11:40 Don’t miss them, they might be getting distributing some awesome prizes! Plainconcepts SolidQ KABEL & Corent Also XBOX One & Raffle prizes at 17:30
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.