SlideShare a Scribd company logo
1 of 11
Download to read offline
TINTIN
TINTIN
A Tool for INcremental INTegrity checking
of SQL assertions in SQLServer
Xavier Oriol, Ernest Teniente, Guillem Rull
TINTIN
Motivating Example: movies domain
Assume the business rule (SLA, constraint, condition to monitor, …):
Any famous director has directed some award-winning movie
Steven Spielberg Jurassic Park (I) Visual Effects
directed won
name: String
Person
*1..*
FamousDirector
*
Directs Winstitle: String
releasedYear: Integer
Movie
name: String
Award
*
TINTIN
How can we check this constraint?
Manually programming an efficient solution is difficult
Deleting an award-winning movie from DB
causes a violation…
… unless in the DB there is another
award-winning movie directed by the
same director…
… or there is an insertion of a new movie …
… or the director is being deleted as a famous
director
… which should be award-winning and by the same
director…
… such that it is not being deleted in
the same transaction too…
Manual programming = Are you sure you
are taking all cases into account?
TINTIN
How can we check this constraint?
Running a query looking for the violations
Select * from FamousDirector as FD
where not exists (Select * from Directs as D
join Wins as W on (D.movie_id = W.movie_id)
where D.person_id = FD.id)
Writing a query returning any famous director who has not directed an
award-winning movie. Empty query = constraint satisfaction
Problem: bad performance
Running the query = checking all the data
If we delete ‘Jurassic Park’ from DB, and run the
query, it will search for award-winning movies for all
famous directors...
… but the unique relevant one to check is Spielberg!
TINTIN
We need an automatic method for
Checking only those parts of the data that might violate our defined
constraints taking in account the update being applied
In other words, we need
an Incremental method for consistency checking
This is exactly what we provide with TINTIN
TINTIN
TINTIN – A Quick DEMO
1. Connect TINTIN to your (SQL Server) DB
TINTIN
TINTIN – A Quick DEMO
1. Connect TINTIN to your DB
2. Write your assertions into TINTIN
TINTIN
TINTIN – A Quick DEMO
1. Connect TINTIN to your DB
2. Write your assertions into TINTIN
3. Use your DB normally. Just recall to call safeCommit() at
the end of your transactions
TINTIN
Scalability experiment
We have used the TPC-H benchmark, a benchmark for illustrating
decision support systems which examines large volumes of data.
- Current data = 1GB * SF
- Data updates = 1MB * SF
*Nim = Non Incremental Approach
TINTIN
What does it support?
It supports any relational algebra constraint
What do we plan to support in the future?
SQL distributive aggregates & arithmetic functions
General conclusion:
Given a semantic description of the domain, we are able to
generate code automatically (and also to reason about it)
TINTIN
Thanks for
your attention
Questions?

More Related Content

Similar to TINTIN A Tool for INcremental INTegrity checking of SQL assertions in SQLServer

Shift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with AnsibleShift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with AnsibleJürgen Etzlstorfer
 
That Conference 2017: Refactoring your Monitoring
That Conference 2017: Refactoring your MonitoringThat Conference 2017: Refactoring your Monitoring
That Conference 2017: Refactoring your MonitoringJamie Riedesel
 
Run stuff, Deploy Stuff
Run stuff, Deploy StuffRun stuff, Deploy Stuff
Run stuff, Deploy StuffKris Buytaert
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPeter Bittner
 
How can you deliver a secure product
How can you deliver a secure productHow can you deliver a secure product
How can you deliver a secure productMichael Furman
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite EditionKris Buytaert
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertMykola Marzhan
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your InfrastructureKris Buytaert
 
Monitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code AgeKris Buytaert
 
Agile Data: revolutionizing data and database cloning
Agile Data: revolutionizing data and database cloningAgile Data: revolutionizing data and database cloning
Agile Data: revolutionizing data and database cloningKyle Hailey
 
Behaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About TestingBehaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About Testingdn
 
Bdd and-testing
Bdd and-testingBdd and-testing
Bdd and-testingmalcolmt
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with PuppetKris Buytaert
 
Challenges of Agile Qualification
Challenges of Agile QualificationChallenges of Agile Qualification
Challenges of Agile QualificationAdaCore
 
OSB190: What's New in Xtraction
OSB190: What's New in XtractionOSB190: What's New in Xtraction
OSB190: What's New in XtractionIvanti
 
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...Amazon Web Services
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsIntel® Software
 

Similar to TINTIN A Tool for INcremental INTegrity checking of SQL assertions in SQLServer (20)

Shift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with AnsibleShift-left SRE: Self-healing on OpenShift with Ansible
Shift-left SRE: Self-healing on OpenShift with Ansible
 
That Conference 2017: Refactoring your Monitoring
That Conference 2017: Refactoring your MonitoringThat Conference 2017: Refactoring your Monitoring
That Conference 2017: Refactoring your Monitoring
 
Run stuff, Deploy Stuff
Run stuff, Deploy StuffRun stuff, Deploy Stuff
Run stuff, Deploy Stuff
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development Dnvironment
 
How can you deliver a secure product
How can you deliver a secure productHow can you deliver a secure product
How can you deliver a secure product
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
Continous Delivery of your Infrastructure
Continous Delivery of your InfrastructureContinous Delivery of your Infrastructure
Continous Delivery of your Infrastructure
 
Dod is not done
Dod is not doneDod is not done
Dod is not done
 
Monitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code AgeMonitoring in an Infrastructure as Code Age
Monitoring in an Infrastructure as Code Age
 
Agile Data: revolutionizing data and database cloning
Agile Data: revolutionizing data and database cloningAgile Data: revolutionizing data and database cloning
Agile Data: revolutionizing data and database cloning
 
Intuit Analytics Cloud 101
Intuit Analytics Cloud 101Intuit Analytics Cloud 101
Intuit Analytics Cloud 101
 
Behaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About TestingBehaviour Driven Development and Thinking About Testing
Behaviour Driven Development and Thinking About Testing
 
Bdd and-testing
Bdd and-testingBdd and-testing
Bdd and-testing
 
Asi Chap008
Asi Chap008Asi Chap008
Asi Chap008
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
Challenges of Agile Qualification
Challenges of Agile QualificationChallenges of Agile Qualification
Challenges of Agile Qualification
 
OSB190: What's New in Xtraction
OSB190: What's New in XtractionOSB190: What's New in Xtraction
OSB190: What's New in Xtraction
 
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
Automating Security and Compliance Testing of Infrastructure-as-Code for DevS...
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® Graphics
 

More from BPM Conference España

Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...
Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...
Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...BPM Conference España
 
CHIEF: Herramienta para la Creación Automática de Procesos Coreografiados
CHIEF: Herramienta para la Creación Automática de Procesos CoreografiadosCHIEF: Herramienta para la Creación Automática de Procesos Coreografiados
CHIEF: Herramienta para la Creación Automática de Procesos CoreografiadosBPM Conference España
 
Automatización del cálculo de los niveles de servicio mediante el análisis de...
Automatización del cálculo de los niveles de servicio mediante el análisis de...Automatización del cálculo de los niveles de servicio mediante el análisis de...
Automatización del cálculo de los niveles de servicio mediante el análisis de...BPM Conference España
 
Analítica de negocio centrada en el comportamiento de los clientes en sistema...
Analítica de negocio centrada en el comportamiento de los clientes en sistema...Analítica de negocio centrada en el comportamiento de los clientes en sistema...
Analítica de negocio centrada en el comportamiento de los clientes en sistema...BPM Conference España
 
El papel clave de los procesos en la necesaria Transformación Digital
El papel clave de los procesos en la necesaria Transformación DigitalEl papel clave de los procesos en la necesaria Transformación Digital
El papel clave de los procesos en la necesaria Transformación DigitalBPM Conference España
 
Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...
Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...
Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...BPM Conference España
 
Descubriendo nuevas lineas de investigación mediante Mineria de procesos
Descubriendo nuevas lineas de investigación mediante Mineria de procesosDescubriendo nuevas lineas de investigación mediante Mineria de procesos
Descubriendo nuevas lineas de investigación mediante Mineria de procesosBPM Conference España
 

More from BPM Conference España (7)

Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...
Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...
Análisis de procesos quirúrgicos mediante Process Mining y sistemas de locali...
 
CHIEF: Herramienta para la Creación Automática de Procesos Coreografiados
CHIEF: Herramienta para la Creación Automática de Procesos CoreografiadosCHIEF: Herramienta para la Creación Automática de Procesos Coreografiados
CHIEF: Herramienta para la Creación Automática de Procesos Coreografiados
 
Automatización del cálculo de los niveles de servicio mediante el análisis de...
Automatización del cálculo de los niveles de servicio mediante el análisis de...Automatización del cálculo de los niveles de servicio mediante el análisis de...
Automatización del cálculo de los niveles de servicio mediante el análisis de...
 
Analítica de negocio centrada en el comportamiento de los clientes en sistema...
Analítica de negocio centrada en el comportamiento de los clientes en sistema...Analítica de negocio centrada en el comportamiento de los clientes en sistema...
Analítica de negocio centrada en el comportamiento de los clientes en sistema...
 
El papel clave de los procesos en la necesaria Transformación Digital
El papel clave de los procesos en la necesaria Transformación DigitalEl papel clave de los procesos en la necesaria Transformación Digital
El papel clave de los procesos en la necesaria Transformación Digital
 
Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...
Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...
Caso de Estudio - Utilizando la Mineria de Procesos para la investigación en ...
 
Descubriendo nuevas lineas de investigación mediante Mineria de procesos
Descubriendo nuevas lineas de investigación mediante Mineria de procesosDescubriendo nuevas lineas de investigación mediante Mineria de procesos
Descubriendo nuevas lineas de investigación mediante Mineria de procesos
 

Recently uploaded

Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...gajnagarg
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numberssuginr1
 
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...HyderabadDolls
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdfkhraisr
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxchadhar227
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...Health
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...HyderabadDolls
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...nirzagarg
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...gajnagarg
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNKTimothy Spann
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...gajnagarg
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...Elaine Werffeli
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...Bertram Ludäscher
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...nirzagarg
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabiaahmedjiabur940
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowgargpaaro
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangeThinkInnovation
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1ranjankumarbehera14
 

Recently uploaded (20)

Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbers
 
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
 
20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf20240412-SmartCityIndex-2024-Full-Report.pdf
20240412-SmartCityIndex-2024-Full-Report.pdf
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptx
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
 
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24  Building Real-Time Pipelines With FLaNKDATA SUMMIT 24  Building Real-Time Pipelines With FLaNK
DATA SUMMIT 24 Building Real-Time Pipelines With FLaNK
 
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
Top profile Call Girls In Chandrapur [ 7014168258 ] Call Me For Genuine Model...
 
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
SAC 25 Final National, Regional & Local Angel Group Investing Insights 2024 0...
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hapur [ 7014168258 ] Call Me For Genuine Models We ...
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With OrangePredicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
Predicting HDB Resale Prices - Conducting Linear Regression Analysis With Orange
 
Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1Lecture_2_Deep_Learning_Overview-newone1
Lecture_2_Deep_Learning_Overview-newone1
 

TINTIN A Tool for INcremental INTegrity checking of SQL assertions in SQLServer

  • 1. TINTIN TINTIN A Tool for INcremental INTegrity checking of SQL assertions in SQLServer Xavier Oriol, Ernest Teniente, Guillem Rull
  • 2. TINTIN Motivating Example: movies domain Assume the business rule (SLA, constraint, condition to monitor, …): Any famous director has directed some award-winning movie Steven Spielberg Jurassic Park (I) Visual Effects directed won name: String Person *1..* FamousDirector * Directs Winstitle: String releasedYear: Integer Movie name: String Award *
  • 3. TINTIN How can we check this constraint? Manually programming an efficient solution is difficult Deleting an award-winning movie from DB causes a violation… … unless in the DB there is another award-winning movie directed by the same director… … or there is an insertion of a new movie … … or the director is being deleted as a famous director … which should be award-winning and by the same director… … such that it is not being deleted in the same transaction too… Manual programming = Are you sure you are taking all cases into account?
  • 4. TINTIN How can we check this constraint? Running a query looking for the violations Select * from FamousDirector as FD where not exists (Select * from Directs as D join Wins as W on (D.movie_id = W.movie_id) where D.person_id = FD.id) Writing a query returning any famous director who has not directed an award-winning movie. Empty query = constraint satisfaction Problem: bad performance Running the query = checking all the data If we delete ‘Jurassic Park’ from DB, and run the query, it will search for award-winning movies for all famous directors... … but the unique relevant one to check is Spielberg!
  • 5. TINTIN We need an automatic method for Checking only those parts of the data that might violate our defined constraints taking in account the update being applied In other words, we need an Incremental method for consistency checking This is exactly what we provide with TINTIN
  • 6. TINTIN TINTIN – A Quick DEMO 1. Connect TINTIN to your (SQL Server) DB
  • 7. TINTIN TINTIN – A Quick DEMO 1. Connect TINTIN to your DB 2. Write your assertions into TINTIN
  • 8. TINTIN TINTIN – A Quick DEMO 1. Connect TINTIN to your DB 2. Write your assertions into TINTIN 3. Use your DB normally. Just recall to call safeCommit() at the end of your transactions
  • 9. TINTIN Scalability experiment We have used the TPC-H benchmark, a benchmark for illustrating decision support systems which examines large volumes of data. - Current data = 1GB * SF - Data updates = 1MB * SF *Nim = Non Incremental Approach
  • 10. TINTIN What does it support? It supports any relational algebra constraint What do we plan to support in the future? SQL distributive aggregates & arithmetic functions General conclusion: Given a semantic description of the domain, we are able to generate code automatically (and also to reason about it)