Online PDF Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature), Read PDF Refactoring Database
PDF Refactoring Databases: Evolutionary Database Design (paperback) (Addison-Wesley. Signature Series (Fowler)) Download
Non-existent testing of database migration. • Deployed application is missing
database changes ... A database refactoring is a simple change to a database ...
Related. Building Microservices ... Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
... Evolutionary Database Design (Addison-Wesley Signature) Free Collection, .... a wide range of development projects-h
Refactoring Databases Evolutionary Database Design paperback Addison Wesley Signature Series Fowler Scott J Ambler Pramo
maintainability, extensibility, and performance. Now, for the first time, ... NET, and other databases, such as DB2, SQL
PDF Download Refactoring Databases Full Online, epub free Refactoring Databases ... format used to present documents in
isbn : 0321293533 q. Related. Building Microservices · Continuous Delivery: Reliable Software Releases through Build, Te
[PDF] Download Refactoring Databases: Evolutionary Database ... quot best practices quot for the development of a data w
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers) · The Pragmatic Programmer · Refactorin
PDF DOWNLOAD Refactoring Databases: Evolutionary Database Design (paperback) (Addison-Wesley Signature Series (Fowler))
This book describes in detail how to refactor a database schema to improve its design ... methods have taken software de
... database design paperback addison wesley signature PDF span class news dt .... of development projects-helping softw
development projectsâhelping software professionals improve system designs ... projects relying on iterative, agile me
4 days ago - Full PDF Refactoring Databases: Evolutionary Database Design .... Domain-Driven Design: Tackling Complexity
Design (paperback) (Addison-Wesley Signature) Online Free, Read Best Book Online Refactoring .... Get one FREE 30 days b
Pramod Sadalage (沙朴木) ThoughtWorks Inc. Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Evolutionary Database Development
Reality is “Businesses are Changing” Change management for database assets Learn when you fail, so make it easy to fail Functionality added in increments Facilitates automated testing Knowledge of the functionality Acknowledge team interaction DBA = Role != Person Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
1
Version Control Database Assets
Greater control over changes Couples database and application Integrate in version control instead of database Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Swap Best Practices
Educate DBA about coding practices Nothing is used only once Educate Developers write better SQL How to make the DBA redundant Automate tasks such as • • • •
Physical table deployment Usage statistics Schema verification Data migration verification Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
2
Let the DBA and Developers pair
Better to have “Generalizing Specialists” Helps DBA understand the application DBA has a better understanding of other areas of the business data Write database tests Migration of production data is critical Gain knowledge of SQL Tuning etc Make the team aware of production data Understand performance implications Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Give everyone a sandbox Andy Joe
Jim Rex
....
Developer schema
Jack Ram
Andy Joe
Jim Rex
.... Jack
Ram
Andy Jim
Point of contention during development
...
Jack
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
3
Why?
One Application instance = One Database instance Developers work independent of other developers Liberty of experimenting with the database Use ANT/Make/Rake to automate tasks Database could just be a Schema Reduces contention Integrate in version control not in database Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Ultimate Nirvana
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
4
Demo: Sandbox
Shows how new person joining project can startup effortlessly Shows reduction in waste (Lean) Shows how to share DBA tasks Shows how the DBA will get to do more Shows productivity gains by automation Shows ANT targets to Create, Clean, Initialize(populate) and Drop databases Shows how changes are local Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Typical Integration Environment Integrate more than once a day http://martinfowler.com/articles/continuousIntegration.html
Developer Developers
Check in Check out
Source Control
Check out
Continuous Integration Uses
Uses
DB Server Server DB
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
5
Details Check in Application Code and Database Delta Scripts
Local dev environment
Central integration environment
DB delta scripts
ANT Maven Make
DB delta scripts
Source Control
Continuous Integration Engine
Artifacts
Dev DB
Check out all and build
PROD UAT QA
CRUISE Database
PROD UAT QA Environment
Apply DB delta scripts
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Demo: Integration
Shows DBA/Developer collaboration Allows to experiment with design options Shows DBA involvement in the design of the functionality being developed Shows developers changing the model in their local schema Shows how migration scripts gets tested Shows integration in version control
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
6
Database Refactoring
A database refactoring is a simple change to a database schema that improves its design while retaining both its behavioral and informational semantics A database refactoring can include both structural aspects such as table and view definitions as well as functional aspects such as stored procedures and triggers www.databaserefactoring.com Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
7
Database refactoring is Hard. Other Applications You Know About
Your Application
Persistence Frameworks
Other Applications You Don't Know About
Your Database Data Imports
Other Databases Data Extracts
Data File
Data File Test Code
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Continuous Refactoring Controlled release
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
8
Demo: Merge Columns
Isolated change Use of dbdeploy Developer involvement Migration and new development How application build, links to database version
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Demo: Assert Database Behavior
Like any framework test your database These tests are your database specification No inadvertent change can be made to the database. Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
9
First deployment
Should be handled almost exactly the same as deploying code Database creation script is used to create the production instance of the database. Branch code if necessary The production instance will be either a clean copy of the application database schema or full of converted data
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Demo: Deployment
Shows DBA tasks Shows time saved by the DBA Shows how there are no extra step to extract the schema and create scripts for deployment Shows how application and database are coupled
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
10
Manage Additional Releases
All of the change scripts should be applied following the last production release. In chronological order. (Change Logs are stored by Build/Release/Day/Sequential) Since data migration scripts are part of change logs, data is also migrated Allows to test the migration on a test database for performance impacts
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Additional Releases
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
11
Fast Forward
Production database instances can be migrated to a future state of deployment. New application releases can be acceptance tested against the most recent data currently in production. Migrations can be tested continuously against copy of production data.
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
Boat Metaphor (Deploy Frequently)
Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..
12
More Info
Keep in touch www.sadalage.com Additional Resources groups.yahoo.com/group/agileDatabases databaserefactoring.com martinfowler.com dbdeploy.com Copyright 2007 Pramod Sadalage. All rights reserved. Do not copy or distribute without permission..