The Interweb Home of Tim J Chadwick     


Compliance, Data Warehousing and SVN, Continued

Tuesday, November 30th, 1999 (Posted in Life)

In a previous post I outlined a strategy for using SVN in a warehouse environment.  This article assumes the same context, and adds more details to the eventual outcome. It has been a couple of months, and when I began I intended to use SVN Merge to synchronize development within two separate locations of our source repository: Applications and DataWarehouse.  After some review with a professional release engineer, we concluded that simply storing all of the database objects within their own scope and not including such objects within the Application scope would be fine.  I was all for it because it simplified the process for our engineers, and forced us to face that a DW environment is sufficiently complex to void any idea of an entire “application” being stored within a single source location.  A datawarehouse is itself an entire application with layers that call for their own source location more than any particular application of reporting.  Specifically, the database is often the most significant location of source, on which many applications can sit.

With that decision several steps were required to get our source control strategy to take effect.

1.  A source baseline needed to be seeded.

With no true tiered environment the production source was sitting in production.  This included several database schemas and their objects, all kinds of shell scripting and PERL on various Linux nodes, various Java applications, Windows shell, batch and VBS scripting, and all the configuration that goes with that.

2.  The SVN workflow needed to be taught to the engineers.

This was a startup datawarehouse, and had excellent database engineers and reporting analysts - specific skills that differ from many application development environments.  Though the seniors were familar with using source control, SVN was new to them.  Many were used to environments that locked files when in edit mode, whereas SVN modeled a concurrent development workflow that relied on difference tools to merge multiple codelines.

3.  The software needed to be distributed and controled.

Comments are closed.