Evolutionary Database Design

preview_player
Показать описание
This talk was delivered at SA Agile September 2014 hosted at SA Home Loans.

For many decades now both developers and DBA's have viewed the database as somewhat of a slow moving monolith which should be altered as little as possible and designed very clearly upfront. This mind set often leads to large parts of the database becoming unused but never being cleaned. It also leads to the classic issue of tables that no one wants to clean out because they still contain a single column that is being used by some part of the solution... but no one remembers why or how.
Databases, like our code, are an integral cog in the solutions we work with. This is especially true in the Enterprise space, and as such need to be maintained with the same diligence as code.

Refactoring a database? What an absurd concept!

In this presentation Chris shares how the Kaleidocode team has successfully been applying agile principles in database design and maintenance on all Kaleidocode projects and products with great success for years.

Chris will be sharing the practices and principles applied to some of Kaleidocode's largest and most complex database projects, including a commercial banking product, hosted by one of South Africa’s largest banks, which managed 2 Billion Rand per annum and was successfully migrated between major versions (2.0 to 4.2) with literally almost zero downtime.

We have been very fortunate that the guys at SA Agile, thanks Steve, have given us permission to upload this talk that we did at the September 2014 SA Agile Meetup hosted at SA Home Loans, 16 September 2014.

Рекомендации по теме
Комментарии
Автор

6:11 (what is) evolutionary database design
7:51 strategies
7:54 script all the changes
9:01 small steps are easy to apply
11:03 move column refactor
11:29
12:38 1st refactor: introduce email column to employee
13:30 also need a script: move data (email) from one User table to Employee table
15:40 version database/schema
16:15 uniquely identify changes
17:56 include configuration tables
18:04 change log table
18:36 make your scripts idempotent

ruixue
Автор

19:22 apply domain-driven design principles
22:40 DB sync master

ruixue
Автор

HI, What happens some alter settings not support as alter commend.

databaseusergroup