SlideShare a Scribd company logo
Endurance International Group
Getting Along with Your DBOps Team
SLC DevOpsDays
@nickdemaster
Why do we care?
Why do we care?
Your data is super important!
@nickdemaster #slcdevopsdays
What does the DB Ops team care about?
(and how does that apply to dev)
• Atomicity
@nickdemaster #slcdevopsdays
ACID
ACID
• Atomicity
• Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails,
then the entire transaction fails, and the database state is left unchanged. An atomic system
must guarantee atomicity in each and every situation, including power failures, errors, and
crashes. To the outside world, a committed transaction appears (by its effects on the database)
to be indivisible ("atomic"), and an aborted transaction does not happen.
@nickdemaster #slcdevopsdays
ACID
DevOps Translation:
Each code deployment involving a database must be successful and be progressive, not regressive.
In the event of a failure in the code deployment, the rollback must be transparent to the user.
@nickdemaster #slcdevopsdays
• Atomicity
• Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails,
then the entire transaction fails, and the database state is left unchanged. An atomic system
must guarantee atomicity in each and every situation, including power failures, errors, and
crashes. To the outside world, a committed transaction appears (by its effects on the database)
to be indivisible ("atomic"), and an aborted transaction does not happen.
ACID
• Atomicity
• Consistency
@nickdemaster #slcdevopsdays
• Consistency
• The consistency property ensures that any transaction will bring the database from one valid
state to another. Any data written to the database must be valid according to all defined rules,
including constraints, cascades, triggers, and any combination thereof. This does not
guarantee correctness of the transaction in all ways the application programmer might have
wanted (that is the responsibility of application-level code) but merely that any
programming errors cannot result in the violation of any defined rules.
@nickdemaster #slcdevopsdays
ACID
• Consistency
• The consistency property ensures that any transaction will bring the database from one valid
state to another. Any data written to the database must be valid according to all defined rules,
including constraints, cascades, triggers, and any combination thereof. This does not
guarantee correctness of the transaction in all ways the application programmer might have
wanted (that is the responsibility of application-level code) but merely that any
programming errors cannot result in the violation of any defined rules.
DevOps Translation:
Understand the underlying data you are changing with each code deploy. Make sure that the data
structures you use or change are consistent with the ones currently in place. Keep data types for similar
data the same. i.e. If you use database datestamps, don’t switch over to unix timestamps, unless
part of a larger initiative.
@nickdemaster #slcdevopsdays
ACID
• Atomicity
• Consistency
• Isolation
ACID
@nickdemaster #slcdevopsdays
ACID
• Isolation
• The isolation property ensures that the concurrent execution of transactions results in a system
state that would be obtained if transactions were executed serially, i.e., one after the other.
Providing isolation is the main goal of concurrency control. Depending on the concurrency control
method (i.e., if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete
transaction might not even be visible to another transaction.
@nickdemaster #slcdevopsdays
DevOps Translation:
When doing code deploys, always be on the same page with the way the data is going to be
changed with each deploy. This is most pertinent if you have multiple projects or initiatives going on
that use the same database model. i.e. If you need a column for X and someone else needs the same
column for Y, be sure that you don’t crush someone else’s (or your own) changes with an
out of order alter/CRUD action.
@nickdemaster #slcdevopsdays
ACID
• Isolation
• The isolation property ensures that the concurrent execution of transactions results in a system
state that would be obtained if transactions were executed serially, i.e., one after the other.
Providing isolation is the main goal of concurrency control. Depending on the concurrency control
method (i.e., if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete
transaction might not even be visible to another transaction.
• Atomicity
• Consistency
• Isolation
• Durability
@nickdemaster #slcdevopsdays
ACID
• Durability
• The durability property ensures that once a transaction has been committed, it will remain
so, even in the event of power loss, crashes, or errors. In a relational database, for
instance, once a group of SQL statements execute, the results need to be stored permanently
(even if the database crashes immediately thereafter). To defend against power loss, transactions
(or their effects) must be recorded in a non-volatile memory.
@nickdemaster #slcdevopsdays
ACID
DevOps Translation:
Understand the mechanics of the durability property of the database. If you are not using a truly ACID
database, you may have to program in checks to assure the data is stored and retrievable correctly –
even in the event of a connection or system failure.
@nickdemaster #slcdevopsdays
ACID
• Durability
• The durability property ensures that once a transaction has been committed, it will remain
so, even in the event of power loss, crashes, or errors. In a relational database, for
instance, once a group of SQL statements execute, the results need to be stored permanently
(even if the database crashes immediately thereafter). To defend against power loss, transactions
(or their effects) must be recorded in a non-volatile memory.
In Practice – Schema
@nickdemaster #slcdevopsdays
In Practice – Database Schema
• Know your data! (love your data)
@nickdemaster #slcdevopsdays
In Practice – Database Schema
• Know your data! (love your data)
• If your database uses them, Explicit Primary Keys
@nickdemaster #slcdevopsdays
In Practice – Database Schema
• Know your data! (love your data)
• If your database uses them, Explicit Primary Keys
• Correctly sized data fields
@nickdemaster #slcdevopsdays
In Practice – Database Schema
• Know your data! (love your data)
• If your database uses them, Explicit Primary Keys
• Correctly sized data fields
• Be able to forecast growth patterns
In Practice – Database Schema
@nickdemaster #slcdevopsdays
• Know your data! (love your data)
• If your database uses them, Explicit Primary Keys
• Correctly sized data fields
• Be able to reasonably forecast growth
• ConSistentNaming Conventions
@nickdemaster #slcdevopsdays
In Practice – Database Schema
• Know your data! (love your data)
• If your database uses them, Explicit Primary Keys
• Correctly sized data fields
• Be able to reasonably forecast growth
• ConSistentNaming Conventions
• Understand storage conventions of the database engine
(i.e. ACID vs eventual consistency)
• Know your data! (love your data)
• If your database uses them, Explicit Primary Keys
• Correctly sized data fields
• Be able to reasonably forecast growth
• ConSistentNaming Conventions
• Understand storage conventions of the database engine
(i.e. ACID vs eventual consistency)
• Bonus: example queries with explain paths
@nickdemaster #slcdevopsdays
In Practice – Database Schema
In Practice – DBA
@nickdemaster #slcdevopsdays
In Practice – DBA
• Continuous deployment of code, have a system/agreement in place
@nickdemaster #slcdevopsdays
In Practice – DBA
• Continuous deployment of code, have a system/agreement in place
• Audit/Change Management (and if possible roll-forward, roll back)
@nickdemaster #slcdevopsdays
In Practice – DBA
• Continuous deployment of code, have a system/agreement in place
• Audit/Change Management (and if possible roll-forward, roll back)
• Data Migrations plans – cause and effect analysis (application/system)
@nickdemaster #slcdevopsdays
In Practice – DBA
• Continuous deployment of code, have a system/agreement in place
• Audit/Change Management (and if possible roll-forward, roll back)
• Data Migrations plans – cause and effect analysis (application/system)
• Rapid development infrastructure (development > staging > production)
• Continuous deployment of code, have a system/agreement in place
• Audit/Change Management (and if possible roll-forward, roll back)
• Data Migrations plans – cause and effect analysis (application/system)
• Rapid development infrastructure (development > staging > production)
• Backups and restores – TEST OFTEN
@nickdemaster #slcdevopsdays
In Practice – DBA
Getting Along with your DB Ops Team
@nickdemaster #slcdevopsdays
Getting Along with your DB Ops Team
• Buy into the same goals
@nickdemaster #slcdevopsdays
Getting Along with your DB Ops Team
• Buy into the same goals
• Communicate early and often
@nickdemaster #slcdevopsdays
Getting Along with your DB Ops Team
• Buy into the same goals
• Communicate early and often
• Be ready to compromise
@nickdemaster #slcdevopsdays
Getting Along with your DB Ops Team
• Buy into the same goals
• Communicate early and often
• Be ready to compromise
• Be able to define stakeholders for each data release
@nickdemaster #slcdevopsdays
Getting Along with your DB Ops Team
• Buy into the same goals
• Communicate early and often
• Be ready to compromise
• Be able to define stakeholders for each data release
• Be accountable (bonus: be on pager duty)
• Buy into the same goals
• Communicate early and often
• Be ready to compromise
• Be able to define stakeholders for each data release
• Be accountable (bonus: be on pager duty)
• TEAM
@nickdemaster #slcdevopsdays
Getting Along with your DB Ops Team
I am the DB Ops team (and the dev team.. and the ops team… and the
printer person...)
• Explain plans
@nickdemaster #slcdevopsdays
Troubleshooting tips
• Explain plans
• Mongo: db.collection.find().explain()
@nickdemaster #slcdevopsdays
Troubleshooting tips
• Explain plans
• Mongo: db.collection.find().explain()
• MySQL/Postgres: EXPLAIN select ...
@nickdemaster #slcdevopsdays
Troubleshooting tips
Troubleshooting tips
@nickdemaster #slcdevopsdays
• Explain plans
• Monitor Monitor Monitor (alert alert alert)
@nickdemaster #slcdevopsdays
Troubleshooting tips
• Explain plans
• Monitor Monitor Monitor (alert alert alert)
• Practice your deploys on a staging environment
• Explain plans
• Monitor Monitor Monitor (alert alert alert)
• Practice your deploys on a staging environment
• Automation is key!
@nickdemaster #slcdevopsdays
Troubleshooting tips
Endurance International Group
Getting Along with Your DBOps Team
SLC DevOpsDays
@nickdemaster
Ad

More Related Content

What's hot (20)

Migration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a HitchMigration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a Hitch
DataStax Academy
 
Consistency in NoSQL
Consistency in NoSQLConsistency in NoSQL
Consistency in NoSQL
Dr-Dipali Meher
 
ACID vs BASE in NoSQL: Another False Dichotomy
ACID vs BASE in NoSQL: Another False DichotomyACID vs BASE in NoSQL: Another False Dichotomy
ACID vs BASE in NoSQL: Another False Dichotomy
Dan Sullivan, Ph.D.
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?
Venu Anuganti
 
Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2
DataStax Academy
 
Cassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large NodesCassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large Nodes
aaronmorton
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
DataStax
 
Webinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverWebinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python Driver
DataStax Academy
 
From PoCs to Production
From PoCs to ProductionFrom PoCs to Production
From PoCs to Production
DataStax
 
Introducing DataStax Enterprise 4.7
Introducing DataStax Enterprise 4.7Introducing DataStax Enterprise 4.7
Introducing DataStax Enterprise 4.7
DataStax
 
Be DevOps Ready
Be DevOps ReadyBe DevOps Ready
Be DevOps Ready
Malinda Kapuruge
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
Dr-Dipali Meher
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
elliando dias
 
CAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesCAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and Practices
Yoav Francis
 
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...
DataStax
 
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
DataStax
 
SQL azure database for DBA
SQL azure database for DBASQL azure database for DBA
SQL azure database for DBA
Isabelle Van Campenhoudt
 
Sql vs nosql
Sql vs nosqlSql vs nosql
Sql vs nosql
Nick Verschueren
 
Hardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoiaHardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoia
zznate
 
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
DataStax
 
Migration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a HitchMigration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a Hitch
DataStax Academy
 
ACID vs BASE in NoSQL: Another False Dichotomy
ACID vs BASE in NoSQL: Another False DichotomyACID vs BASE in NoSQL: Another False Dichotomy
ACID vs BASE in NoSQL: Another False Dichotomy
Dan Sullivan, Ph.D.
 
SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?SQL/NoSQL How to choose ?
SQL/NoSQL How to choose ?
Venu Anuganti
 
Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2Oracle to Cassandra Core Concepts Guide Pt. 2
Oracle to Cassandra Core Concepts Guide Pt. 2
DataStax Academy
 
Cassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large NodesCassandra TK 2014 - Large Nodes
Cassandra TK 2014 - Large Nodes
aaronmorton
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
DataStax
 
Webinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python DriverWebinar | Building Apps with the Cassandra Python Driver
Webinar | Building Apps with the Cassandra Python Driver
DataStax Academy
 
From PoCs to Production
From PoCs to ProductionFrom PoCs to Production
From PoCs to Production
DataStax
 
Introducing DataStax Enterprise 4.7
Introducing DataStax Enterprise 4.7Introducing DataStax Enterprise 4.7
Introducing DataStax Enterprise 4.7
DataStax
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
elliando dias
 
CAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and PracticesCAP Theorem - Theory, Implications and Practices
CAP Theorem - Theory, Implications and Practices
Yoav Francis
 
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...
Building Highly Available Apps on Cassandra (Robbie Strickland, Weather Compa...
DataStax
 
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
DataStax
 
Hardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoiaHardening cassandra for compliance or paranoia
Hardening cassandra for compliance or paranoia
zznate
 
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
PlayStation and Searchable Cassandra Without Solr (Dustin Pham & Alexander Fi...
DataStax
 

Viewers also liked (9)

Amen.Pt.1.html.doc.docx
Amen.Pt.1.html.doc.docxAmen.Pt.1.html.doc.docx
Amen.Pt.1.html.doc.docx
Aztanian
 
Medidas de dispersión
Medidas de dispersiónMedidas de dispersión
Medidas de dispersión
Daniela Velasquez
 
INFORMED WOMEN KNOW MORE!
INFORMED WOMEN KNOW MORE!INFORMED WOMEN KNOW MORE!
INFORMED WOMEN KNOW MORE!
WOGA Colorado
 
Word 2 tha mutha.movie.pt.4.html.doc
Word 2 tha mutha.movie.pt.4.html.docWord 2 tha mutha.movie.pt.4.html.doc
Word 2 tha mutha.movie.pt.4.html.doc
Aztanian
 
slideshare. antonio
 slideshare. antonio slideshare. antonio
slideshare. antonio
Antonio Salas
 
Herramientas del sistema
Herramientas del sistemaHerramientas del sistema
Herramientas del sistema
valeria746
 
AMBIENTES DE APRENDIZAJE
AMBIENTES DE APRENDIZAJEAMBIENTES DE APRENDIZAJE
AMBIENTES DE APRENDIZAJE
itza hernandez
 
Funciones de los sistemas de información
Funciones de los sistemas de informaciónFunciones de los sistemas de información
Funciones de los sistemas de información
edgaralvarados
 
Marvic Cababan Balani_CV
Marvic Cababan Balani_CVMarvic Cababan Balani_CV
Marvic Cababan Balani_CV
Marvic Cababan
 
Amen.Pt.1.html.doc.docx
Amen.Pt.1.html.doc.docxAmen.Pt.1.html.doc.docx
Amen.Pt.1.html.doc.docx
Aztanian
 
INFORMED WOMEN KNOW MORE!
INFORMED WOMEN KNOW MORE!INFORMED WOMEN KNOW MORE!
INFORMED WOMEN KNOW MORE!
WOGA Colorado
 
Word 2 tha mutha.movie.pt.4.html.doc
Word 2 tha mutha.movie.pt.4.html.docWord 2 tha mutha.movie.pt.4.html.doc
Word 2 tha mutha.movie.pt.4.html.doc
Aztanian
 
slideshare. antonio
 slideshare. antonio slideshare. antonio
slideshare. antonio
Antonio Salas
 
Herramientas del sistema
Herramientas del sistemaHerramientas del sistema
Herramientas del sistema
valeria746
 
AMBIENTES DE APRENDIZAJE
AMBIENTES DE APRENDIZAJEAMBIENTES DE APRENDIZAJE
AMBIENTES DE APRENDIZAJE
itza hernandez
 
Funciones de los sistemas de información
Funciones de los sistemas de informaciónFunciones de los sistemas de información
Funciones de los sistemas de información
edgaralvarados
 
Marvic Cababan Balani_CV
Marvic Cababan Balani_CVMarvic Cababan Balani_CV
Marvic Cababan Balani_CV
Marvic Cababan
 
Ad

Similar to DevOpsDays SLC - Getting Along With Your DBOps Team (20)

Data Engineering for Data Scientists
Data Engineering for Data Scientists Data Engineering for Data Scientists
Data Engineering for Data Scientists
jlacefie
 
NoSQL and Couchbase
NoSQL and CouchbaseNoSQL and Couchbase
NoSQL and Couchbase
Sangharsh agarwal
 
NoSQL and ACID
NoSQL and ACIDNoSQL and ACID
NoSQL and ACID
FoundationDB
 
Data
DataData
Data
Tommy Chiu
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
Bigstep
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
Mohammed Ragab
 
AcceleTest
AcceleTestAcceleTest
AcceleTest
Liz Martin
 
AcceleTest
AcceleTestAcceleTest
AcceleTest
Liz Martin
 
How To Tell if Your Business Needs NoSQL
How To Tell if Your Business Needs NoSQLHow To Tell if Your Business Needs NoSQL
How To Tell if Your Business Needs NoSQL
DataStax
 
Rise of NewSQL
Rise of NewSQLRise of NewSQL
Rise of NewSQL
Sushant Choudhary
 
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Precisely
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database Roundtable
Eric Kavanagh
 
Data DevOps: An Overview
Data DevOps: An OverviewData DevOps: An Overview
Data DevOps: An Overview
Scott W. Ambler
 
Lost with data consistency
Lost with data consistencyLost with data consistency
Lost with data consistency
Michał Gryglicki
 
Master.pptx
Master.pptxMaster.pptx
Master.pptx
KarthikR780430
 
System Design Interview Questions PDF By ScholarHat
System Design Interview Questions PDF By ScholarHatSystem Design Interview Questions PDF By ScholarHat
System Design Interview Questions PDF By ScholarHat
Scholarhat
 
MongoDB
MongoDBMongoDB
MongoDB
fsbrooke
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud Computing
SpringPeople
 
Quick dive into the big data pool without drowning - Demi Ben-Ari @ Panorays
Quick dive into the big data pool without drowning - Demi Ben-Ari @ PanoraysQuick dive into the big data pool without drowning - Demi Ben-Ari @ Panorays
Quick dive into the big data pool without drowning - Demi Ben-Ari @ Panorays
Demi Ben-Ari
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
PARIKSHIT SAVJANI
 
Data Engineering for Data Scientists
Data Engineering for Data Scientists Data Engineering for Data Scientists
Data Engineering for Data Scientists
jlacefie
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
Bigstep
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
Mohammed Ragab
 
How To Tell if Your Business Needs NoSQL
How To Tell if Your Business Needs NoSQLHow To Tell if Your Business Needs NoSQL
How To Tell if Your Business Needs NoSQL
DataStax
 
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Precisely
 
Horses for Courses: Database Roundtable
Horses for Courses: Database RoundtableHorses for Courses: Database Roundtable
Horses for Courses: Database Roundtable
Eric Kavanagh
 
Data DevOps: An Overview
Data DevOps: An OverviewData DevOps: An Overview
Data DevOps: An Overview
Scott W. Ambler
 
System Design Interview Questions PDF By ScholarHat
System Design Interview Questions PDF By ScholarHatSystem Design Interview Questions PDF By ScholarHat
System Design Interview Questions PDF By ScholarHat
Scholarhat
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud Computing
SpringPeople
 
Quick dive into the big data pool without drowning - Demi Ben-Ari @ Panorays
Quick dive into the big data pool without drowning - Demi Ben-Ari @ PanoraysQuick dive into the big data pool without drowning - Demi Ben-Ari @ Panorays
Quick dive into the big data pool without drowning - Demi Ben-Ari @ Panorays
Demi Ben-Ari
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
PARIKSHIT SAVJANI
 
Ad

Recently uploaded (20)

Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 

DevOpsDays SLC - Getting Along With Your DBOps Team

  • 1. Endurance International Group Getting Along with Your DBOps Team SLC DevOpsDays @nickdemaster
  • 2. Why do we care?
  • 3. Why do we care? Your data is super important! @nickdemaster #slcdevopsdays
  • 4. What does the DB Ops team care about? (and how does that apply to dev)
  • 6. ACID • Atomicity • Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails, then the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. To the outside world, a committed transaction appears (by its effects on the database) to be indivisible ("atomic"), and an aborted transaction does not happen. @nickdemaster #slcdevopsdays
  • 7. ACID DevOps Translation: Each code deployment involving a database must be successful and be progressive, not regressive. In the event of a failure in the code deployment, the rollback must be transparent to the user. @nickdemaster #slcdevopsdays • Atomicity • Atomicity requires that each transaction be "all or nothing": if one part of the transaction fails, then the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. To the outside world, a committed transaction appears (by its effects on the database) to be indivisible ("atomic"), and an aborted transaction does not happen.
  • 9. • Consistency • The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors cannot result in the violation of any defined rules. @nickdemaster #slcdevopsdays ACID
  • 10. • Consistency • The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors cannot result in the violation of any defined rules. DevOps Translation: Understand the underlying data you are changing with each code deploy. Make sure that the data structures you use or change are consistent with the ones currently in place. Keep data types for similar data the same. i.e. If you use database datestamps, don’t switch over to unix timestamps, unless part of a larger initiative. @nickdemaster #slcdevopsdays ACID
  • 11. • Atomicity • Consistency • Isolation ACID @nickdemaster #slcdevopsdays
  • 12. ACID • Isolation • The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e., one after the other. Providing isolation is the main goal of concurrency control. Depending on the concurrency control method (i.e., if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete transaction might not even be visible to another transaction. @nickdemaster #slcdevopsdays
  • 13. DevOps Translation: When doing code deploys, always be on the same page with the way the data is going to be changed with each deploy. This is most pertinent if you have multiple projects or initiatives going on that use the same database model. i.e. If you need a column for X and someone else needs the same column for Y, be sure that you don’t crush someone else’s (or your own) changes with an out of order alter/CRUD action. @nickdemaster #slcdevopsdays ACID • Isolation • The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e., one after the other. Providing isolation is the main goal of concurrency control. Depending on the concurrency control method (i.e., if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete transaction might not even be visible to another transaction.
  • 14. • Atomicity • Consistency • Isolation • Durability @nickdemaster #slcdevopsdays ACID
  • 15. • Durability • The durability property ensures that once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors. In a relational database, for instance, once a group of SQL statements execute, the results need to be stored permanently (even if the database crashes immediately thereafter). To defend against power loss, transactions (or their effects) must be recorded in a non-volatile memory. @nickdemaster #slcdevopsdays ACID
  • 16. DevOps Translation: Understand the mechanics of the durability property of the database. If you are not using a truly ACID database, you may have to program in checks to assure the data is stored and retrievable correctly – even in the event of a connection or system failure. @nickdemaster #slcdevopsdays ACID • Durability • The durability property ensures that once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors. In a relational database, for instance, once a group of SQL statements execute, the results need to be stored permanently (even if the database crashes immediately thereafter). To defend against power loss, transactions (or their effects) must be recorded in a non-volatile memory.
  • 17. In Practice – Schema
  • 18. @nickdemaster #slcdevopsdays In Practice – Database Schema • Know your data! (love your data)
  • 19. @nickdemaster #slcdevopsdays In Practice – Database Schema • Know your data! (love your data) • If your database uses them, Explicit Primary Keys
  • 20. @nickdemaster #slcdevopsdays In Practice – Database Schema • Know your data! (love your data) • If your database uses them, Explicit Primary Keys • Correctly sized data fields
  • 21. @nickdemaster #slcdevopsdays In Practice – Database Schema • Know your data! (love your data) • If your database uses them, Explicit Primary Keys • Correctly sized data fields • Be able to forecast growth patterns
  • 22. In Practice – Database Schema @nickdemaster #slcdevopsdays • Know your data! (love your data) • If your database uses them, Explicit Primary Keys • Correctly sized data fields • Be able to reasonably forecast growth • ConSistentNaming Conventions
  • 23. @nickdemaster #slcdevopsdays In Practice – Database Schema • Know your data! (love your data) • If your database uses them, Explicit Primary Keys • Correctly sized data fields • Be able to reasonably forecast growth • ConSistentNaming Conventions • Understand storage conventions of the database engine (i.e. ACID vs eventual consistency)
  • 24. • Know your data! (love your data) • If your database uses them, Explicit Primary Keys • Correctly sized data fields • Be able to reasonably forecast growth • ConSistentNaming Conventions • Understand storage conventions of the database engine (i.e. ACID vs eventual consistency) • Bonus: example queries with explain paths @nickdemaster #slcdevopsdays In Practice – Database Schema
  • 26. @nickdemaster #slcdevopsdays In Practice – DBA • Continuous deployment of code, have a system/agreement in place
  • 27. @nickdemaster #slcdevopsdays In Practice – DBA • Continuous deployment of code, have a system/agreement in place • Audit/Change Management (and if possible roll-forward, roll back)
  • 28. @nickdemaster #slcdevopsdays In Practice – DBA • Continuous deployment of code, have a system/agreement in place • Audit/Change Management (and if possible roll-forward, roll back) • Data Migrations plans – cause and effect analysis (application/system)
  • 29. @nickdemaster #slcdevopsdays In Practice – DBA • Continuous deployment of code, have a system/agreement in place • Audit/Change Management (and if possible roll-forward, roll back) • Data Migrations plans – cause and effect analysis (application/system) • Rapid development infrastructure (development > staging > production)
  • 30. • Continuous deployment of code, have a system/agreement in place • Audit/Change Management (and if possible roll-forward, roll back) • Data Migrations plans – cause and effect analysis (application/system) • Rapid development infrastructure (development > staging > production) • Backups and restores – TEST OFTEN @nickdemaster #slcdevopsdays In Practice – DBA
  • 31. Getting Along with your DB Ops Team
  • 32. @nickdemaster #slcdevopsdays Getting Along with your DB Ops Team • Buy into the same goals
  • 33. @nickdemaster #slcdevopsdays Getting Along with your DB Ops Team • Buy into the same goals • Communicate early and often
  • 34. @nickdemaster #slcdevopsdays Getting Along with your DB Ops Team • Buy into the same goals • Communicate early and often • Be ready to compromise
  • 35. @nickdemaster #slcdevopsdays Getting Along with your DB Ops Team • Buy into the same goals • Communicate early and often • Be ready to compromise • Be able to define stakeholders for each data release
  • 36. @nickdemaster #slcdevopsdays Getting Along with your DB Ops Team • Buy into the same goals • Communicate early and often • Be ready to compromise • Be able to define stakeholders for each data release • Be accountable (bonus: be on pager duty)
  • 37. • Buy into the same goals • Communicate early and often • Be ready to compromise • Be able to define stakeholders for each data release • Be accountable (bonus: be on pager duty) • TEAM @nickdemaster #slcdevopsdays Getting Along with your DB Ops Team
  • 38. I am the DB Ops team (and the dev team.. and the ops team… and the printer person...)
  • 39. • Explain plans @nickdemaster #slcdevopsdays Troubleshooting tips
  • 40. • Explain plans • Mongo: db.collection.find().explain() @nickdemaster #slcdevopsdays Troubleshooting tips
  • 41. • Explain plans • Mongo: db.collection.find().explain() • MySQL/Postgres: EXPLAIN select ... @nickdemaster #slcdevopsdays Troubleshooting tips
  • 42. Troubleshooting tips @nickdemaster #slcdevopsdays • Explain plans • Monitor Monitor Monitor (alert alert alert)
  • 43. @nickdemaster #slcdevopsdays Troubleshooting tips • Explain plans • Monitor Monitor Monitor (alert alert alert) • Practice your deploys on a staging environment
  • 44. • Explain plans • Monitor Monitor Monitor (alert alert alert) • Practice your deploys on a staging environment • Automation is key! @nickdemaster #slcdevopsdays Troubleshooting tips
  • 45. Endurance International Group Getting Along with Your DBOps Team SLC DevOpsDays @nickdemaster

Editor's Notes

  • #2: Two MySQL DBAs walk to a NoSQL bar, but they had to leave because they couldn't find any tables!
  • #27: What does that mean for database changes Alter tables, schema changes?
  • #28: What does that mean for database changes Alter tables, schema changes?
  • #29: What does that mean for database changes Alter tables, schema changes?
  • #30: What does that mean for database changes Alter tables, schema changes?
  • #31: What does that mean for database changes Alter tables, schema changes?
  • #46: Two MySQL DBAs walk to a NoSQL bar, but they had to leave because they couldn't find any tables!