Refactoring Databases
( Scott W. Ambler, Pramod J. Sadalage )
This book does more than reaching the goal of documenting a safe and disciplined way of changing database schemas. 'Refactoring Databases' supports the introduction of agile principles into the world of data, and takes a practical first step in the direction of uniting both worlds.
In the first chapters the authors touch upon the required working environment like developer sandboxes, database testing and schema versioning. You will be guided trough the refactoring process and informed of strategies learned from real world experiences.
At this point the stage is set for the refactorings in the extensive catalog that takes up the second part of the book. By describing the motivation for the changes along with their trade-offs, mechanics and impact on existing application code, Pramod and Scott show us how to evolve data structures and data. As a result you will learn how to free your application development from the limits imposed by a legacy data model.
Database refactorings differ from their instant application code counterparts by requiring a transition period. Even though the effect of this period on the schema structure and performance after cumulative refactorings could have been made more clear in an elaborate example, this offers an elegant solution for the problems encountered in environments with multiple applications.
This work challenged me in my thinking about agility and database design, and is most certainly worth your attention.
-- Janick Reynders
|