SlideShare a Scribd company logo
1 of 44
Download to read offline
Migrationа and source
control for your DB
what:
Database migration:
Database structure:
- Tables, constrains, indexes;
Database data:
- Initial data like list of post codes,
statuses for order, etc.
Database logic:
- stored procedures, triggers, functions
why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post codes,
statuses for order, etc.
Data base logic:
- stored procedures, triggers, functions
v1.0.0
why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
v1.0.0
why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post co
v1.2.1
v1.0.0
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post
v1.2.1
v1.6.0
v1.0.0
why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post c
v1.2.1
v1.6.0
v2.0.1
v1.0.0
why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post codes,
statuses for order, etc.
Data base logic:
- stored procedures, triggers, functions
v1.2.1
v1.6.0
v2.0.1
v1.0.0
why: versions
Data Base migration:
Data base structure:
- Tables, constrains, indexes;
Data base data:
- Initial data like list of post codes,
statuses for order, etc.
Data base logic:
- stored procedures, triggers, functions
v1.2.1
v1.6.0
v2.0.1
v1.0.0DEV
why: environments
Conclusion
We need version control
over our database
migration
Tools
Play framework:migration
Rails ActiveRecord
migrations
Mogeez for
Tools
Play framework:migration
Rails ActiveRecord
migrations
Mongeez for
Tools
Play framework:migration
Rails ActiveRecord
migrations
Mogeez for
Tools
Play framework:migration
Rails ActiveRecord
migrations
Mogeez for
Tools
Liquibase :
•Apache license
•Started in 2006 (active)
•http://liquibase.org
Flyway:
•Apache license
•Started in 2010
•http://www.flywaydb.or
g
Common flow
Build Test Run
• Dev
• Test
• Acceptance
• Production
• GUI tests
• Integration
tests
• API tests
• Unit tests
• Ant
• Maven
• Gradle
Common flow
Build Test Run
• Dev
• Test
• Acceptance
• Production
• GUI tests
• Integration
tests
• API tests
• Unit tests
• Ant
• Maven
• Gradle
Common flow
Build Test Run
• Java API
• Spring Bean
• Plugins
• CLI
• Plugins
• CLI
How it works
DatabaseChangelogLock:
DatabaseChangelog:
How it works
Schema_versions:
How it works
Sequential change flow
1. Init db
2. Add column “type”
3. Add new table
How it works
Sequential change flow
1. Init db
2. Add column “type”
3. Add new table
X
How it works
Sequential change flow
1. Init db
3. Add new table
4. Remove column “type”
2. Add column “type”
difference?, comparison.
Rollback vs no rollback
SQL output
Conditions
baseline
Supported modes:
https://flywaydb.org/documentation/gradle/
Flyway more and esear.
How it works
V1__Initial_Setup.sql
V1_1__First_Changes.sql
V1_2__Added_user_info.sql
V2__ ….
How it works
Changes are grouped into changesets:
• Change(s) that should be applied
atomically
Changesets are grouped into
changelogs:
•Files managed in version control
How it works
v1_changeLog.xml
v1.1_changeLog.xml
v2_changeLog.xml
v1.2_changeLog.xml
v1.3_changeLog.xml
v2.1_changeLog.xml
…
Supported db list
MySQL
PostgreSQL
Oracle
MSSQL Server
Sybase_Enterprise
Sybase_Anywhere
DB2
Apache_Derby
HSQL
H2
Informix
Firebird
SQLite
MySQL
PostgreSQL
Oracle
MSSQL Server
SQL Azure
MariaDB
Phoenix
Vertica
AWS Redshift
DB2, DB2 z/OS
Derby
H2, Hsql, SQLite, SAP HANA,
solidDB, Sybase ASE
Supported formats
DSL for database
changes:
• XML
• YAML
• JSON
• sql
Pure SQL
Base line
Convention over
configuration
Toolbox
Toolbox
• SQL output
• Rollback
• Context
• Precondition
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
Toolbox: precondition
<preConditions onFail="WARN" onError="MARK_RAN">
<dbms type="oracle"/>
<runningAs username="SYSTEM"/>
<tableExists tableName=“newTable"/>
<customPrecondition className=“com.example.CheckOne"/>
<sqlCheck expectedResult="0">
select count(*) from oldtable
</sqlCheck>
</preConditions>
DEMO
let us try it
DDLv1
DDL
v2
v1
Init data,
new column
(source)
let us try it
how it works
DDL
v2
v3
v1
Init data,
new column
(source)
Move values in
separate table
let us try it
let us try it
DDL
v2
v3
v1
Init data,
new column
(source)
Move values in
separate table
Thank you for attention
Q & A
uholnikovroman@gmail.com

More Related Content

What's hot

What's hot (16)

Difference between sql server 2008 and sql server 2012
Difference between sql server 2008 and sql server 2012Difference between sql server 2008 and sql server 2012
Difference between sql server 2008 and sql server 2012
 
3.1\9 SSIS 2008R2_Training - ControlFlow asks
3.1\9 SSIS 2008R2_Training - ControlFlow asks3.1\9 SSIS 2008R2_Training - ControlFlow asks
3.1\9 SSIS 2008R2_Training - ControlFlow asks
 
Liquibase
LiquibaseLiquibase
Liquibase
 
6.1\9 SSIS 2008R2_Training - DataFlow Transformations
6.1\9 SSIS 2008R2_Training - DataFlow Transformations6.1\9 SSIS 2008R2_Training - DataFlow Transformations
6.1\9 SSIS 2008R2_Training - DataFlow Transformations
 
Datastage Online Training
Datastage Online TrainingDatastage Online Training
Datastage Online Training
 
6.2\9 SSIS 2008R2_Training - DataFlow Transformations
6.2\9 SSIS 2008R2_Training - DataFlow Transformations6.2\9 SSIS 2008R2_Training - DataFlow Transformations
6.2\9 SSIS 2008R2_Training - DataFlow Transformations
 
PGConf.ASIA 2019 Bali - A step towards SQL/MED - DATALINK - Gilles Darold
PGConf.ASIA 2019 Bali - A step towards SQL/MED - DATALINK - Gilles DaroldPGConf.ASIA 2019 Bali - A step towards SQL/MED - DATALINK - Gilles Darold
PGConf.ASIA 2019 Bali - A step towards SQL/MED - DATALINK - Gilles Darold
 
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
3.2\9 SSIS 2008R2_Training - ControlFlow Tasks
 
Agile Database Development with Liquibase
Agile Database Development with LiquibaseAgile Database Development with Liquibase
Agile Database Development with Liquibase
 
4\9 SSIS 2008R2_Training - Expression and Variables
4\9 SSIS 2008R2_Training - Expression and Variables4\9 SSIS 2008R2_Training - Expression and Variables
4\9 SSIS 2008R2_Training - Expression and Variables
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
High Performance Plsql
High Performance PlsqlHigh Performance Plsql
High Performance Plsql
 
SSIS Presentation
SSIS PresentationSSIS Presentation
SSIS Presentation
 
ISUG 113: File stream
ISUG 113: File streamISUG 113: File stream
ISUG 113: File stream
 
2\9.SSIS 2008R2 _Training - Control Flow
2\9.SSIS 2008R2 _Training - Control Flow2\9.SSIS 2008R2 _Training - Control Flow
2\9.SSIS 2008R2 _Training - Control Flow
 
Tauhid: SQL Server Database Change Automation
Tauhid: SQL Server Database Change AutomationTauhid: SQL Server Database Change Automation
Tauhid: SQL Server Database Change Automation
 

Viewers also liked (10)

Symantec Enterprise Vault
Symantec Enterprise VaultSymantec Enterprise Vault
Symantec Enterprise Vault
 
Ria Meets Enteprise SOA
Ria Meets Enteprise SOARia Meets Enteprise SOA
Ria Meets Enteprise SOA
 
Careers in public prosecutor
Careers in public prosecutorCareers in public prosecutor
Careers in public prosecutor
 
Volodymyr Getmanskyi How to build a dynamic pricing model using big data
Volodymyr Getmanskyi How to build a dynamic pricing model using big dataVolodymyr Getmanskyi How to build a dynamic pricing model using big data
Volodymyr Getmanskyi How to build a dynamic pricing model using big data
 
PKN Bergen Poster Design Competition 2016
PKN Bergen Poster Design Competition 2016PKN Bergen Poster Design Competition 2016
PKN Bergen Poster Design Competition 2016
 
Module 4 unit 1
Module 4  unit 1Module 4  unit 1
Module 4 unit 1
 
Derivatives and it’s simple applications
Derivatives and it’s simple applicationsDerivatives and it’s simple applications
Derivatives and it’s simple applications
 
Lecture one
Lecture oneLecture one
Lecture one
 
Metia Phizzpop Presentation Final
Metia Phizzpop Presentation FinalMetia Phizzpop Presentation Final
Metia Phizzpop Presentation Final
 
Narasimhan tata power solar
Narasimhan   tata power solarNarasimhan   tata power solar
Narasimhan tata power solar
 

Similar to Roman Ugolnikov Migrationа and sourcecontrol for your db

Борис Трофимов. Continuous Database migration-это просто!
Борис Трофимов. Continuous Database migration-это просто!Борис Трофимов. Continuous Database migration-это просто!
Борис Трофимов. Continuous Database migration-это просто!
Volha Banadyseva
 

Similar to Roman Ugolnikov Migrationа and sourcecontrol for your db (20)

Liquibase
LiquibaseLiquibase
Liquibase
 
Liquibase migration for data bases
Liquibase migration for data basesLiquibase migration for data bases
Liquibase migration for data bases
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 
Delivering changes for databases and applications
Delivering changes for databases and applicationsDelivering changes for databases and applications
Delivering changes for databases and applications
 
Oracle applications r12.2, ebr, online patching means lot of work for devel...
Oracle applications r12.2, ebr, online patching   means lot of work for devel...Oracle applications r12.2, ebr, online patching   means lot of work for devel...
Oracle applications r12.2, ebr, online patching means lot of work for devel...
 
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBAKoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
 
Handling Database Deployments
Handling Database DeploymentsHandling Database Deployments
Handling Database Deployments
 
Evolutionary database design
Evolutionary database designEvolutionary database design
Evolutionary database design
 
Stream Analytics with SQL on Apache Flink
 Stream Analytics with SQL on Apache Flink Stream Analytics with SQL on Apache Flink
Stream Analytics with SQL on Apache Flink
 
Road to database automation: database source control
Road to database automation: database source controlRoad to database automation: database source control
Road to database automation: database source control
 
Road to database automation - Database source control
Road to database automation - Database source controlRoad to database automation - Database source control
Road to database automation - Database source control
 
12 Introduction to Rails
12 Introduction to Rails12 Introduction to Rails
12 Introduction to Rails
 
TechEvent 2019: Whats new in biGENiUS; Robert Kranabether - Trivadis
TechEvent 2019: Whats new in biGENiUS; Robert Kranabether - TrivadisTechEvent 2019: Whats new in biGENiUS; Robert Kranabether - Trivadis
TechEvent 2019: Whats new in biGENiUS; Robert Kranabether - Trivadis
 
Continuous DB migration based on carbon5 framework
Continuous DB migration based on carbon5 frameworkContinuous DB migration based on carbon5 framework
Continuous DB migration based on carbon5 framework
 
Борис Трофимов. Continuous Database migration-это просто!
Борис Трофимов. Continuous Database migration-это просто!Борис Трофимов. Continuous Database migration-это просто!
Борис Трофимов. Continuous Database migration-это просто!
 
Capture the Streams of Database Changes
Capture the Streams of Database ChangesCapture the Streams of Database Changes
Capture the Streams of Database Changes
 
Sql server basics
Sql server basicsSql server basics
Sql server basics
 
Cfg Mgmtcamp 2015 - Releases
Cfg Mgmtcamp 2015 - ReleasesCfg Mgmtcamp 2015 - Releases
Cfg Mgmtcamp 2015 - Releases
 
Delivering Changes for Applications and Databases
Delivering Changes for Applications and DatabasesDelivering Changes for Applications and Databases
Delivering Changes for Applications and Databases
 
SharePoint 2010 Migration Presentation
SharePoint 2010 Migration PresentationSharePoint 2010 Migration Presentation
SharePoint 2010 Migration Presentation
 

More from Аліна Шепшелей

More from Аліна Шепшелей (20)

Vladimir Lozanov How to deliver high quality apps to the app store
Vladimir Lozanov	How to deliver high quality apps to the app storeVladimir Lozanov	How to deliver high quality apps to the app store
Vladimir Lozanov How to deliver high quality apps to the app store
 
Oleksandr Yefremov Continuously delivering mobile project
Oleksandr Yefremov Continuously delivering mobile projectOleksandr Yefremov Continuously delivering mobile project
Oleksandr Yefremov Continuously delivering mobile project
 
Alexander Voronov Test driven development in real world
Alexander Voronov Test driven development in real worldAlexander Voronov Test driven development in real world
Alexander Voronov Test driven development in real world
 
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
 
Valerii Iakovenko Drones as the part of the present
Valerii Iakovenko	Drones as the part of the presentValerii Iakovenko	Drones as the part of the present
Valerii Iakovenko Drones as the part of the present
 
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
Dmitriy Kouperman Working with legacy systems. stabilization, monitoring, man...
 
Anton Ivinskyi Application level metrics and performance tests
Anton Ivinskyi	Application level metrics and performance testsAnton Ivinskyi	Application level metrics and performance tests
Anton Ivinskyi Application level metrics and performance tests
 
Миша Рыбачук Что такое дизайн?
Миша Рыбачук Что такое дизайн?Миша Рыбачук Что такое дизайн?
Миша Рыбачук Что такое дизайн?
 
Макс Семенчук Дизайнер, которому доверяют
 Макс Семенчук Дизайнер, которому доверяют Макс Семенчук Дизайнер, которому доверяют
Макс Семенчук Дизайнер, которому доверяют
 
Anton Parkhomenko Boost your design workflow or git rebase for designers
Anton Parkhomenko Boost your design workflow or git rebase for designersAnton Parkhomenko Boost your design workflow or git rebase for designers
Anton Parkhomenko Boost your design workflow or git rebase for designers
 
Andrew Veles Product design is about the process
Andrew Veles Product design is about the processAndrew Veles Product design is about the process
Andrew Veles Product design is about the process
 
Kononenko Alina Designing for Apple Watch and Apple TV
Kononenko Alina Designing for Apple Watch and Apple TVKononenko Alina Designing for Apple Watch and Apple TV
Kononenko Alina Designing for Apple Watch and Apple TV
 
Mihail Patalaha Aso: how to start and how to finish?
Mihail Patalaha Aso: how to start and how to finish?Mihail Patalaha Aso: how to start and how to finish?
Mihail Patalaha Aso: how to start and how to finish?
 
Gregory Shehet Undefined' on prod, or how to test a react app
Gregory Shehet Undefined' on  prod, or how to test a react appGregory Shehet Undefined' on  prod, or how to test a react app
Gregory Shehet Undefined' on prod, or how to test a react app
 
Alexey Osipenko Basics of functional reactive programming
Alexey Osipenko Basics of functional reactive programmingAlexey Osipenko Basics of functional reactive programming
Alexey Osipenko Basics of functional reactive programming
 
Vladimir Mikhel Scrapping the web
Vladimir Mikhel Scrapping the web Vladimir Mikhel Scrapping the web
Vladimir Mikhel Scrapping the web
 
Dmutro Panin JHipster
Dmutro Panin JHipster Dmutro Panin JHipster
Dmutro Panin JHipster
 
Alex Theedom Java ee revisits design patterns
Alex Theedom	Java ee revisits design patternsAlex Theedom	Java ee revisits design patterns
Alex Theedom Java ee revisits design patterns
 
Alexey Tokar To find a needle in a haystack
Alexey Tokar To find a needle in a haystackAlexey Tokar To find a needle in a haystack
Alexey Tokar To find a needle in a haystack
 
Maksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a jobMaksym Antipov Hardware development as a hobby and a job
Maksym Antipov Hardware development as a hobby and a job
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Roman Ugolnikov Migrationа and sourcecontrol for your db