SlideShare a Scribd company logo
Database compatibility(i.e. Application talking to a DB) Select statement App. is reader, DB is writer Insert App. is writer, DB is reader Company Confidential - Wealthfront Inc.
DB: Rules of Engagement Adding a table: ✔ Removing a table: ✔ Table is unused Removing a column: ✔ Column is unused Adding a column: ✔ NullableOR Not-null with default value Renaming a column: ✖ Company Confidential - Wealthfront Inc.
DB: Dogfighting Table users with two columns id and value Value is a percentage, stored as [0, 100] Migrate to [0, 1] representation Clustered servers talking to the DB No downtime Company Confidential - Wealthfront Inc.
DB: Dogfighting Company Confidential - Wealthfront Inc. Reads id & value Writes [0, 100] in value create table users (  id int not null,  value int not null);
DB: Dogfighting Company Confidential - Wealthfront Inc. alter table users  modify value int,  add value_dec decimal;
DB: Dogfighting Company Confidential - Wealthfront Inc. Reads id & value Writes [0, 100] in value Writes [0, 1] in value_dec
DB: Dogfighting Company Confidential - Wealthfront Inc. update users  set value_dec = value / 100  where value_dec is null;
DB: Dogfighting Company Confidential - Wealthfront Inc. Reads id & value_dec Writes [0, 1] in value_dec
DB: Dogfighting Company Confidential - Wealthfront Inc. alter table users  drop column value,  modify value_dec decimal not null;
DB: Top Gun Table users with two columns id and value Value is a percentage, stored as [0, 100] Migrate to [0, 1] representation Clustered servers talking to the DB No downtime No DDL change (value is decimal) Company Confidential - Wealthfront Inc. NEW

More Related Content

Similar to Database compatibility

Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWS
Amazon Web Services
 
powerbioverview-191114161542.pdf
powerbioverview-191114161542.pdfpowerbioverview-191114161542.pdf
powerbioverview-191114161542.pdf
MarkMayle2
 
1585625790_SQL-SESSION1.pptx
1585625790_SQL-SESSION1.pptx1585625790_SQL-SESSION1.pptx
1585625790_SQL-SESSION1.pptx
MullaMainuddin
 

Similar to Database compatibility (20)

Incremental View Maintenance with Coral, DBT, and Iceberg
Incremental View Maintenance with Coral, DBT, and IcebergIncremental View Maintenance with Coral, DBT, and Iceberg
Incremental View Maintenance with Coral, DBT, and Iceberg
 
Database Management Systems and SQL SERVER.pptx
Database Management Systems and SQL SERVER.pptxDatabase Management Systems and SQL SERVER.pptx
Database Management Systems and SQL SERVER.pptx
 
Databases on AWS: The Right Tool for the Right Job (DAT205-R1) - AWS re:Inven...
Databases on AWS: The Right Tool for the Right Job (DAT205-R1) - AWS re:Inven...Databases on AWS: The Right Tool for the Right Job (DAT205-R1) - AWS re:Inven...
Databases on AWS: The Right Tool for the Right Job (DAT205-R1) - AWS re:Inven...
 
My sql advacnce topics
My sql advacnce topicsMy sql advacnce topics
My sql advacnce topics
 
MySQL 指南
MySQL 指南MySQL 指南
MySQL 指南
 
Getting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWSGetting Started with Managed Database Services on AWS
Getting Started with Managed Database Services on AWS
 
powerbioverview-191114161542.pdf
powerbioverview-191114161542.pdfpowerbioverview-191114161542.pdf
powerbioverview-191114161542.pdf
 
Power BI Overview
Power BI OverviewPower BI Overview
Power BI Overview
 
Health Care Data Management.docx
Health Care Data Management.docxHealth Care Data Management.docx
Health Care Data Management.docx
 
Mysql classes in navi-mumbai,mysql course-provider-in-navi-mumbai
Mysql classes in navi-mumbai,mysql course-provider-in-navi-mumbaiMysql classes in navi-mumbai,mysql course-provider-in-navi-mumbai
Mysql classes in navi-mumbai,mysql course-provider-in-navi-mumbai
 
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDBAWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
AWS SSA Webinar 33 - Getting started with databases on AWS Amazon DynamoDB
 
Evolutionary db development
Evolutionary db development Evolutionary db development
Evolutionary db development
 
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
 
GPS: Migrate Your Databases with the AWS Database Migration Service and AWS S...
GPS: Migrate Your Databases with the AWS Database Migration Service and AWS S...GPS: Migrate Your Databases with the AWS Database Migration Service and AWS S...
GPS: Migrate Your Databases with the AWS Database Migration Service and AWS S...
 
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
GPSWKS408-GPS Migrate Your Databases with AWS Database Migration Service and ...
 
Introduction to SQL
Introduction to SQLIntroduction to SQL
Introduction to SQL
 
Ameya Kanitkar: Using Hadoop and HBase to Personalize Web, Mobile and Email E...
Ameya Kanitkar: Using Hadoop and HBase to Personalize Web, Mobile and Email E...Ameya Kanitkar: Using Hadoop and HBase to Personalize Web, Mobile and Email E...
Ameya Kanitkar: Using Hadoop and HBase to Personalize Web, Mobile and Email E...
 
Create rest service in osb 12c over database table
Create rest service in osb 12c over database tableCreate rest service in osb 12c over database table
Create rest service in osb 12c over database table
 
February 2016 Webinar Series - Introduction to AWS Database Migration Service
February 2016 Webinar Series - Introduction to AWS Database Migration ServiceFebruary 2016 Webinar Series - Introduction to AWS Database Migration Service
February 2016 Webinar Series - Introduction to AWS Database Migration Service
 
1585625790_SQL-SESSION1.pptx
1585625790_SQL-SESSION1.pptx1585625790_SQL-SESSION1.pptx
1585625790_SQL-SESSION1.pptx
 

More from Pascal-Louis Perez

SLL Conf - Continuous Deployment
SLL Conf - Continuous DeploymentSLL Conf - Continuous Deployment
SLL Conf - Continuous Deployment
Pascal-Louis Perez
 
Alchemist Startup Primer - Lean Development Practices
Alchemist Startup Primer - Lean Development PracticesAlchemist Startup Primer - Lean Development Practices
Alchemist Startup Primer - Lean Development Practices
Pascal-Louis Perez
 
Xignite's Dedicate kaChing Api
Xignite's Dedicate kaChing ApiXignite's Dedicate kaChing Api
Xignite's Dedicate kaChing Api
Pascal-Louis Perez
 

More from Pascal-Louis Perez (14)

Fuchsia RFCs
Fuchsia RFCsFuchsia RFCs
Fuchsia RFCs
 
Products’ Love Story with Biz
Products’ Love Story with BizProducts’ Love Story with Biz
Products’ Love Story with Biz
 
How to Send a Receipt, Topics in Concurrency and Distributed Systems
How to Send a Receipt, Topics in Concurrency and Distributed SystemsHow to Send a Receipt, Topics in Concurrency and Distributed Systems
How to Send a Receipt, Topics in Concurrency and Distributed Systems
 
Corporate Finance Primer
Corporate Finance PrimerCorporate Finance Primer
Corporate Finance Primer
 
Developing an Immune System — The Hard and Soft Skills required to avoid Outages
Developing an Immune System — The Hard and Soft Skills required to avoid OutagesDeveloping an Immune System — The Hard and Soft Skills required to avoid Outages
Developing an Immune System — The Hard and Soft Skills required to avoid Outages
 
SLL Conf - Continuous Deployment
SLL Conf - Continuous DeploymentSLL Conf - Continuous Deployment
SLL Conf - Continuous Deployment
 
Alchemist Startup Primer - Lean Development Practices
Alchemist Startup Primer - Lean Development PracticesAlchemist Startup Primer - Lean Development Practices
Alchemist Startup Primer - Lean Development Practices
 
Applying Compiler Techniques to Iterate At Blazing Speed
Applying Compiler Techniques to Iterate At Blazing SpeedApplying Compiler Techniques to Iterate At Blazing Speed
Applying Compiler Techniques to Iterate At Blazing Speed
 
Iterate Like a Whirling Dervish
Iterate Like a Whirling DervishIterate Like a Whirling Dervish
Iterate Like a Whirling Dervish
 
Extreme Testing at kaChing
Extreme Testing at kaChingExtreme Testing at kaChing
Extreme Testing at kaChing
 
Type Checking JavaScript
Type Checking JavaScriptType Checking JavaScript
Type Checking JavaScript
 
Xignite's Dedicate kaChing Api
Xignite's Dedicate kaChing ApiXignite's Dedicate kaChing Api
Xignite's Dedicate kaChing Api
 
Add (Syntactic) Sugar To Your Java
Add (Syntactic) Sugar To Your JavaAdd (Syntactic) Sugar To Your Java
Add (Syntactic) Sugar To Your Java
 
kaChing's API garage event
kaChing's API garage eventkaChing's API garage event
kaChing's API garage event
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

Database compatibility

  • 1. Database compatibility(i.e. Application talking to a DB) Select statement App. is reader, DB is writer Insert App. is writer, DB is reader Company Confidential - Wealthfront Inc.
  • 2. DB: Rules of Engagement Adding a table: ✔ Removing a table: ✔ Table is unused Removing a column: ✔ Column is unused Adding a column: ✔ NullableOR Not-null with default value Renaming a column: ✖ Company Confidential - Wealthfront Inc.
  • 3. DB: Dogfighting Table users with two columns id and value Value is a percentage, stored as [0, 100] Migrate to [0, 1] representation Clustered servers talking to the DB No downtime Company Confidential - Wealthfront Inc.
  • 4. DB: Dogfighting Company Confidential - Wealthfront Inc. Reads id & value Writes [0, 100] in value create table users ( id int not null, value int not null);
  • 5. DB: Dogfighting Company Confidential - Wealthfront Inc. alter table users modify value int, add value_dec decimal;
  • 6. DB: Dogfighting Company Confidential - Wealthfront Inc. Reads id & value Writes [0, 100] in value Writes [0, 1] in value_dec
  • 7. DB: Dogfighting Company Confidential - Wealthfront Inc. update users set value_dec = value / 100 where value_dec is null;
  • 8. DB: Dogfighting Company Confidential - Wealthfront Inc. Reads id & value_dec Writes [0, 1] in value_dec
  • 9. DB: Dogfighting Company Confidential - Wealthfront Inc. alter table users drop column value, modify value_dec decimal not null;
  • 10. DB: Top Gun Table users with two columns id and value Value is a percentage, stored as [0, 100] Migrate to [0, 1] representation Clustered servers talking to the DB No downtime No DDL change (value is decimal) Company Confidential - Wealthfront Inc. NEW

Editor's Notes

  1. Highlight double write
  2. Highlight double write
  3. Highlight double write
  4. Highlight double write
  5. Highlight double write
  6. Highlight double write
  7. Highlight migration of previous one was 4 steps, this one much more steps