While making some changes (read: mistakes) to my ETL business logic the other day, it occurred to me much too late that those unfortunate changes had replaced the once properly working logic with now very flawed logic. The good news was that I remembered what the working logic was supposed to be. The bad news, I had to re-create it. Had I had the working logic already checked-in under version control, I could have saved myself the two hours of wasted time and effort. In an ETL team development setting, these types of issues could easily multiply and significantly impede developer progress and productivity.
Version control makes it possible to have multiple people developing together and working on same project. If I am working on something, a fellow ETL developer will not be able to check it out and make changes to it until I am finished with my changes and check those back in. This addresses the common situation where one developer’s project artifact and code changes clobber that of another developer by accident.
Another reason to have version control is that it gives the developer confidence to try different modifications to the logic without having to worry about a negative impact to the previously developed logic. Sure, I could always save off my work and create a copy to try things out on. However, in my experience, I would wind up with various different copies all over the place and it would then become difficult to keep track of what’s what. Version control allows me to capture and document relevant information about whatever I am checking in.
Finally, version control maintains a history of changes that have been made to the application logic. In some environments, this information and traceability can prove extremely valuable if not necessary. Ever wonder when a bug was introduced into the application logic?
The expressor Studio desktop ETL tool allows developers to seamlessly check-in and -out project artifacts to expressor’s Repository, which supports version control and is available as part of their Standard Edition product offering.
Many data integration solutions do not have built-in version control. Most offer some way to interface to version control systems, but expressor has it built-in with their Standard Edition product offering. I requested a trial license to play with it and was pleasantly surprised at expressor’s seamless version control integration. There was no need to do any separate 3rd party download, install, and configuration. With expressor, check-in and check-out was almost transparent. As someone who has developed ETL solutions, I really appreciated the clean and simple approach expressor has taken. I have no doubt this would help make any ETL project go smoother and faster.
You can request a free 30-day trial of the expressor Standard Edition, or download their free expressor Studio community ETL tool at their site.
Reference: Pinal Dave (http://blog.SQLAuthority.com)